Quels défis de sécurité les espaces intelligents présentent-ils ?
Si l’idée d’espaces intelligents existe depuis de nombreuses années, cette pratique n’en est encore qu’à ses débuts en raison du faible taux d’adoption des appareils IoT. Les espaces intelligents peuvent offrir de nombreux avantages, notamment la gestion autonome des commandes de climatisation, la surveillance des conditions environnementales, la détermination de l’utilisation optimale de l’énergie et l’apprentissage à partir des modèles de comportement des utilisateurs pour créer une expérience plus confortable. En fait, la technologie nécessaire à la réalisation d’espaces intelligents, qui comprend des SoC sans fil, des capteurs et des coprocesseurs d’IA, existe déjà.
Mais si l’intégration des espaces intelligents est techniquement possible aujourd’hui, ceux-ci sont confrontés à de nombreux défis et beaucoup d’entre eux concernent la sécurité. Un espace intelligent dépourvu de mesures de sécurité appropriées et contenant des milliers de dispositifs IoT individuels serait une mine d’or pour tout pirate informatique digne de ce nom.
Premièrement, les pirates informatiques pourraient perturber les services fournis par les espaces intelligents et utiliser cette perturbation pour commettre d’autres crimes ou demander une rançon à l’exploitant de l’espace. Deuxièmement, un pirate pourrait s’introduire dans des appareils non sécurisés, obtenir des informations d’identification du réseau et utiliser ce dernier pour dissimuler des activités criminelles. Troisièmement, un pirate pourrait potentiellement prendre le contrôle d’appareils non sécurisés pour agir comme des zombies (appareils pouvant lancer des attaques DDoS) ou pour effectuer des opérations utiles au pirate (par exemple, le minage de crypto-monnaie). Quatrièmement, un pirate informatique pourrait utiliser un tel espace intelligent pour suivre les individus, envahir leur vie privée et même leur causer du tort par la manipulation de l’espace intelligent.
Malheureusement, un réseau n’est aussi fort que son maillon le plus faible, et un espace intelligent qui contient des milliers d’appareils pourrait devenir entièrement vulnérable à cause d’un appareil ayant dont les normes de sécurité ne sont pas à jour. En tant que tels, les espaces intelligents sont très sensibles aux cyberattaques, et il est de la plus haute importance de garantir la sécurité à tous les niveaux.
Comment les pratiques courantes nuisent-elles à la sécurité ?
Bien que les menaces de cybersécurité existent depuis plus de 30 ans, les mauvaises pratiques persistent dans la plupart des secteurs.
L’une de ces mauvaises pratiques est l’utilisation de clés symétriques pour le cryptage des données. Il n’y a rien de mal à utiliser une clé symétrique si cette clé est unique, longue et stockée en toute sécurité ; même les microcontrôleurs d’il y a 20 ans peuvent facilement prendre en charge de telles clés grâce à la protection de la mémoire et au stockage sur puce. Et pourtant, de nombreux fabricants continuent d’utiliser des clés symétriques communes à tous les appareils fabriqués, ce qui signifie que casser un seul appareil donne à un pirate l’accès à tous les autres appareils. Un exemple récent de cette mauvaise pratique se présente sous la forme des automates Siemens Simatic, dont on a constaté qu’ils utilisaient tous la même clé symétrique pour la protection des données.
Au sujet de l’utilisation de clés de chiffrement symétriques communes, les mots de passe communs se trouvent également sur certains appareils grand public et étaient extrêmement répandus avant 2020. Cela était particulièrement problématique pour les appareils connectés à Internet tels que les routeurs et les capteurs IoT qui seraient fabriqués par millions et distribués dans le monde entier. Comme beaucoup de ces appareils avaient le même nom d’utilisateur et mot de passe administrateur par défaut, il était souvent facile pour un pirate d’accéder aux appareils vulnérables. Associés à des mots de passe couramment utilisés, ces mots de passe seraient également faciles à deviner tels que « admin », « motdepasse » et, dans certains cas, il n’y a aucun mot de passe.
L’absence de prise en charge de SSL/TLS est un autre défi commun auquel sont confrontés les premiers appareils IoT. Cette absence de prise en charge du cryptage signifie que toutes les données envoyées sur les réseaux ne sont pas cryptées, ce qui permet de fouiller les paquets pour identifier les adresses de serveur, les noms d’utilisateur et les mots de passe. Bien que les informations d’identification d’un appareil IoT puissent sembler bénignes, elles pourraient permettre à un pirate d’accéder aux données des clients, y compris les adresses, les détails des cartes de crédit et les habitudes, qui peuvent toutes être utilisées.
Même si les réseaux peuvent déployer des clés de sécurité solides pour l’accès Wi-Fi, le changement peu fréquent des mots de passe peut exposer les réseaux aux attaques par force brute. En effet, il suffit qu’un pirate identifie le mot de passe Wi-Fi sur un appareil mis au rebut ou sur un bout de papier pour avoir un accès interne, et l’absence de changement de mot de passe offre au pirate un accès indéfini. Bien sûr, les réseaux qui utilisent des ports Ethernet peuvent devenir encore plus vulnérables si les informations d’identification ne sont pas requises, ce qui est généralement le cas des réseaux locaux. Un seul port Ethernet exposé peut donner à un pirate un accès complet au réseau interne, lui permettant ainsi de lancer toutes sortes d’attaques.
Un exemple où une mauvaise conception a entraîné une grave faille de sécurité est la gamme de lampes intelligentes d’IKEA. Ces lampes utilisent le protocole Zigbee, mais une mauvaise mise en œuvre de ce protocole entraînerait la réinitialisation de la lampe si des paquets cassés étaient reçus. Ce n’est pas un problème en soi, mais si l’on considère que la lampe est réinitialisée en usine après cinq cycles d’alimentation consécutifs, le fait de perturber le protocole Zigbee cinq fois (ce qui est fait à distance) permet à un pirate de s’approprier la lampe.
Comment le matériel de sécurité peut-il aider à relever de tels défis ?
Si les solutions logicielles peuvent fournir aux appareils une grande quantité de sécurité, tous les problèmes ne peuvent être résolus par des logiciels. Cela est généralement dû au mode de fonctionnement de la sécurité logicielle. Si un code malveillant peut contourner les systèmes d’exploitation et la sécurité logicielle (notamment lors du démarrage), il est pratiquement impossible de le supprimer. Dans de tels cas, la sécurité matérielle peut fournir aux appareils un niveau fondamental de protection qui est immuable, et dans certains cas, incassable. Cela s’explique par le fait que le matériel est plus fondamental que le logiciel, se situant effectivement en dessous ; ce qui signifie que tout logiciel malveillant peut être piégé par le matériel.
La cryptographie matérielle est un exemple de sécurité matérielle qui ne dépend pas d’un logiciel, et sa nature matérielle la rend impossible à pirater et à modifier. Les véritables générateurs de nombres aléatoires basés sur des propriétés physiques telles que le bruit et la température ne peuvent pas être modifiés dans un logiciel, et les moteurs de cryptage matériels sont conçus au niveau logique, ce qui laisse peu de place aux erreurs. En comparaison, les logiciels de cryptage via des routines peuvent avoir un code malveillant injecté pour produire des résultats prévisibles, ou carrément désactiver le processus de cryptage.
Les plateformes de confiance sont un autre exemple de sécurité matérielle qui se situe en dehors du logiciel et garantit que seul le code autorisé est utilisé pour démarrer un système. Ces systèmes deviennent exceptionnellement importants dans la lutte contre les logiciels malveillants, car les logiciels malveillants qui s’introduisent dans la séquence de démarrage peuvent être particulièrement difficiles à détecter et à supprimer.
Les niveaux de privilège sont utilisés dans les processeurs pour empêcher l’exécution de code dangereux qui pourrait permettre d’accéder aux zones protégées de la mémoire et d’accéder aux périphériques d’E/S. Les niveaux de privilège existent depuis des décennies et peuvent être considérés comme l’une des premières formes de sécurité matérielle sur puce.
On commence également à voir apparaître des circuits de cryptage à la volée qui cryptent et décryptent les données au fur et à mesure de leur utilisation. En plaçant un tel circuit entre une unité centrale et la mémoire vive, il est possible de crypter toutes les données qui quittent physiquement l’unité centrale, rendant ainsi le pic de mémoire inutile. Bien que ces fonctions en soient encore à leurs débuts, elles deviendront probablement populaires dans les futurs microcontrôleurs et processeurs qui ont besoin de stocker des données hors puce.
Lesbroches de protection contre le sabotage se trouvent généralement sur les semi-conducteurs haut de gamme qui peuvent contenir des informations sensibles en interne. Les broches d’autoprotection seront connectées à des tensions spécifiques connues uniquement de l’ingénieur lors de la conception de la carte. Si la puce est retirée et mise sous tension en dehors de la carte, le changement des broches d’autoprotection peut déclencher un effacement de la mémoire (ou une autre fonction d’arrêt). De telles broches protègent un appareil contre les attaques physiques externes, ce que les logiciels sont rarement capables de faire.
Enfin, les moteurs d’IA sur puce commencent à faire leur place dans des appareils capables de surveiller les bus de données internes, les niveaux de tension et l’accès aux entrées/sorties. Au fil du temps, ces moteurs apprennent à reconnaître ce qu’est un comportement normal ; si un code malveillant commence à s’exécuter, cette exécution inattendue est détectée, ce qui amène le moteur d’IA à prendre des mesures par le biais d’appels système.
De quelles plateformes les ingénieurs disposent-ils actuellement ?
Une gamme de processeurs couramment associée à des fonctions de protection fortes est ARM, qui comprend souvent une cryptographie matérielle, des systèmes de démarrage de confiance pour garantir l’intégrité du code et des niveaux de privilège pour empêcher le code utilisateur d’interférer avec les composants de niveau système. Par exemple, le STM32MP157D récemment sorti intègre un ARM Cortex-A7 à double cœur, qui comprend TrustZone, les cryptages AES256 et TDES, un démarrage sécurisé, SHA-256, des RAM sécurisées, des périphériques sécurisés, un générateur analogique de nombres aléatoires réels et un ID unique de 96 bits préprogrammé.
Les ingénieurs qui cherchent à simplifier leurs conceptions peuvent se tourner vers les System-on-Modules (SoM), car ils combinent la plupart des composants système nécessaires pour fonctionner avec un processeur particulier. Par exemple, le OPEN-Q™ 624A SOM fournit aux ingénieurs un module Android, prêt pour la production, qui intègre la connectivité pour les caméras HD et les écrans tactiles tout en fournissant également le Wi-Fi, le Bluetooth et de nombreuses E/S intégrées. Ces appareils ont été particulièrement utiles pour ceux qui créent des dispositifs de sécurité IoT, grâce à la nature sécurisée d’Android et aux nombreuses fonctions de sécurité dont se targue le microprocesseur ARM.
Enfin, les ingénieurs peuvent se pencher sur la création d’une infrastructure de réseau sécurisée qui prend en charge les appareils IoT dans les espaces intelligents. Par exemple, les passerelles IoT sans fil Sentrius™ IG60 de Laird fournissent aux ingénieurs un réseau sécurisé qui offre de multiples options de connectivité et de sécurité. L’utilisation du SAMA5D36, qui est lui-même alimenté par un noyau ARM, offre de nombreuses fonctions de sécurité matérielle, notamment le démarrage sécurisé et la zone de confiance.
Intégrer la sécurité dès le départ
Si les espaces intelligents doivent devenir une réalité, les dispositifs doivent intégrer la sécurité dès le départ. Mais si beaucoup envisagent des solutions logicielles pour sécuriser les appareils, le matériel sur lequel ils fonctionnent est également très important. Le choix d’une plateforme sécurisée n’aide pas seulement massivement les ingénieurs en simplifiant la sécurité, mais rend également beaucoup plus difficile l’exécution de logiciels malveillants. L’essor des systèmes sur modules (SoM) aidera sans aucun doute les ingénieurs à créer des conceptions plus complexes en éliminant la nécessité de s’occuper de la conception des systèmes de bas niveau, réduisant ainsi le nombre de facteurs susceptibles de mal tourner. En outre, l’utilisation de SoM complexes capables d’exécuter des systèmes d’exploitation plus complexes permet d’exécuter des routines logicielles de sécurité supplémentaires en parallèle à d’autres tâches, et les systèmes d’exploitation tels que Linux peuvent contribuer à décharger ces tâches des ingénieurs, qui peuvent alors se concentrer sur la fonction principale de leur conception.