Si au début de l’IoT, la sécurité fut souvent le dernier souci des constructeurs, il faut reconnaître que cette tendance a heureusement bien changé. La protection des données personnelles est désormais un enjeu primordial. Contraints par des règlementations de plus en plus vigilantes telles que le RGPD, les fabricants sous soumis à l’obligation de prendre en compte tous les risques dès la conception de leur solution afin que celle-ci soit conforme.
En effet, sans sécurité, il n’y a pas de confiance. Cette sécurité doit être de bout en bout et concerner le matériel ET le logiciel.
Quelles sont les failles de sécurité liées aux IoT?
Il existe des faiblesses sur le matériel qui rendent possible plusieurs types d’attaques: attaque par logiciel, attaque en se connectant au matériel et enfin attaque invasive et directe.
-
L’attaque invasive et directe :
Elle exige du temps et des moyens pour pouvoir faire du reverse engineering, casser les sécurités des mémoires Flash.
-
L’attaque par logiciel est assez classique :
Comment cela se passe? On tente de forcer l’accès par un cheval de Troie, des failles dans les protocoles ou dans les logiciels embarqués. Par exemple, une porte dérobée oubliée ou des débordements de tampons peuvent permettre de pénétrer au cœur de l’IoT avec la possibilité de remonter jusqu’à l’infrastructure et les services.
-
L’attaque matérielle dite non invasive est assez classique aussi :
Ici, on tente d’utiliser les ports de debugs matériels. Rappelez-vous qu’un objet, c’est de l’électronique : des capteurs, un MCU (MicroController Unit). Un MCU possède un ou plusieurs ports de debug, très utiles pour débugger durant la phase de développement. Un des ports les plus communs est le JTAG. Ces ports se retrouvent, par design, sur les MCU proprement dits et sont donc susceptibles d’être attaqués. On peut aussi tenter de provoquer des plantages de l’objet pour repérer une entrée.
-
La faiblesse d’un IoT peut également être dans la procédure de mise à jour.
Le plus courant est le firmware. Si la mise à jour n’est pas sécurisée ou non stable, vous élargissez, potentiellement, la surface d’attaque. Une fois cette sécurité forcée, l’attaquant peut déployer un code malveillance, installer un firmware corrompu. Et là, les risques sont élevés.
Ainsi, les enclaves contenant les données les plus sensibles (mots de passe, clés de chiffrement, etc.) peuvent être atteintes si l’isolation n’est pas assurée ou que les chaînes de chiffrement ne sont pas respectées. Votre IoT peut devenir un IoT zombie.
Exploiter les protocoles I2C, SPI ce n’est pas le plus simple ni le plus pratique, mais reste possible.
Comment protéger et sécuriser vos IoT?
Dans les attaques matérielles, il faut avoir accès à l’objet : l’ouvrir, l’analyser.
-
Par design, il faut que tous les ports et les broches non utilisées soient désactivés.
Aucune donnée ne doit être stockée en clair sur la mémoire Flash. Tous les accès bas niveaux doivent être interdits. Tout échange entre une gateway et un IoT doit être sécurisé.
Pourquoi ? Un réseau RFID, BLE ou WiFi peut se faire sniffer c’est-à-dire qu’un hacker peut scanner les communications et les interceptions. Si les échanges sont chiffrés et que les clés sont partagées, vous compliquez sérieusement la vie du hacker.
-
Tout IoT déployé doit être dûment identifié et reconnu pour la gateway et l’infrastructure.
En cas de corruption, il ne faut pas qu’un code malveillant puisse aller au-delà.
L’utilisation d’un contrôleur d’accès au réseau (NAC) peut être une solution complémentaire d’authentification des IoT lors de l’utilisation des réseaux LAN/WAN de l’entreprise.
-
Assurer la sécurité des objets connectés passe également par maitriser les infrastructures auxquelles ils se connectent.
Il faut définir une architecture sécurisée et mettre en place une sécurité multiniveaux. On vous en parle d’ailleurs dans un article traitant spécifiquement l’aspect cybersécurité des projets IoT.
Des vulnérablités bien réelles
L’OWASP est un référentiel important dans la sécurité informatique. Parmi les tops 10 publiés, nous trouvons le top 10 des failles et vulnérabilités pour les IoT.
Quelques-unes des vulnérabilités décrites par l’OWASP :
- Mots de passe en dur dans l’IoT ou pire, accès libre sans identification
- Réseau non sécurisé, authentification défaillante
- API, backend, applications mal sécurisées : chiffrement de bout en bout absent, authentification défaillante
- Mécanisme de mise à jour de l’IoT mal maîtrisé : par exemple, absence de vérification que le firmware est autorisé et origine confirmée
- Utilisation des frameworks, de librairies ayant des failles connues
- Stockage de données improprement sécurisé
- Déploiement et authentification de l’objet en clair ou mal maîtrisée
- Sécurité physique de l’IoT inadaptée
Imaginez qu’une mise à jour de firmware bloque ou provoque des dysfonctionnements de votre parc d’objets connectés. Si cela arrive dans un smart building c’est tout le fonctionnement même du bâtiment et des équipements qui serait compromis. En juin 2021, un bug critique a été découvert dans les caméras ThroughTek : faille CVE-2021-32934. Le risque potentiel? Accéder aux caméras connectées ! Le bug s’est introduit dans les connexions P2P utilisées entre le matériel et les services cloud du constructeur. Le risque est de pouvoir sniffer les données sensibles du réseau et même de capter les flux vidéo !
Au printemps dernier, Microsoft annonçait la découverte de failles dans l’allocation mémoire dans de nombreux IoT et MCU : BadAlloc ! Ces vulnérabilités se cachaient dans l’utilisation des fonctions telles que malloc, alloc… bref tout ce qui permet de manipuler la mémoire au niveau du code et des librairies… des fonctions fortement utilisées par les développeurs.
Le post des équipes sécurité de Microsoft est particulièrement éclairant : https://msrc-blog.microsoft.com/2021/04/29/badalloc-memory-allocation-vulnerabilities-could-affect-wide-range-of-iot-and-ot-devices-in-industrial-medical-and-enterprise-networks/
Vous l’aurez compris, un projet IoT ne s’improvise pas. Si vous ne maîtrisez pas totalement la chaîne, demandez à vos partenaires IT de vous aider pour comprendre les enjeux et ajuster votre politique de sécurité. La sécurité doit être discutée et intégrée à tout projet IoT.