Retrouvez LOOTUS au catalogue de formation 2021 de We Network du 28 au 30 septembre 2021

Objectifs

Par une approche pratique et pragmatique, venez apprendre à sécuriser l’exécution du code, protéger la propriété intellectuelle et être capable de mettre à jour son système embarqué de manière sûre par la mise en place entre autre d’une chaîne de démarrage sécurisée par l’usage de la cryptographie. Les objectifs de cette formation sont les suivants :

    • Comprendre les vecteurs d’intrusion des mécanismes de communication et de mise à jour
    • Concevoir la sécurité de bout en bout de la mise à jour de ses logiciels
    • Appréhender la cryptographie par la pratique
    • Concevoir un Bootloader avec sa chaîne de confiance
    • Apprendre à déployer et mettre à disposition ses Firmware

Prérequis

Il est fortement recommandé :

    • la possibilité d’installer une machine virtuelle (instruction de virtualisation activée dans le BIOS)
    • 15-20 Go d’espace libre (pour déposer et déployer la machine virtuelle)
    • 6-8 Go de RAM
      2 ports USB
    • 1 fichier OVA pour déployer simplement la VM sera fourni
    • Avoir déjà installer un outil de virtualisation (l’utilisation de Vmware Player (gratuit), Workstation (payant) ou Vmware Fusion Player pour mac (gratuit) ou (Fusion payant) est recommandé. VirtualBox peut fonctionner, mais aucune assistance ne sera apportée.

Public concerné

Ingénieurs et techniciens en charge du développement embarqué (microcontrôleur)

Moyens pédagogiques

    • QCM (en début et fin de session)
    • Support de cours PowerPoint (en français)
    • Travaux pratiques (en cours de formation)

Programme – 3 jours

Introduction à la cybersécurité des objets connectés

    • État de l’art, vocabulaire, exemple concret, références
    • Présentation générale et prise de contexte
    • Comprendre les menaces par le rappel des méthodes offensives employées en IoT, mais aussi en IT
    • Comprendre la chaine complète

Les fondements d’une mise à jour à distance

    • Les enjeux de la mise à jour à distance
    • Comment gérer le processus de mise à jour en production
    • Le rôle du Bootloader
    • Les biens à protéger ? (confidentialité, intégrité, provenance, le retour arrière de version)
    • Niveau de protection de la FLASH / RAM RDP / CRP (niveau 0,1 2…)
    • Comment mettre en place un système de mise à jour sécurisé ?
    • Chiffrement / signature d’un Firmware, est-ce toujours nécessaire ?
    • Mise à disposition du Firmware depuis le cloud ?
    • Les risques de cybersécurité liés à l’utilisation de circuits externes gérant les communications telles qu’un module Bluetooth, Wifi (clé Wifi, clé d’appairage Bluetooth, comment les protéger ?)
    • L’intérêt du chiffrement de bout en bout
    • Gestion de projet et gestion du risque cyber dans l’ensemble du processus (Secure by design et SDLC)

Cryptographie

    • Introduction à la cryptographie
    • Présentation des algorithmes Asymétrique / Symétrique / Hash
    • Comment choisir un algorithme de chiffrement et s’assurer de son implémentation
    • Introduction au démarrage sécurisé (Secure Boot)
    • Comment stocker ses secrets (TPM, Secure Element, readback protection)
    • L’entropie le secret de la cryptographie ?
    • Système anti brute force (exponentiation du temps)
    • Déni de service
    • Espace de clés
    • Algorithme de dérivation de clé
    • Choix d’un mot de passe
    • Attaque par dictionnaire (sel, poivre)
    • Génération de nombres aléatoires (PRGN, TRGN…) : choix des clés / IV et génération de clés

TP : Manipuler la cryptographie

    • Manipuler la cryptographie dans l’embarqué (C et C++) sur plateforme STM32
    • Manipuler la cryptographie dans le mobile (Android)
    • Manipuler la cryptographie dans le Web

TP : Déployer et mettre à disposition ses Firmwares

    • Comprendre le Web, savoir identifier les principales menaces et être capable de distribuer ses Firmwares de manière sûrs
    • Introduction aux vulnérabilités du monde Web
    • Mettre en place un échange TLS digne de confiance (HTTPS) (gestion et déploiement de certificats)
      Comprendre et implémenter de la sécurité de bout en bout (notamment le chiffrement et la signature)

TP : Concevoir un Bootloader avec sa chaîne de confiance

    • Développer son propre Bootloader sécurisé qui communique avec son cloud sécurisé
    • Chiffrer, signer et mettre à disposition son propre Firmware
    • Prendre en compte et implémenter les contrôles nécessaires dans l’objet connecté