Cybersécurité des systèmes embarqués pour les développeurs
3 jours · Rappel des normes EN 18031 et Cyber Resilience Act
Cette formation vous présente les principales vulnérabilités possibles d'un système embarqué au niveau hardware & software et vous aide à préparer votre défense en proposant une introduction aux normes de cybersécurité, à la cryptographie ainsi qu'à l'approche Secure by Design.
Des exercices sont proposés sur le mécanisme du FOTA pour la mise à jour du logiciel à distance et sur la sécurité avancée avec ARM TrustZone.

Programme
Jour 1 : Introduction à la cybersécurité des systèmes embarqués
Module 1 : État des lieux de la cybersécurité des systèmes embarqués
- Top 10 des menaces les plus courantes
- Pourquoi sécuriser son système embarqué : protéger l'infrastructure réseau, les biens ou la sécurité physique du client final, la propriété intellectuelle
- Niveau de maturité des produits embarqués actuels en matière de sécurité
- Sécurité des systèmes à base de MCU vs MPU
- Verrous techniques et contraintes liées à la sécurisation des produits embarqués
Module 2 : Taxonomie des attaques contre les systèmes embarqués à base de MCU
- L'analyse préliminaire d'un produit : recherche de vulnérabilités publiques, rétro-ingénierie matérielle et logicielle
- La découverte de vulnérabilités : méthodes passives (écoute réseau, probing, side-channel) et méthodes actives (fuzzing aux interfaces et ports de debug)
- Exploitation de vulnérabilités : attaques RF par SDR (spoofing GPS, répéteur RF, sécurité du GSM…), attaques réseau, attaques logicielles (buffer/int overflow), attaques side-channel avec et sans accès physique, attaques par glitches électriques
- Cas pratique : analyse de sécurité de la clé de chiffrement Wookey de l'ANSSI
Module 3 (partie 1) : TP mise en place d'un mécanisme de FOTA et démarrage sécurisé
- Présentation de MCUboot : modes de mise à jour, anti-rollback, chiffrement du firmware
- Configuration et déploiement de MCUboot avec Zephyr OS
TP : configuration et déploiement de MCUboot avec Zephyr OS
Jour 2 : Préparer sa défense
Module 4 : Analyse de risque et cadre réglementaire
- Cadre réglementaire (EN 18031, Cyber Resilience Act, certification CSPN…)
- Définir son problème de sécurité : biens, menaces, modèle d'attaquant, hypothèses
- Analyser le risque de façon simple
- Évaluer la gravité d'une attaque (méthode ANSSI CSPN)
- Cas pratique : rédaction d'une ébauche de cible de sécurité pour tracking d'assets, smart meter ou caméra connectée
Module 5 : Notions de cryptographie
- Cryptographie symétrique authentifiée ou non : AES et ses modes de chiffrement
- Cryptographie à clé publique et PKI : RSA et ECDSA, négociation de clés, introduction au concept de PKI
- Algorithmes de hachage et de MAC : SHA, HMAC, CMAC
- Diversification des clés cryptographiques et génération d'aléa
Module 3 (partie 2) : TP FOTA et démarrage sécurisé
- Suite et fin du TP.
Suite et fin du TP mécanisme de FOTA et démarrage sécurisé
Module 7 (partie 1) : TP mise en place d'une connexion TLS avec MbedTLS et Zephyr OS
- Développement d'un serveur echo non sécurisé
- Génération d'une infrastructure PKI avec OpenSSL
- Développement d'un serveur echo sécurisé avec TLS
Jour 3 : L'approche Secure by Design
Module 8 : Développer de façon sécurisée
- Les bonnes pratiques
- Processus de développement
- Étude de cas pratiques : recherche de vulnérabilités, durcissement de code
Module 9 : Mécanismes de sécurité génériques
- Cycle de vie pour la sécurité
- Attestation
- Démarrage sécurisé
- Mise à jour sécurisée
- Communications sécurisées
- Partitionnement logique
- Binding
Module 10 : Sécurité avancée avec ARM TrustZone
- Zoom sur l'extension de sécurité TrustZone pour Cortex M23 et M33
- Présentation générale du TF-M
- Les services de sécurité offerts par le TF-M
- Le problème du provisionnement des clés à grande échelle
Module 7 (partie 2) : TP TLS avec MbedTLS et Zephyr OS
- Suite et fin du TP.
Suite et fin du TP connexion TLS avec MbedTLS et Zephyr OS
