Please enable JavaScript.
Coggle requires JavaScript to display documents.
Doc8_IoT_Security - Coggle Diagram
Doc8_IoT_Security
Résumé:
- L'ère de l'IoT : L'Internet des objets (IoT) est présenté comme la prochaine étape de l'évolution des communications, permettant à des objets physiques de créer, recevoir et échanger des données de manière fluide. :warning:
- Applications IoT : Ces applications se concentrent sur l'automatisation des tâches et visent à permettre aux objets inanimés d'agir sans intervention humaine, augmentant ainsi le confort, l'efficacité et l'automatisation pour les utilisateurs. :warning:
- Enjeux de sécurité : La mise en œuvre à grande échelle de ces applications nécessite une sécurité renforcée, une protection de la vie privée, une authentification fiable et des mécanismes de récupération en cas d'attaques. :warning:
- Objectif de l'article : Une revue détaillée des défis en matière de sécurité et des sources de menaces dans les applications IoT est présentée. :fire:
Technologies émergentes : Quatre technologies clés pour renforcer la sécurité de l'IoT sont abordées :
-
-
-
-
Structure de l'article
-
-
Section IV : Examine les contraintes et exigences à prendre en compte pour développer une application IoT sécurisée. :red_cross:
-
Section IX : Discute des enjeux non résolus, des défis, et des opportunités de recherche à venir dans la sécurité de l'IoT. :red_cross:
-
Introduction
-
- Applications variées : L'IoT couvre des domaines tels que les villes intelligentes, l'environnement, les réseaux électriques, le commerce, et l'agriculture.
Le concept de social IoT (SIoT) permet aux utilisateurs de réseaux sociaux de se connecter et de partager des appareils.
- Défis de sécurité : Les défis spécifiques incluent : la confidentialité, l'authentification, la gestion, et le stockage des informations.
Les attaques passées, comme Mirai (2016), Hajime et Reaper, montrent la vulnérabilité des dispositifs IoT, souvent moins sécurisés. Les menaces s'étendent également aux dispositifs IoT implantés dans le corps humain.
- Couches de l'IoT : L'IoT comprend quatre couches principales : Chaque couche et les passerelles qui les connectent présentent des problèmes de sécurité uniques.
- Capteurs et actionneurs pour collecter les données.
- Réseaux de communication pour transmettre les données.
- Middleware pour relier le réseau aux applications.
- Applications finales comme les réseaux intelligents ou les usines connectées.
- Solutions proposées : L'article met en avant quatre approches principales pour améliorer la sécurité de l'IoT :
Une revue détaillée des solutions existantes et émergentes est présentée.
-
-
-
-
- Sources des menaces de sécurité dans les applications IoT
- Les applications IoT sont structurées en quatre couches principales : la couche de détection pour la collecte des données via des capteurs, la couche réseau qui assure la transmission des données, la couche middleware qui sert de pont entre le réseau et les applications, et la couche application qui héberge les applications IoT finales destinées aux utilisateurs. Chaque couche utilise différentes technologies qui introduisent des problèmes spécifiques et des menaces de sécurité. Les passerelles connectant ces couches présentent des enjeux de sécurité particuliers qui sont également abordés.
Les couches
- Problèmes de sécurité au niveau de la couche de détection: Il est crucial de renforcer la sécurité au niveau de la couche de détection pour protéger les systèmes IoT contre ces menaces potentielles. La couche de détection traite principalement des capteurs et actionneurs physiques de l'IoT. Les capteurs détectent les phénomènes physiques de leur environnement, tandis que les actionneurs effectuent une action en fonction des données collectées.
- Capture de nœuds : Les capteurs et actionneurs, souvent peu puissants, peuvent être capturés ou remplacés par des nœuds malveillants contrôlés par un attaquant, compromettant la sécurité de tout le système IoT.
- Injection de code malveillant : Les attaquants peuvent insérer un code malveillant dans la mémoire des nœuds, notamment via les mises à jour OTA (Over-The-Air), forçant ces nœuds à exécuter des actions non souhaitées ou à accéder au système entier.
- Injection de données erronées : Un attaquant peut injecter de fausses données après avoir compromis un nœud, entraînant des résultats incorrects, des dysfonctionnements ou même des attaques par déni de service distribué (DDoS).
- Attaques par canaux auxiliaires : Des informations sensibles peuvent être divulguées via des éléments tels que la consommation d'énergie, les émissions électromagnétiques ou les microarchitectures des processeurs. Ces attaques incluent des attaques basées sur la consommation d'énergie, les lasers, le temps d'exécution ou les interférences électromagnétiques.
- Espionnage et interférences : Les nœuds déployés dans des environnements ouverts sont vulnérables aux écoutes clandestines et à l'interception des données lors de leur transmission ou des phases d'authentification.
- Attaques d'épuisement de la batterie : Les attaquants peuvent épuiser la batterie des dispositifs IoT à faible puissance en exécutant des boucles infinies ou en augmentant artificiellement leur consommation d'énergie, entraînant une défaillance des nœuds.
- Attaques au démarrage : Pendant le processus de démarrage, lorsque les mesures de sécurité ne sont pas encore activées, les dispositifs IoT sont vulnérables aux attaques. Les adversaires peuvent exploiter cette phase, particulièrement fréquente avec les cycles de veille des appareils à faible consommation.
- Problèmes de sécurité au niveau de la couche réseau: La fonction principale de la couche réseau est de transmettre les informations reçues de la couche de détection vers l’unité de calcul pour traitement. Les principaux problèmes de sécurité rencontrés à ce niveau sont les suivants :
- Attaque par site de phishing : Ces attaques consistent à cibler plusieurs dispositifs IoT avec un effort minimal de la part de l’attaquant. L’objectif est que quelques appareils deviennent victimes. Les utilisateurs peuvent tomber sur des sites de phishing lorsqu’ils visitent des pages web. Une fois les identifiants et mots de passe compromis, tout l’environnement IoT de l’utilisateur devient vulnérable aux cyberattaques. La couche réseau est particulièrement exposée à ce type d’attaques [26].
- Attaque d’accès (Access Attack) : Aussi appelée menace persistante avancée (APT), cette attaque permet à une personne non autorisée ou un adversaire d’accéder au réseau IoT. L’attaquant peut rester indétecté pendant une longue période, visant à voler des données précieuses plutôt qu’à causer des dommages au réseau. Les applications IoT, qui échangent continuellement des données précieuses, sont très vulnérables à ce type d’attaque [27].
- Attaque DDoS/DoS : Dans ces attaques, l’attaquant submerge les serveurs cibles avec un grand nombre de requêtes non désirées, rendant les serveurs incapables de fournir des services aux utilisateurs légitimes. Si l’attaquant utilise plusieurs sources pour inonder le serveur, il s’agit alors d’une attaque par déni de service distribué (DDoS). Bien que ce type d’attaque ne soit pas spécifique aux applications IoT, la complexité et l’hétérogénéité des réseaux IoT les rendent particulièrement vulnérables.
- Attaques sur les données en transit : Les applications IoT manipulent une grande quantité de données, que ce soit pour leur stockage ou leur transfert. Les données en transit (qui se déplacent d’un emplacement à un autre) sont particulièrement vulnérables aux cyberattaques. Dans les applications IoT, les données circulent entre capteurs, actionneurs et le cloud. Ces transferts impliquent différentes technologies de connexion, augmentant le risque de violations de données.
- Attaques sur le routage : Les nœuds malveillants peuvent essayer de détourner les chemins de routage des données en transit. Une attaque par "sinkhole" consiste à attirer le trafic en créant un chemin de routage fictif, tandis qu’une attaque par "wormhole" crée une connexion hors bande entre deux nœuds pour un transfert rapide de paquets. Cette dernière, combinée avec des attaques comme le "sinkhole", peut contourner les protocoles de sécurité de base et devenir une menace sérieuse.
- Le rôle du middleware dans l’IoT est de créer une couche d’abstraction entre la couche réseau et la couche application. Le middleware peut également offrir des capacités puissantes de calcul et de stockage . Cette couche fournit des APIs pour répondre aux besoins de la couche application. Elle inclut des composants tels que des brokers, des bases de données persistantes, des systèmes de mise en file d’attente, ainsi que des algorithmes d’apprentissage automatique. Bien que cette couche soit essentielle pour garantir des applications IoT fiables et robustes, elle est vulnérable à diverses attaques. Ces attaques peuvent prendre le contrôle de l’ensemble de l’application IoT en infectant le middleware. Voici les principales attaques possibles dans la couche middleware
- Attaque de l’homme du milieu (Man-in-the-Middle) : Le protocole MQTT utilise un modèle de communication de type publication-abonnement entre les clients et les abonnés via un broker MQTT, qui agit comme un proxy. Cela permet de découpler les clients publiants et abonnés tout en envoyant les messages sans connaître leur destination. Si l’attaquant parvient à contrôler le broker et à devenir un homme du milieu, il peut alors prendre le contrôle total de toutes les communications à l’insu des clients.
- Injection SQL (SQL Injection) : Le middleware est également vulnérable aux attaques par injection SQL (SQLi). Dans ce type d’attaque, un attaquant peut insérer des instructions SQL malveillantes dans un programme [30], [31]. Cela lui permet d’accéder à des données privées d’utilisateurs ou même de modifier des enregistrements dans la base de données [32].
- Attaque par signature wrapping : Dans les services web utilisés au niveau du middleware, des signatures XML sont utilisées [34]. Lors d’une attaque par signature wrapping, l’attaquant compromet l’algorithme de signature et peut exécuter des opérations ou modifier des messages interceptés en exploitant les vulnérabilités du protocole SOAP (Simple Object Access Protocol) [35].
- Injection de malwares dans le cloud : Lors d’une attaque par injection de malwares dans le cloud, l’attaquant peut prendre le contrôle, injecter du code malveillant ou introduire une machine virtuelle dans le cloud. L’attaquant prétend être un service légitime en essayant de créer une instance de machine virtuelle ou un module de service malveillant. De cette manière, il peut accéder aux requêtes de service de la victime, capturer des données sensibles et les modifier selon ses besoins.
- Attaque par saturation du cloud (Flooding Attack) : Cette attaque fonctionne de manière similaire à une attaque par déni de service (DoS) dans le cloud et affecte la qualité de service (QoS). Les attaquants envoient continuellement de multiples requêtes à un service pour épuiser les ressources du cloud. Ces attaques peuvent lourdement impacter les systèmes cloud en augmentant la charge sur les serveurs cloud.
- La couche application traite directement des services destinés aux utilisateurs finaux. Les applications IoT telles que les maisons intelligentes, les compteurs intelligents, les villes intelligentes, les réseaux intelligents, etc., font partie de cette couche. Cette couche présente des problèmes de sécurité spécifiques qui ne se retrouvent pas dans les autres couches, tels que le vol de données et les problèmes de confidentialité. Les problèmes de sécurité dans cette couche sont également spécifiques à chaque application.
- Vols de données : Les applications IoT traitent une grande quantité de données critiques et privées. Les données en transit sont encore plus vulnérables aux attaques que les données stockées, et dans les applications IoT, il y a beaucoup de mouvement de données. Les utilisateurs seront réticents à enregistrer leurs données privées dans des applications IoT si ces applications sont vulnérables aux attaques par vol de données. Le chiffrement des données, l’isolation des données, l’authentification des utilisateurs et des réseaux, la gestion de la confidentialité, etc., sont certaines des techniques et protocoles utilisés pour sécuriser les applications IoT contre les vols de données.
- Attaques sur le contrôle d’accès : Le contrôle d’accès est un mécanisme d’autorisation qui permet uniquement aux utilisateurs ou processus légitimes d’accéder aux données ou au compte. L’attaque par contrôle d’accès est une attaque critique dans les applications IoT car, une fois l’accès compromis, l’application IoT entière devient vulnérable aux attaques.
- Attaques d’interruption de service : Ces attaques sont également appelées attaques d’interruption illégale ou attaques DDoS dans la littérature existante. De nombreux exemples d’attaques de ce type ont été observés sur les applications IoT. Ces attaques privent les utilisateurs légitimes de l’utilisation des services des applications IoT en surchargeant artificiellement les serveurs ou le réseau, les rendant trop occupés pour répondre.
- Attaques par injection de code malveillant : Les attaquants choisissent généralement la méthode la plus simple ou la plus facile pour pénétrer un système ou un réseau. Si le système est vulnérable aux scripts malveillants et aux mauvaises directions en raison de contrôles insuffisants du code, ce sera le premier point d’entrée qu’un attaquant choisira. En général, les attaquants utilisent le XSS (cross-site scripting) pour injecter un script malveillant dans un site Web de confiance. Une attaque XSS réussie peut entraîner le détournement d’un compte IoT et paralyser le système IoT.
- Attaques par écoute réseau (Sniffing) : Les attaquants peuvent utiliser des applications d’écoute réseau pour surveiller le trafic dans les applications IoT. Cela peut permettre à l’attaquant d’accéder à des données confidentielles des utilisateurs si des protocoles de sécurité suffisants ne sont pas mis en place pour les prévenir [39].
- Attaques de reprogrammation : Si le processus de programmation n’est pas protégé, les attaquants peuvent essayer de reprogrammer les objets IoT à distance. Cela peut entraîner le détournement du réseau IoT [40].
- PROBLÈMES DE SÉCURITÉ AU NIVEAU DES PASSERELLES: La passerelle est une couche importante qui joue un rôle clé dans la connexion de plusieurs dispositifs, personnes, objets et services cloud. Les passerelles aident également à fournir des solutions matérielles et logicielles pour les appareils IoT. Elles sont utilisées pour décrypter et crypter les données IoT et pour traduire les protocoles de communication entre les différentes couches. Les systèmes IoT d'aujourd'hui sont hétérogènes, incluant des technologies comme LoraWan, ZigBee, Z-Wave et des piles TCP/IP avec de nombreuses passerelles entre elles. Voici quelques-uns des défis de sécurité pour les passerelles IoT.
- Onboarding sécurisé : Lorsqu'un nouveau dispositif ou capteur est installé dans un système IoT, il est impératif de protéger les clés de chiffrement. Les passerelles servent d'intermédiaires entre les nouveaux dispositifs et les services de gestion, et toutes les clés passent par les passerelles. Les passerelles sont vulnérables aux attaques de type "homme du milieu" et à l'écoute pour capturer les clés de chiffrement, surtout lors du processus d'intégration (onboarding).
- Interfaces supplémentaires : Minimiser la surface d'attaque est une stratégie importante à garder à l'esprit lors de l'installation des dispositifs IoT. Seules les interfaces et protocoles nécessaires doivent être implémentés par le fabricant de la passerelle IoT. Certaines fonctionnalités et services doivent être restreints pour les utilisateurs finaux afin d'éviter l'authentification par porte dérobée ou les fuites d'informations.
- Chiffrement de bout en bout : Un véritable chiffrement de bout en bout au niveau de l'application est nécessaire pour garantir la confidentialité des données. L'application ne doit permettre à personne d'autre que le destinataire unique de décrypter les messages chiffrés. Bien que les protocoles Zigbee et Zwave supportent le chiffrement, ce n'est pas un chiffrement de bout en bout, car pour traduire l'information d'un protocole à un autre, les passerelles doivent décrypter et ré-encrypter les messages. Cette décryption au niveau de la passerelle rend les données vulnérables aux violations de sécurité.
- Mises à jour du firmware : La plupart des dispositifs IoT sont limités en ressources et ne disposent pas d'une interface utilisateur ni de la puissance de calcul nécessaire pour télécharger et installer les mises à jour du firmware. En général, les passerelles sont utilisées pour télécharger et appliquer ces mises à jour. La version actuelle et la nouvelle version du firmware doivent être enregistrées, et la validité des signatures doit être vérifiée pour garantir la sécurité des mises à jour du firmware.