TrustnGo

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

Travaillons ensemble

Obtenez un devis

Je suis intéressé par