ac6-training, un département d'Ac6 SAS
FR
FrançaisEnglish
 
go-up

ac6 ac6-training Programmation Safety and security Développement C/C++ de systèmes embarqués sécurisés
SEC1

Développement C/C++ de systèmes embarqués sécurisés

Objectifs

  • Introduction à la sécurité intégrée et aux normes industrielles, notamment ISO/SAE 21434, IEC 62443, NIST SP 800-53, Common Criteria et OWASP.
  • Apprendre les bonnes pratiques de codage sécurisé pour les langages de programmation C/C++, y compris les meilleures pratiques pour la gestion de la mémoire, la validation des entrées et la gestion des erreurs.
  • Introduction au langage de programmation RUST et à ses fonctionnalités de sécurité intégrées, telles que la sécurité de la mémoire et la sécurité des types.
  • Apprendre les méthodologies de développement de logiciels sécurisés, notamment la modélisation des menaces, les principes de conception sécurisés et les normes de codage sécurisé.
  • Introduire des techniques pour garantir la sécurité dans les systèmes intégrés, notamment les tests de sécurité, la provision de sécurité et les processus de démarrage sécurisés.
  • Introduction à la cryptographie dans les systèmes intégrés.
  • Le cours couvre la conception et la mise en Œuvre de l'architecture matérielle sécurisée des systèmes intégrés, notamment les processus de démarrage sécurisés et les protocoles de communication sécurisés.
  • Apprendre la communication sécurisée dans les systèmes intégrés, y compris les protocoles de réseau, les protocoles de communication sécurisés et le transfert de données sécurisé.
  • Obtenir un aperçu des problèmes de sécurité et des meilleures pratiques pour les dispositifs et les systèmes IoT (Internet des objets).
  • Quelques notions de programmation sont souhaitables (quel que soit le langage)
  • Cours théorique
    • Support de cours au format PDF (en anglais)
    • Cours dispensé via le système de visioconférence Teams
    • Le formateur répond aux questions des stagiaires en direct pendant la formation et fournit une assistance technique et pédagogique
  • Activités pratiques
    • Les activités pratiques représentent de 40% à 50% de la durée du cours
    • Elles permettent de valider ou compléter les connaissances acquises pendant le cours théorique.
    • Un PC Linux en ligne par stagiaire pour les activités pratiques
    • Exemples de code, exercices et solutions
    • Le formateur a accès aux PC en ligne des stagiaires pour l'assistance technique et pédagogique
    • Certains travaux pratiques peuvent être réalisés entre les sessions et sont vérifiés par le formateur lors de la session suivante
  • Une machine virtuelle préconfigurée téléchargeable pour les activités pratiques après le cours
  • Au début de chaque demi-journée une période est réservée à une interaction avec les stagiaires pour s'assurer que le cours répond à leurs attentes et l'adapter si nécessaire
  • Tout ingénieur ou technicien en systèmes embarqués possédant les prérequis ci-dessus
  • Totale : 18 heures
  • 3 sessions de 6 heures chacune
  • De 40% à 50% du temps de formation est consacré aux activités pratiques
  • Certains travaux pratiques peuvent être réalisés entre les sessions et sont vérifiés par le formateur lors de la session suivante
  • Les prérequis sont vérifiés avant l'entrée en formation, sur la base des prérequis publiés sur cette fiche.
  • Pendant la formation, les acquis sont évalués en continu : quiz de fin de séquence et observation directe du formateur.
  • À l'issue de la formation, chaque participant reçoit une attestation de fin de formation.

