EMBEDDED SYSTEM SECURITY
Pr. Mohammed Bouhorma
[Link]@[Link]
Evaluation du module
CF
50%
CC QCM TPs/Présence Exposés Projet
50%
30% 15% 30% 10% 15%
EMBEDDED SYSTEM SECURITY 2
IOT SECURITY
Déroulement du module: EMBEDDED SYSTEM SECURITY
IOT SECURITY
EMBEDDED SYSTEM SECURITY 3
IOT SECURITY
Module 1 : Introduction à la Sécurité des Systèmes
Embarqués et IoT
• Architecture des systèmes embarqués
• Enjeux de la sécurité dans l'IoT
• Exemples d'attaques et contre-mesures
EMBEDDED SYSTEM SECURITY 4
IOT SECURITY
Expérimentations et Ateliers
EMBEDDED SYSTEM SECURITY 5
IOT SECURITY
Définition d'un système embarqué
Un système embarqué est défini comme :
• un système électronique et informatique autonome,
• souvent temps réel,
• spécialisé dans une tâche précise.
Ses ressources sont généralement :
• limitées spatialement (encombrement réduit)
• énergétiquement (consommation restreinte).
EMBEDDED SYSTEM SECURITY 6
IOT SECURITY
Quelques exemples de systèmes embarqués
Systèmes de chauffage central Systèmes GPS Traqueurs de fitness
Dispositifs médicaux Systèmes automobiles Kiosques interactifs Stations de recharge
EMBEDDED SYSTEM SECURITY 7
IOT SECURITY
1. Architecture des systèmes embarqués
Un système embarqué est un processus
qui produit des sorties à partir d'entrées
qu'il collecte depuis son environnement
8
1. Architecture des systèmes embarqués
Ce schéma représente l'architecture d'un système embarqué. Il illustre les principaux composants
matériels et leurs interactions au sein d'un microcontrôleur ou microprocesseur utilisé dans les systèmes
embarqués.
9
Un système embarqué est un système informatique/électronique spécialisé conçu
pour effectuer une tâche spécifique au sein d’un dispositif plus large (automobile,
IoT, avionique, domotique, etc.).
10
Définition et caractéristiques
Contraintes matérielles
• Ressources limitées (mémoire, puissance de calcul, consommation d’énergie).
• Utilisation de microcontrôleurs, processeurs basse consommation, capteurs, et actionneurs.
Architecture matérielle
Composants essentiels :
• Unité centrale de traitement (CPU)
• Mémoire (RAM, Flash)
• Interfaces de communication (SPI, I2C, UART, CAN)
Architecture logicielle
• Firmware : Code bas niveau qui contrôle le matériel.
• Systèmes d’exploitation temps réel (RTOS) : Pour garantir des réponses rapides et prévisibles
(FreeRTOS, Zephyr, etc.).
• Applications spécifiques : Logiciels dédiés au contrôle, à la collecte de données, ou à la communication.
11
Les Enjeux de Sécurité des Systèmes Embarqués
12
Exemples d'attaques et contre-mesures
• Attaques par déni de service (DoS) :
Saturation des réseaux ou des dispositifs pour les rendre inaccessibles.
• Interceptions de communication (MITM) :
Insertion d’un attaquant entre deux dispositifs pour intercepter ou altérer les données
échangées.
• Exploitation de vulnérabilités du firmware :
Buffer overflow, injection de code malveillant ou modifications non autorisées.
• Attaques sur la chaîne d’approvisionnement :
Compromission du matériel ou du logiciel avant son déploiement dans le dispositif
final.
• Accès non autorisé et exfiltration de données : 13
Piratage des dispositifs pour collecter des données sensibles.
EMBEDDED SYSTEM SECURITY 14
IOT SECURITY
Contre-mesures proposées
• Sécurisation des communications :
Utilisation de protocoles chiffrés (TLS/SSL, VPN) pour protéger les échanges de données.
• Authentification et autorisation renforcées :
Mise en œuvre d’authentification forte (certificats numériques, authentification multifactorielle).
• Mise à jour régulière du firmware :
Processus sécurisé de mise à jour pour corriger les vulnérabilités dès qu’elles sont découvertes.
• Segmentation du réseau et pare-feu :
Isolation des dispositifs IoT dans des réseaux spécifiques pour limiter l’impact d’une éventuelle
compromission.
• Sécurité dès la conception (Security by Design) :
Intégrer les meilleures pratiques de sécurité dans le cycle de développement des systèmes embarqués.
• Surveillance et détection d’anomalies :
Mise en place de systèmes de détection d’intrusion et de monitoring pour repérer rapidement des 15
comportements anormaux.
Exemples d'attaques et contre-mesures
Les systèmes embarqués sont au cœur de notre société numérique et leur sécurité
est un défi majeur. La compréhension des vulnérabilités et des solutions de
protection est essentielle pour garantir leur fiabilité et leur résilience face aux
cybermenaces.
Ce cours abordera les techniques de sécurisation des systèmes embarqués, en
s’appuyant sur des outils comme Binwalk, Wireshark, et OpenSSL, et en explorant
des attaques concrètes via des exercices pratiques.
1. Principes des attaques physiques des systèmes embarqués
• Attaques par canal auxiliaire et canal caché
• Attaques par injection de fautes
• Protections
Titre de la présentation 16
Principes des attaques physiques des systèmes embarqués
Les systèmes embarqués sont souvent vulnérables à des attaques physiques
car ils sont déployés dans des environnements où un attaquant peut avoir un
accès direct au matériel.
Ces attaques peuvent compromettre la confidentialité, l'intégrité et la
disponibilité des systèmes embarqués, souvent dans le but de récupérer des
secrets cryptographiques ou d'altérer leur fonctionnement.
Titre de la présentation 17
Attaques par canal auxiliaire et canal caché
Les attaques par canaux auxiliaires (side-
channel attacks en anglais) sont une famille
d’attaques consistant à extraire une
information par la récupération et
l’interprétation de signaux émis
« involontairement » par un système
(vibrations, activité électromagnétique,
consommation électrique, bruit, temps
d’exécution…)
Une Side-Channel Attack exploite des informations physiques émises par
un système (consommation d’énergie, rayonnements électromagnétiques,
temps d’exécution, bruit sonore) pour déduire des données sensibles.
Titre de la présentation 18
Pourquoi ces attaques sont dangereuses ?
Elles ne nécessitent pas de modifier le logiciel ni d’avoir accès au code source. Un
attaquant peut espionner un dispositif en analysant son comportement
physique.
Exemple d'attaque
• Vol de clé sur une carte bancaire : En analysant la consommation d’énergie
lors du chiffrement, un attaquant peut extraire la clé secrète.
• Attaque TEMPEST : Capture des signaux électromagnétiques émis par un
écran ou un clavier pour reconstruire les données affichées ou tapées.
Titre de la présentation 19
Attaques par injection de fautes
Ces attaques consistent à perturber le fonctionnement normal d'un système embarqué
afin de provoquer des erreurs exploitables par un attaquant.
Exemple: Rayonnement électromagnétique (Electromagnetic Fault Injection - EMI) :
Utilisation de fortes impulsions électromagnétiques pour perturber les circuits.
Objectifs des attaques par fautes :
• Bypasser des protections de sécurité (ex: vérifications de signature).
• Attaque laser: Envoi d’un faisceau laser sur le silicium pour perturber les transistors
et modifier les calculs en cours.
• Utilisée pour extraire les clés cryptographiques stockées dans des circuits protégés.
Titre de la présentation 20
Attaques en Reverse Engineering et Side-Channel Attacks
Dans le cadre de la sécurité des
systèmes embarqués, deux types
d’attaques sont particulièrement
préoccupants : le Reverse
Engineering et les Side-Channel
Attacks. Ces attaques permettent à
un attaquant d’analyser le
fonctionnement interne d’un système
embarqué pour en extraire des
informations sensibles ou
compromettre son intégrité.
Titre de la présentation 21
Reverse Engineering (Ingénierie Inverse)
Le Reverse Engineering consiste à analyser un programme, un circuit électronique ou un
firmware afin de comprendre son fonctionnement interne. Cette technique est souvent utilisée
pour trouver des vulnérabilités, bypasser des protections ou copier un produit.
Objectifs d'une attaque en Reverse Engineering
• Extraire des secrets (ex : clés cryptographiques, algorithmes propriétaires).
• Identifier des failles dans le code ou le matériel.
• Créer des contrefaçons en copiant un produit sans documentation officielle.
• Désactiver des protections (ex : suppression d’une restriction logicielle sur un
microcontrôleur).
Titre de la présentation 22
Techniques utilisées
• Désassemblage/Décompilation : Analyse du code machine d'un firmware
pour en extraire la logique.
• Dump mémoire : Récupération du contenu de la mémoire RAM/ROM d’un
microcontrôleur.
• Décapsulation de circuit : Analyse physique du matériel pour en extraire des
informations.
• Analyse des firmwares avec des outils comme Binwalk, Ghidra, IDA Pro.
Exemple d'attaque
• Hack des consoles de jeux : Les hackers utilisent le Reverse Engineering pour
comprendre les protections et créer des firmwares personnalisés.
• Extraction de firmware IoT : Un attaquant peut analyser un firmware extrait
23
d'un objet connecté pour trouver des failles exploitables.
Conclusion
• Reverse Engineering et Side-Channel Attacks sont des méthodes puissantes permettant
d’attaquer des systèmes embarqués.
• Les attaques Side-Channel sont souvent passives et difficiles à détecter, tandis que le
Reverse Engineering permet d'exploiter directement des vulnérabilités dans le code ou le
matériel.
• Des techniques de protection existent, comme le camouflage des circuits, l’obfuscation
logicielle, l’ajout de bruit aléatoire dans la consommation électrique, ou encore le
durcissement matériel contre les attaques par injection de fautes.
Titre de la présentation 24
Conclusion
Les attaques physiques sur les systèmes embarqués sont très puissantes et nécessitent des
connaissances avancées en électronique et cryptographie. Elles sont cependant contrées
par des techniques avancées de protection, qui doivent être mises en place dès la
conception du système.
Ces attaques sont utilisées dans :
• Le hacking de cartes bancaires et d’équipements IoT.
• L’analyse de firmwares pour le reverse engineering.
• Les tests de sécurité sur les équipements militaires.
Perspectives :
Les nouvelles attaques exploitent l’IA et le machine learning pour améliorer la précision
des analyses (ex: deep learning pour améliorer les attaques CPA). De même, les attaques
quantiques commencent à être explorées pour casser certains systèmes cryptographiques
embarqués.
Titre de la présentation 25
Cette citation souligne l’importance
stratégique des systèmes embarqués dans
l’évolution technologique
L’architecture comme "arme secrète"
• L’architecture détermine la performance,
l’efficacité et la fiabilité des technologies
modernes.
• Une bonne architecture optimise les
ressources, réduit la consommation d’énergie
et améliore la sécurité.
L’omniprésence des systèmes embarqués
• Intégrés dans presque tous les objets technologiques modernes : smartphones, voitures,
appareils médicaux, systèmes industriels, IoT, domotique...
• Invisible au grand public, leur impact est pourtant fondamental dans notre façon de vivre et
d’interagir avec la technologie.
EMBEDDED SYSTEM SECURITY 26
IOT SECURITY
Les systèmes embarqués sont des systèmes basés sur des
microcontrôleurs, conçus pour accomplir une tâche spécifique.
Ils constituent une fusion entre matériel informatique (hardware) et logiciel
(software) et peuvent fonctionner de manière autonome ou être intégrés à un
système plus vaste.
27
EMBEDDED SYSTEM SECURITY 28
IOT SECURITY
• Tendance à la hausse: la valeur du marché
des systèmes embarqués augmente
progressivement au fil des années.
• En 2022, la valeur était légèrement au-dessus
de 100 milliards de dollars, et elle est
projetée à environ 170-180 milliards de
dollars en 2032.
Le secteur des systèmes embarqués connaît une croissance continue, ce qui peut être dû à :
• L'augmentation de la demande pour les objets connectés.
• L'essor de l'intelligence artificielle et de l'Internet des objets (IoT).
• L'intégration de systèmes embarqués dans de nombreux secteurs (automobile, industrie, santé, etc.).
EMBEDDED SYSTEM SECURITY 29
IOT SECURITY
Prévision du marché des systèmes embarqués de 2022 à 2030
Forte croissance globale du marché des systèmes embarqués d’ici 2030
30
Cette courbe illustre la croissance du marché des RTOS (Real-Time Operating Systems) entre
2022 et 2027, exprimée en milliards de dollars USD.
Pourquoi cette croissance ?
• L’essor de l’IoT et des systèmes
embarqués qui nécessitent des OS
temps réel.
• L’augmentation des applications
critiques (automobile, aérospatiale,
Taux de croissance annuel composé (CAGR)
santé, industrie).
• L’adoption croissante des systèmes
autonomes et des objets connectés.
EMBEDDED SYSTEM SECURITY 31
IOT SECURITY
32
33
Les 4 types de systèmes embarqués
34
35
36
• Microprocesseur-based : Plus puissant, mais
dépend de composants externes.
• Microcontrôleur + mémoire externe : Un bon
compromis entre puissance et coût.
• Microcontrôleur/DSP : Simple, compact et
économique, adapté aux traitements en temps
réel.
• SoC (System-on-Chip) : Très performant et tout-
en-un, utilisé pour les applications avancées.
• Le choix du système dépend donc des besoins en
performances, en coût et en consommation
énergétique.
37
CARTES A PUCE
Une smart card (ou carte à puce ) est une carte en plastique,
généralement de la taille d'une carte bancaire, qui contient une puce
électronique.
La puce peut stocker des données et parfois aussi exécuter des
opérations (comme des calculs cryptographiques).
Il existe deux grands types de cartes à puce :
1. Cartes à contact : on les insère dans un lecteur pour que la puce touche les
connecteurs (comme une carte bancaire classique).
2. Cartes sans contact (ou contactless smartcards) : elles communiquent par
radio (RFID/NFC) avec le lecteur, juste en les approchant.
Titre de la présentation 38
Qu’est-ce qu’une carte à puce ?
• Ordinateur embarqué (microcontrôleur)
• Résistante aux tentatives de falsification
• Ressources limitées
• Intégrée dans une carte en plastique
• Faible coût
Usages typiques d’une carte à puce :
• Stockage sécurisé des données
• Traitement sécurisé des données
• Authentification
Titre de la présentation 39
Qu’est-ce qu’une carte à puce ?
Une carte à puce est un petit microcontrôleur intégré dans un support
plastique (ex. carte bancaire, carte SIM, badge d'accès...).
Elle permet :
• Le stockage sécurisé de données
• L’exécution de code embarqué (applet JavaCard, OS propriétaire)
• Une communication via protocole APDU (ISO 7816)
Titre de la présentation 40
EMBEDDED SYSTEM SECURITY 41
IOT SECURITY
Architecture interne
Titre de la présentation 42
Architecture physique d’une carte à puce
Titre de la présentation 43
Domaines d'application des cartes à puces
Titre de la présentation 44
Domaines d'application des cartes à puces
Titre de la présentation 45
Firmware d’une carte à puce
Le firmware d’une carte à puce, c’est le logiciel préinstallé dans la mémoire de la
puce (généralement en ROM ou en mémoire flash), qui permet à la carte de :
• Gérer les opérations de base (comme la communication avec le lecteur)
• Exécuter des instructions cryptographiques
• Protéger les données sensibles (en contrôlant l’accès à certaines zones mémoire
ou fonctions)
• Et dans certains cas, faire tourner un système d’exploitation spécialisé (comme
Java Card, MULTOS, etc.)
Titre de la présentation 46
Exemple de firmware : Java Card
Java Card est un système d’exploitation (ou plate-forme logicielle) embarqué dans
certaines cartes à puce.
Il sert de firmware pour permettre à la carte d’exécuter des programmes écrits en Java,
spécialement adaptés à des environnements très contraints (peu de mémoire, faible
puissance, etc.).
Ce que fait le firmware Java Card :
• Gère la communication entre la carte et le lecteur
• Fournit un environnement d’exécution sécurisé pour les applications (appelées
applets)
• Met en œuvre des algorithmes cryptographiques (RSA, AES, etc.)
• Protège les données personnelles stockées dans la carte (comme les infos d’un
passeport, ou les identifiants d’une carte bancaire)
Titre de la présentation 47
Application Protocol data Unit (APDU)
Objectif :
L’APDU est le langage de communication standardisé entre le lecteur et la carte à
puce, défini par la norme ISO/IEC 7816-4.
Chaque commande envoyée à la carte est une commande APDU, et chaque réponse
est une réponse APDU.
Une APDU contient un message de commande ou un message de réponse qui est
envoyé ou reçu vers/depuis le lecteur
48
Structure d'une commande APDU
Une commande APDU suit le format suivant : CLA INS P1 P2 Lc Data Le
Exemple : lire un fichier sur la carte → CLA=00, INS=B0, P1=00, P2=00, Le=10
Titre de la présentation 49
Structure d'une commande APDU
Titre de la présentation 50
Structure d'une commande APDU
Titre de la présentation 51
Exemple 1 : 00 A4 04 00 → SELECT FILE
• 00 → CLA (ISO/IEC 7816 standard class)
• A4 → INS (instruction SELECT)
• 04 → P1 (sélection par AID)
• 00 → P2 (sélection premier ou unique match)
Il manque ici Lc + Data → il s’agit d’une commande tronquée ou à compléter pour sélectionner
un fichier.
• 07 = Lc (7 octets d’identifiant d’application)
00 A4 04 00 07 A0 00 00 00 62 03 01 • A0000000620301 = AID de l’application à sélectionner (ex : EMV)
Exemple 2 : 00 B0 00 00 10 → READ BINARY (lecture 16 octets)
• 00 → CLA (standard)
• B0 → INS (READ BINARY)
• 00 → P1 (offset haut)
• 00 → P2 (offset bas) → offset = 0
• 10 → Le → on demande 16 octets
Cette commande tente de lire 16 octets depuis le fichier actuellement sélectionné. 52
Réponse APDU
53
Mécanismes de sécurité dans les cartes à puce
Comprendre les barrières de sécurité logicielles et matérielles mises en place pour protéger les
cartes à puce contre l’accès non autorisé, le clonage ou les attaques physiques/logiques.
Authentification par PIN: Fonction
Le détenteur de la carte doit prouver son identité via un code PIN pour accéder aux
fichiers ou opérations sécurisées (ex. lecture de certificat, signature, paiement...).
Exemple :
Commande VERIFY : 00 20 00 80 06 31 32 33 34 35 36
Authentifie l’utilisateur avec le PIN "123456".
En cas d’échec :
•La carte retourne 63 Cx (x = nombre de tentatives restantes)
•Après x essais → carte bloquée (6983)
Avantage :
•Empêche la lecture ou l’utilisation par un tiers non autorisé.
•Peut déclencher un mécanisme de destruction ou blocage.
54
Chiffrement interne (RSA, AES, 3DES)
Fonction :
Les cartes à puce peuvent exécuter des opérations cryptographiques internes, sans
jamais exposer la clé privée.
Types de cryptographie
Algorithme Usage typique
RSA (1024/2048) Signature numérique, PKI, TLS
3DES / AES Authentification mutuelle, chiffrement
SHA-1 / SHA-256 Hachage de données
La clé privée reste dans la carte et les calculs se font dans le microcontrôleur sécurisé.
55
EMBEDDED SYSTEM SECURITY 56
IOT SECURITY
Quel type de système embarqué pour les cartes à puces ?
Les cartes à puces (Smart Cards) appartiennent principalement à la catégorie des
microcontrôleurs avec mémoire intégrée. Ces systèmes sont optimisés pour la sécurité, la
faible consommation d’énergie et la miniaturisation.
Microcontrôleur unique (Single Microcontroller) avec mémoire intégrée
Caractéristiques :
• Processeur intégré (souvent 8, 16 ou 32 bits)
• Mémoire intégrée (ROM, EEPROM, RAM pour stocker les données et les clés de
chiffrement)
• Sécurité renforcée (cryptographie, protection contre les attaques physiques et
logiques)
Titre de la présentation 57
Une carte bancaire ne possède pas de batterie intégrée, mais elle obtient
son énergie de deux manières principales selon la technologie utilisée :
58
Quand on reçoi une nouvelle carte bancaire…
La carte contient déjà :
• Un microcontrôleur sécurisé
• Un système d’exploitation (souvent Java Card ou un OS propriétaire)
• Un certificat numérique signé par la banque
• Une ou plusieurs clés cryptographiques (symétriques et/ou asymétriques)
Ces clés sont personnalisées avant que la carte soit envoyée (pendant la phase
qu’on appelle card personalization). C’est à ce moment qu’on injecte :
• Le PAN (le numéro de la carte)
• Les clés secrètes
• Le PIN
• Des certificats de la banque
59
Quels types de cryptographie sont utilisés et quand ?
a) Cryptographie asymétrique (RSA ou ECC)
• Signature numérique de transactions (EMV)
• Authentification de la carte par le terminal
la carte contient une clé privée , et un certificat de clé publique signé par la banque.
Dans une transaction EMV (paiement carte à puce) :
1. Le terminal envoie un challenge
2. La carte signe ce challenge avec sa clé privée
3. Le terminal vérifie la signature avec la clé publique (obtenue via le certificat)
b) Cryptographie symétrique (3DES ou AES)
• Authentification mutuelle rapide (dans les cartes sans contact notamment)
• Génération de MAC pour valider l’intégrité des messages
• Environnements fermés (ex : transport, badges d’entreprise)
Carte et terminal partagent une clé secrète
Exemple typique : transport (Navigo)
• Le lecteur envoie un challenge à la carte
• La carte le chiffre avec la clé partagée 60
• Le lecteur compare la réponse
61
62
Architecture d’un système embarqué
1. Matériel (Hardware)
Couche physique du système embarqué,
comprenant :
• SoC (System on Chip) / CPU : Le
processeur ou microcontrôleur qui exécute
les instructions.
• Mémoire : RAM, ROM, Flash pour stocker
le code et les données.
• Périphériques : Interfaces d'entrée/sortie
(capteurs, actionneurs, interfaces de
communication).
Cette couche fournit les ressources matérielles
nécessaires pour exécuter le logiciel
EMBEDDED SYSTEM SECURITY 63
IOT SECURITY
Architecture d’un système embarqué
2.1. Firmware
• Logiciel de bas niveau stocké en mémoire non
volatile (ROM, Flash).
• Contient le bootloader et les instructions
fondamentales pour initialiser le matériel.
• Interface entre le matériel et les couches
logicielles supérieures.
2.2. Pilotes de périphériques (Device Drivers)
• Programmes permettant à l’OS et aux
applications d’interagir avec le matériel.
• Convertissent les commandes logicielles en
signaux électriques compréhensibles par les
périphériques. Software: structuré en plusieurs niveaux qui
interagissent pour fournir une abstraction et une
gestion efficace du matériel.
EMBEDDED SYSTEM SECURITY 64
IOT SECURITY
Architecture d’un système embarqué
2.3. Système d’exploitation temps réel (Real-time Operating
System - RTOS)
• Gère les ressources du système en fonction des contraintes
temps réel.
• Fournit la gestion des tâches, de la mémoire et des
interruptions.
• Permet l’exécution simultanée de plusieurs processus.
2.4. Middleware
• Logiciel intermédiaire facilitant la communication entre
l’application et l’OS.
• Fournit des services comme la gestion de protocoles, les
bibliothèques de communication et les frameworks spécifiques.
2.5. Application: La couche utilisateur qui exécute les Software: structuré en plusieurs niveaux qui
fonctionnalités spécifiques du système embarqué.
interagissent pour fournir une abstraction et une
• Interagit avec les couches inférieures via le middleware et
gestion efficace du matériel.
l’OS.
EMBEDDED SYSTEM SECURITY 65
IOT SECURITY
Exemple: Raspberry Pi 5
• Processeur Quad Arm Cortex-A76 @ 2,4 GHz
• Prise en charge de l’extension cryptographique (AES
matériel)
• 4 Go ou 8 Go LPDDR4X-4267 SDRAM
• Sortie d’affichage double HDMI 4kp60 avec prise en
charge HDR
• GPU VideoCore VII avec OpenGL-ES 3.1, Vulkan 1.2
• Processeur d’images Raspberry Pi (ISP)
• Connecteur Raspberry Pi pour PCIe (1 x port 2.0, chapeau
supplémentaire requis)
• Wi-Fi bibande 802.11ac
• Bluetooth 5.0 (avec prise en charge BLE)
• Ethernet Gigabit
• Ports USB 3.0 (2x) et USB 2.0 (2x)
• Prise en charge PoE (chapeau supplémentaire requis)
• Connecteurs MIPI CSI / DSI à double voie (2x)
EMBEDDED SYSTEM SECURITY 66
IOT SECURITY
EMBEDDED SYSTEM SECURITY 67
IOT SECURITY
Manipulation des données GPS dans l'aviation civile (2024)
• Cible : Systèmes de navigation des avions.
• Impact : Les autorités néerlandaises ont signalé une
augmentation significative des cas de "GPS-
spoofing", avec 983 incidents recensés en 2024 contre
163 en 2023. Ces manipulations fournissent aux
pilotes des informations erronées sur la position de
l'appareil, compromettant ainsi la sécurité des vols.
Le [Link]
• Méthode : Émission de signaux GPS falsifiés,
souvent pour protéger des installations stratégiques,
mais affectant également l'aviation civile.
Titre de la présentation 68
Mirai Botnet (2016)
• Cible : Caméras IP, routeurs, DVR, objets
connectés.
• Impact : Attaque DDoS massive contre des
infrastructures Internet (ex. DynDNS), entraînant
des pannes majeures de services comme Twitter,
Netflix et GitHub.
• Méthode : Infection des objets IoT en exploitant des
identifiants par défaut pour former un botnet capable
de lancer des attaques à grande échelle.
Titre de la présentation 69
Stuxnet (2010)
• Cible : Systèmes SCADA et automates
programmables (PLC) de Siemens.
• Impact : Stuxnet a été conçu pour saboter les
centrifugeuses d’enrichissement d’uranium en
Iran en modifiant leur vitesse sans alerter les
opérateurs.
• Méthode : Un ver informatique propagé via
des clés USB et des vulnérabilités Windows,
qui injectait du code malveillant dans les
automates industriels.
Titre de la présentation 70
Vulnérabilités des Tesla (2019)
• Cible : Voitures Tesla Model S.
• Impact : Des chercheurs ont réussi à contourner le verrouillage du véhicule et à le démarrer sans
clé.
• Méthode : Exploitation d’une faiblesse dans le protocole de chiffrement de la clé électronique et
attaques par relais RFID.
En 2017, un hacker a trouvé une faille dans un serveur de Tesla qui permet de contrôler
n'importe quelle voiture du constructeur américain grâce son numéro d'identification.
Bien intentionné, il a rapidement prévenu la société californienne qui a corrigé son
système.
Titre de la présentation 71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
Qu’est-ce qu’un firmware ?
• Logiciel intégré dans un matériel spécifique
• Stocké en mémoire non-volatile (Flash, EEPROM)
• Chargé dès le démarrage de l’équipement
• Fait le lien entre le matériel et les logiciels
Exemples : routeur, imprimante, caméra IP, carte mère
Logiciel de bas niveau intégré dans les équipements électroniques
Fait le lien entre le matériel et les logiciels de haut niveau
Essentiel au fonctionnement, souvent négligé en matière de sécurité
91
Différence entre firmware et OS
• Firmware : spécifique au matériel,
• OS : généraliste, interface utilisateur, exécute des applications
• Firmware = niveau bas ; OS = niveau supérieur
• Firmware souvent plus difficile à mettre à jour
Pourquoi sécuriser un firmware ?
• Peut être détourné pour contrôler un équipement
• Backdoors persistantes
• Impacts : espionnage, sabotage, vol de données
Exemples de firmwares vulnérables (1/2)
• 1. Routeurs Wi-Fi : exécution de code à distance, backdoors
• 2. Caméras IP : flux vidéo non chiffré, accès non autorisé
• 3. Dispositifs médicaux : modification à distance, attaques RF
• 4. Voitures connectées : contrôle à distance, vol de données
• 5. Imprimantes : accès réseau, vol de documents, DoS
• 6. Disques durs : firmware modifié pour espionner
• 7. Smartphones : rooting, jailbreak, exfiltration de données
Questions + Réponses (Quiz étudiant)
• 1. Qu’est-ce qu’un firmware ? → Logiciel embarqué dans un matériel
• 2. Différence firmware/OS ? → Firmware = spécifique et bas niveau
• 3. Donnez un exemple ? → Firmware routeur, imprimante, etc.
• 4. Pourquoi le sécuriser ? → Risques de contrôle et vol de données
• 5. Solutions ? → Signature numérique + mises à jour sécurisées
Pourquoi les Firmwares sont Vulnérables
• Mises à jour rares ou inexistantes
• Mots de passe codés en dur
• Interfaces exposées (Telnet, Web)
• Absence de mécanismes de chiffrement ou d’authentification
CVE sur les Routeurs
• CVE-2020-29557 – TP-Link : Backdoor Telnet
• CVE-2018-20369 – D-Link : Contournement d’authentification
• CVE-2022-27255 – Netgear : Injection de commande via URL
• CVE-2021-20090 – Routeurs multiples : Accès sans
authentification
CVE – IoT, Industriel et Systèmes Embarqués
• CVE-2019-10953 – Schneider PLC : Mots de passe codés en dur
• CVE-2020-0022 – Android Bluetooth : RCE (BlueFrag)
• CVE-2021-32941 – MOXA : Injection de commande
• CVE-2020-7381 – BD Alaris : Authentification faible
• CVE-2020-15782 – Siemens S7 : Exécution de code à distance
Autres CVE – Caméras IP et Automobile
• CVE-2017-12741 – Caméras IP : Interface d’administration ouverte
• CVE-2022-27226 – Tesla Model 3 : Faille Bluetooth/Wi-Fi (RCE
possible)
Titre de la présentation 103
Titre de la présentation 105
Titre de la présentation 106
Conclusion
•- Le firmware est une cible critique en cybersécurité
•- Une compromission = accès total et persistant
•- Nécessité : audits, binwalk, analyse de fichiers, MAJ fiables
• Prochain TP : Audit réel avec Binwalk + `/etc/passwd`
Qu’est-ce qu’un firmware ?
• Logiciel intégré dans un matériel spécifique
• Stocké en mémoire non-volatile (Flash, EEPROM)
• Chargé dès le démarrage de l’équipement
• Fait le lien entre le matériel et les logiciels
Exemples : routeur, imprimante, caméra IP, carte mère
109
Qu’est-ce qu’un firmware ?
• Logiciel intégré dans un matériel spécifique
• Stocké en mémoire non-volatile (Flash, EEPROM)
• Chargé dès le démarrage de l’équipement
• Fait le lien entre le matériel et les logiciels
Exemples : routeur, imprimante, caméra IP, carte mère
110