TrustnGo

Sécurisation de systèmes Linux embarqués avec Yocto

3 jours · En présentiel ou à distance · Connaissance de Yocto Linux

Une formation technique complète pour durcir un système Linux embarqué basé sur Yocto : de la cryptographie appliquée et la chaîne de confiance matérielle jusqu'au durcissement du noyau, du userspace, des services et de la sécurité réseau.

Programme

Jour 1

Menaces et cadre réglementaire

  • Panorama des cybermenaces sur les produits connectés
  • Principes de sécurité par conception (secure-by-design) et configuration sécurisée par défaut (secure-by-default) : défense en profondeur, moindre privilège
  • Cyber Resilience Act : périmètre, objectifs, catégories de produits
  • Répartition des responsabilités entre fabricant, importateur et distributeur
  • Calendrier d'application et sanctions
  • Modélisation des menaces, STRIDE

Exercice : amorçage d'un projet Yocto

Cryptographie appliquée

  • Services cryptographiques et leurs limites
  • Intégrité : hachage et codes d'authentification de message
  • Confidentialité : chiffrement symétrique et asymétrique
  • Authenticité : signature numérique et infrastructure à clé publique (PKI)
  • Robustesse des secrets et génération d'aléa
  • Gestion opérationnelle des secrets en production

Chaîne de confiance : du matériel au rootfs

  • Attaques matérielles et modèle de menace physique
  • Racines de confiance matérielles : OTP, TPM, secure enclaves (TEE, TrustZone)
  • Démarrage sécurisé (secure boot), chaîne de confiance depuis le premier code exécuté
  • Environnement d'exécution sécurisé (TEE) et module de confiance logiciel (fTPM)
  • Intégrité et confidentialité du système de fichiers racine

Exercice : construction d'une séquence de démarrage vérifiée, avec intégrité et confidentialité du système de fichiers racine

Jour 2

Renforcement de la toolchain et du code

  • Composants de la chaîne de compilation, retrait des symboles de debug
  • Vulnérabilités mémoire classiques (buffer overflow, use-after-free)
  • Options de durcissement du compilateur
  • Détection dynamique par outils d'instrumentation (sanitizers)
  • Analyse statique et fuzzing
  • Bonnes pratiques de codage

Exercice : recherche et correction de vulnérabilités

Distribution sécurisée et exigences du CRA

  • Minimisation de l'image et des fonctionnalités
  • Choix d'une distribution à support étendu (LTS) et cycle de maintenance
  • Génération et formats de la nomenclature logicielle (SBOM)
  • Suivi et priorisation des vulnérabilités (CVE, CVSS, EPSS)
  • Obligations de notification du CRA
  • Sécurisation des mises à jour (firmware over-the-air, OTA)

Exercice : génération d'une SBoM et application d'un patch

Durcissement du noyau Linux et du bootloader

  • Durcissement du chargeur de démarrage
  • Vérification de signature du noyau et de sa ligne de commande
  • Options de configuration noyau orientées sécurité
  • Paramètres système à l'exécution (sysctl)
  • Signature des modules noyau
  • Vérification automatisée du durcissement

Exercice : configuration sécurisée du noyau (CONFIG_*, sysctl, cmdline) et tests fonctionnels

Jour 3

Durcissement du userspace

  • Permissions Unix, bits setuid/setgid, capacités de fichier (capabilities)
  • Partitionnement et options de montage
  • Comptes, mots de passe et authentification modulaire (PAM)
  • Sécurisation de l'accès distant
  • Linux Security Modules
  • Namespaces et groupes de contrôle (cgroups) comme isolation complémentaire

Exercice : manipulation des droits d'accès aux fichiers, contrôle de cohérence du système de fichiers obtenu

Durcissement des services, journalisation et audit

  • Réduction du privilège de départ d'un service
  • Directives de confinement (sandboxing) du gestionnaire de services
  • Filtrage d'appels système (seccomp)
  • Évaluation du niveau de durcissement
  • Journalisation et intégrité des traces
  • Audit noyau (auditd)

Exercice : évaluation puis réduction des droits accordés à un service, mise en place d'une règle de suivi

Sécurité réseau

  • Principes et surface d'exposition réseau
  • Isolation réseau et segmentation
  • Pare-feu et filtrage des flux
  • Protocoles de communication sécurisés (TLS, mTLS)
  • Frameworks d'authentification réseau
  • Tests d'intrusion réseau (pentest)

Exercice : contrôle puis renforcement de la sécurité d'un service exposé sur le réseau

Travaillons ensemble

Obtenez un devis

Je suis intéressé par