Plan du cours

  • Tendances de la sécurité de l'embarqué
    • Complexité des systèmes embarqués
    • Attaques sophistiquées
    • Consolidation des processeurs
  • Politiques de sécurité
    • Une sécurité parfaite ?
    • Les défis de la sécurité de l'embarqué
    • Confidentialité, intégrité et disponibilité
    • Isolation
    • Contrôle des flux d'information
    • Politiques de sécurité physique
  • Menaces de sécurité
    • Synthèse des problématiques
    • Exploits et cyberattaques
  • Systèmes existants
    • Capacité de mise à jour
    • Sécurisation des systèmes existants
    • Exigences du projet
    • Les performances ?
  • Normes de sécurité
  • Normes de sécurité recommandées pour l'IoT
  • C sécurisé
    • Préprocesseur et macros
    • Compilation, déclaration, définition et initialisation
    • Types
    • Pointeurs et tableaux
    • Structures et unions
    • Expressions
    • Structures conditionnelles et itératives
    • Fonctions
    • Gestion de la mémoire
    • Gestion des erreurs
    • Bibliothèques standard
  • C++ sécurisé
    • Déclarations et initialisation
    • Expressions
    • Entiers
    • Conteneurs
    • Caractères et chaînes
    • Gestion de la mémoire
    • Entrées/sorties
    • Exceptions et gestion des erreurs
    • Programmation orientée objet
    • Concurrence
    • Divers
  • Environnement de développement
  • Bibliothèques
  • Généralités sur le langage
  • Gestion de la mémoire
  • Système de types
  • Interface avec les fonctions externes (FFI)
  • Recommandations
  • Modélisation des menaces (threat modelling)
    • Introduction au threat modeling
    • Exemples de threat models
  • Analyse de risque
  • Software Assurance Maturity Model (SAMM)
  • Platform Security architecture (PSA)
  • Cadres méthodologiques et normes
  • Security Knowledge Framework et certifications
  • Introduction
  • Tests de sécurité
    • Tests de pénétration
    • Recherche de vulnérabilités
    • Évaluation des risques
    • Analyse statique
    • Analyse dynamique
    • Fuzzing de protocoles
  • Mise en place de la sécurité
    • Gestion de la configuration de sécurité
    • Gestion des identités et des accès
    • Réponse et gestion des incidents
    • Conformité et exigences réglementaires
  • Panorama des outils de test de sécurité
  • Vue d'ensemble de la cryptographie
  • Cryptographie classique
  • Assurance de l'information
  • Chiffrement symétrique
  • Chiffrement asymétrique
  • Génération de nombres aléatoires
  • Intégrité et authentification
  • Authentification des accès
  • Cryptographie sur courbes elliptiques
  • Certificats et infrastructures à clés publiques
  • Règles et recommandations
  • Panorama des accélérateurs cryptographiques
  • ARM TrustZone
  • Intel Software Guard eXtensions
  • Vue d'ensemble de la sécurité des SoC
    • Protection mémoire
    • Panorama du Trusted Boot et de la mise à jour du firmware
    • Secure Elements
    • Trusted Platform Module (TPM)
    • Hardware Security Module (HSM)
  • Introduction
  • Transport Layer Security (TLS)
  • IPsec/IKE
  • Couche réseau
  • Architecture IoT sécurisée
  • Normes et recommandations IoT
  • Architecture et pratiques de développement logiciel
  • Cryptologie
  • Sécurité logicielle
  • Protection matérielle
  • Sécurité réseau
  • Cycle de vie et support
Plus d'information

Pour vous enregistrer ou pour toute information supplémentaire, contactez nous par email à l'adresse info@ac6-formation.com.

Les inscriptions aux sessions de formation sont acceptées jusqu'à une semaine avant le début de la formation. Pour une inscription plus tardive nous consulter

Vous pouvez aussi remplir et nous envoyer le bulletin d'inscription

Ce cours peut être dispensé dans notre centre de formation près de Paris ou dans vos locaux, en France ou dans le monde entier.

Les sessions inter-entreprises programmées sont ouvertes dès deux inscrits. Sous condition d'un dossier complet, les inscriptions sont acceptées jusqu'à une semaine avant le début de la formation.

Dernière mise à jour du plan de cours : 2 juillet 2026

L'inscription à nos formations est soumise à nos Conditions Générales de Vente

Sur le même sujet :

Yocto ou Buildroot : comment choisir pour votre projet Linux embarqué