Cours Complet : Sécurité des Systèmes Embarqués et Objets Mobiles
Communicants
Introduction
Les systèmes embarqués et objets mobiles communicants (IoT) sont omniprésents dans des domaines
tels que la domotique, la santé, l'automobile, et les infrastructures industrielles. Leur sécurité est
cruciale, car ces dispositifs manipulent souvent des données sensibles et interagissent directement
avec le monde physique.
1. Concepts Fondamentaux
1.1. Qu'est-ce qu'un système embarqué ?
Un système embarqué est un dispositif informatique intégré conçu pour effectuer une ou plusieurs
tâches spécifiques.
Caractéristiques :
Faible consommation d'énergie.
Ressources limitées (CPU, RAM, stockage).
Interfaces matérielles spécifiques (capteurs, actionneurs).
1.2. Les objets mobiles communicants
Appareils capables de communiquer entre eux ou avec des serveurs centraux via des protocoles
comme Wi-Fi, Bluetooth, Zigbee, LoRaWAN, ou NB-IoT.
Exemples : montres connectées, capteurs industriels, systèmes de surveillance.
1.3. Défis en matière de sécurité
Vulnérabilités matérielles et logicielles.
Attaques physiques (extraction de clés).
Communications non sécurisées.
Mises à jour logicielles non fiables.
2. Risques et Menaces pour les Systèmes Embarqués
2.1. Typologie des attaques
Attaques logicielles : injection de code, exploitation de vulnérabilités (buffer overflow).
Attaques matérielles : analyse des courants électriques, attaques par rayonnement.
Interception des communications : attaques de type "Man-In-The-Middle" (MITM).
Attaques réseau : déni de service (DoS), attaques sur les protocoles (DNS spoofing).
2.2. Exemples d'incidents réels
Piratage de pacemakers.
Attaques sur les véhicules connectés.
Rançongiciels ciblant des systèmes industriels IoT.
3. Protocole de Communication Sécurisée
3.1. Protocoles IoT
MQTT (Message Queuing Telemetry Transport) : protocole léger utilisé dans l'IoT.
Sécurité : TLS/SSL pour les communications chiffrées.
CoAP (Constrained Application Protocol) : pour les appareils à ressources limitées.
Sécurité : DTLS (Datagram Transport Layer Security).
LoRaWAN : réseau à longue portée et faible consommation.
Sécurité : authentification et chiffrement basés sur des clés AES.
3.2. Meilleures pratiques pour sécuriser les communications
Utiliser des clés asymétriques pour l'authentification.
Activer le chiffrement des données (SSL/TLS).
Utiliser des certificats numériques.
4. Sécurité Matérielle
4.1. Protection contre les attaques physiques
Protection contre le démontage (époxy, boîtiers résistants).
Détection de tampering (déclenchement d'alertes en cas de manipulation).
4.2. Modules de sécurité dédiés
TPM (Trusted Platform Module) : module matériel pour sécuriser les clés et les opérations
cryptographiques.
HSM (Hardware Security Module) : utilisé pour la gestion des clés dans les infrastructures
critiques.
5. Sécurité Logicielle
5.1. Développement sécurisé
Suivre des normes de codage sécurisé (ex. : OWASP Secure Coding Practices).
Utiliser des outils d'analyse statique pour détecter les vulnérabilités.
5.2. Mises à jour logicielles
Implémenter des mécanismes OTA (Over-The-Air) sécurisés.
Signer les mises à jour avec des certificats pour garantir leur authenticité.
6. Gestion des Identités et des Accès
6.1. Authentification
Utiliser des mécanismes forts : authentification basée sur des certificats ou clés asymétriques.
Gestion centralisée des identités via des serveurs d'authentification (OAuth, OpenID).
6.2. Gestion des accès
Implémenter des politiques d'accès basées sur les rôles (RBAC).
Limiter les privilèges des dispositifs et utilisateurs.
7. Normes et Régulations
7.1. Normes spécifiques à l'IoT
ETSI EN 303 645 : recommandations pour la sécurité des objets connectés.
ISO 27001 : pour la gestion de la sécurité de l'information.
NIST IoT Cybersecurity Framework : guide américain pour la sécurité des systèmes IoT.
7.2. Réglementations
GDPR : protection des données personnelles en Europe.
California IoT Law : loi californienne exigeant des mots de passe uniques pour chaque appareil.
8. Études de Cas Pratiques
8.1. Mise en œuvre d’un système MQTT sécurisé
Configuration de Mosquitto avec SSL/TLS.
Déploiement de clients MQTT pour simuler un réseau IoT.
8.2. Analyse d’une attaque
Étude d’une attaque MITM sur un réseau IoT.
Identification des vecteurs d’attaque et mise en œuvre de mesures correctives.
9. Outils de Surveillance et d’Audit
9.1. Surveillance en temps réel
Utiliser des solutions comme Zabbix ou Prometheus pour surveiller les systèmes IoT.
Mettre en place des alertes en cas de comportements anormaux.
9.2. Tests de sécurité
Fuzzing pour détecter les failles logicielles.
Pen-testing pour simuler des attaques et évaluer les défenses.
10. Perspectives d'Avenir
Augmentation de l'intégration de l'IA pour détecter les anomalies.
Émergence de nouveaux protocoles plus légers et sécurisés.
Développement de normes globales pour l'IoT.
Conclusion
La sécurité des systèmes embarqués et des objets mobiles communicants est un défi crucial dans un
monde de plus en plus connecté. En suivant les bonnes pratiques, en utilisant des normes reconnues,
et en adoptant une approche proactive, il est possible de minimiser les risques et de garantir un
fonctionnement sécurisé des dispositifs IoT.
Si vous avez besoin d'exemples de laboratoires ou d'outils spécifiques, je peux les détailler davantage !