Architecture de sécurité pour les solutions IoT
Lorsque vous concevez et construisez une solution IoT, il est important de comprendre les menaces potentielles et d’inclure des défenses appropriées. Comprendre comment un attaquant peut compromettre un système vous aide à vous assurer que les atténuations appropriées sont en place dès le début.
Modélisation des menaces
Microsoft recommande d’utiliser un processus de modélisation des menaces dans le cadre de la conception de votre solution IoT. Si vous ne connaissez pas bien la modélisation des menaces et le cycle de vie de développement sécurisé, consultez :
- Modélisation des menaces
- Bonnes pratiques du développement sécurisé sur Azure
- Guide de mise en route
Sécurité des solutions IoT
Il est recommandé de diviser votre architecture IoT en plusieurs zones dans le cadre de l’exercice de modélisation des menaces :
- Appareil
- Passerelle de champ
- Passerelle cloud
- Service
Chaque zone a souvent ses propres exigences en matière d’authentification, d’autorisation et de données. Vous pouvez aussi utiliser des zones pour isoler les dommages et limiter l’impact des zones à faible niveau de fiabilité sur les zones à haut niveau de fiabilité.
Chaque zone est séparée par une délimitation d’approbation indiquée par un trait rouge en pointillés dans le diagramme suivant. Il représente une transition des données d’une source vers une autre. Pendant cette transition, les données peuvent être soumises aux menaces suivantes :
- Usurpation
- Falsification
- Répudiation (rejet)
- Divulgation d’informations
- Denial of service (déni de service)
- Élévation de privilège
Pour en savoir plus, consultez le modèle STRIDE.
Vous pouvez utiliser STRIDE pour modéliser les menaces pour chaque composant dans chaque zone. Les sections suivantes exposent dans le détail les composants, les problèmes de sécurité spécifiques, ainsi que les solutions qui doivent être mises en place.
Le reste de cet article décrit plus en détail les menaces et les atténuations pour ces zones et composants.
Zone de périphérique
L’environnement du périphérique est l’espace entourant le périphérique, dans lequel l’accès physique et l’accès numérique du réseau local au périphérique sont possibles. Un réseau local est censé être distinct et isolé de l’Internet public, mais peut être ponté vers celui-ci. L’environnement de l’appareil inclut toute technologie radio sans fil de courte portée qui permet la communication d’égal à égal des appareils. Il n’inclut aucune technologie de virtualisation de réseau qui crée l’illusion d’un tel réseau local. Il n’inclut pas les réseaux d’opérateurs publics qui nécessitent que deux appareils communiquent entre l’espace réseau public s’ils souhaitent entrer dans une relation de communication pair à pair.
Zone de passerelle locale
Une passerelle locale est un périphérique, un équipement ou un logiciel serveur à usage général qui agit en tant qu’activateur de communication, mais elle peut également servir de système de contrôle de périphérique et de concentrateur de traitement des données du périphérique. La zone de passerelle locale inclut la passerelle locale proprement dite et tous les périphériques qui y sont connectés. Les passerelles locales fonctionnent hors des installations de traitement des données dédiées, elles sont généralement associées à un site, peuvent être exposées à une intrusion physique et disposent d’une redondance opérationnelle limitée. Une passerelle locale peut généralement être sabotée physiquement par un attaquant qui disposerait d’un accès physique.
Une passerelle locale diffère d’un routeur de trafic, car elle a un rôle actif dans la gestion de l’accès et du flux d’informations. La passerelle de champ comporte deux surfaces d’exposition distinctes. L’une fait face aux appareils qui lui sont attachés et représente la partie intérieur de la zone. L’autre fait face à toutes les parties externes et est situé sur la périphérie de la zone.
Zone de passerelle cloud
Une passerelle cloud est un système qui permet une communication à distance depuis et vers des appareils ou des passerelles locales déployées sur plusieurs sites. La passerelle cloud permet généralement un système de contrôle et d’analyse des données basé sur le cloud, ou une fédération de tels systèmes. Dans certains cas, une passerelle cloud peut faciliter l’accès immédiat aux appareils qui ont un usage spécifique à partir de terminaux comme les tablettes ou les téléphones. Dans la zone de passerelle cloud, des mesures opérationnelles empêchent l’accès physique ciblé et elle n’est pas nécessairement exposée à une infrastructure de cloud public.
Une passerelle cloud peut être mappée à une superposition de virtualisation de réseau pour isoler la passerelle cloud et tous ses appareils attachés ou passerelles locales de tout autre trafic réseau. La passerelle cloud proprement dite n’est pas un système de contrôle d’appareil ni un site de traitement ou de stockage des données d’appareil. Ces fonctions servent d’interface avec la passerelle cloud. La zone de passerelle cloud inclut la passerelle cloud proprement dite ainsi que l’ensemble des passerelles de champ et des périphériques directement ou indirectement connectés à elle. La périphérie de la zone est une surface d’exposition distincte via laquelle toutes les parties externes communiquent.
Zone des services
Un service dans ce contexte est n’importe quel composant logiciel ou module qui sert d’interface pour des appareils via une passerelle locale ou cloud. Un service peut collecter des données à partir des appareils et des commandes, et peut contrôler ces appareils. Un service est un médiateur qui agit sous son identité vers les passerelles et d’autres sous-systèmes à :
- Stocker et analyser les données
- Émettre des commandes sur des appareils en fonction d’insights ou de planifications de données
- Exposer des informations et des fonctionnalités de contrôle aux utilisateurs finaux autorisés
Appareils IoT
Les périphériques IoT sont souvent des périphériques à usage spécifique. Cela va des simples capteurs de température aux chaînes de fabrication complexes comportant des milliers de composants. Voici quelques exemples de ce que des périphériques IoT sont en mesure d’effectuer :
- Mesurer et signaler des conditions environnementales
- Tourner des valves
- Contrôler des servomécanismes
- Émettre des alarmes sonores
- Allumer ou éteindre les lumières
L’objectif de ces appareils détermine leur conception technique et le budget disponible pour leur opération de production et de planification de durée de vie. La combinaison de ces facteurs limite le bilan énergétique opérationnel disponible, l’encombrement physique et les capacités de stockage, de calcul et de sécurité disponibles.
Voici quelques problèmes susceptibles d’arriver avec un appareil IoT automatisé ou contrôlé à distance :
- Des défauts physiques
- Des défauts de logique de contrôle
- Des intrusions et des manipulations non autorisées.
Les conséquences de ces défaillances peuvent être dramatiques, telles que des lots de production détruits et des bâtiments brûlés, ou même des blessés et des morts. Le standard de sécurité est donc élevé pour les appareils qui déplacent des éléments ou qui signalent des données de capteur qui entraînent des commandes qui provoquent le déplacement d’éléments.
Interactions du contrôle de périphérique et des données de périphérique
Les périphériques connectés à usage spécifique présentent un nombre important de surfaces d’exposition d’interaction potentielle et de modèles d’interaction, qui doivent être pris en considération pour fournir une infrastructure afin de sécuriser l’accès numérique à ces périphériques. L’accès numérique fait référence aux opérations effectuées par le biais de logiciels et de matériels plutôt que via un accès physique direct à l’appareil. Par exemple, l’accès physique peut être contrôlé en plaçant l’appareil dans une pièce avec un verrou sur la porte. Si l’accès physique ne peut pas être refusé avec des logiciels et du matériel, des mesures peuvent être prises pour interdire l’accès physique au système.
À mesure que vous explorez les modèles d’interaction, examinez les termes contrôle d’appareil et données d’appareil avec le même niveau d’attention. Le contrôle d’appareil fait référence aux informations fournies à un appareil avec l’intention de modifier son comportement. Le terme de données d’appareil désigne les informations qu’un appareil envoie à un tiers sur son état et l’état observé de son environnement.
Modélisation des menaces pour l’architecture de référence Microsoft Azure IoT
Cette section utilise l’architecture de référence Azure IoT pour montrer comment réfléchir à la modélisation des menaces pour IoT et comment traiter les menaces identifiées :
Le diagramme suivant fournit une vue simplifiée de l’architecture de référence à l’aide d’un modèle de diagramme de flux de données :
L’architecture sépare les fonctionnalités de l’appareil et de la passerelle locale. Cette approche vous permet d’utiliser des appareils de passerelle locale plus sécurisés. Les appareils de passerelles locales peuvent communiquer avec la passerelle cloud à l’aide de protocoles sécurisés, ce qui nécessite généralement une puissance de traitement supérieure à celle qu’un appareil simple (comme un thermostat, par exemple) peut fournir lui-même. Dans la Zone des services Azure du diagramme, la passerelle cloud est représentée par le service Azure IoT Hub.
En fonction de l’architecture décrite précédemment, les sections suivantes présentent quelques exemples de modélisation des menaces. Ces exemples se concentrent sur les éléments principaux d’un modèle de menace :
- Processus
- Communication
- Stockage
Processus
Voici quelques exemples de menaces existant dans la catégorie des processus. Les menaces sont classées en fonction du modèle STRIDE :
Usurpation d’identité : Un attaquant peut extraire des clés de chiffrement d’un appareil, au niveau logiciel ou matériel. L’attaque utilise ensuite ces clés pour accéder au système à partir d’un autre appareil physique ou virtuel à l’aide de l’identité de l’appareil d’origine.
Déni de service : un appareil peut être dans l’incapacité de fonctionner ou de communiquer en raison d’interférences avec des fréquences radio ou d’une rupture de câbles. Par exemple, une caméra de surveillance dont l’alimentation ou la connexion réseau ont été intentionnellement interrompues ne communiquera pas de données du tout.
Falsification : Un attaquant peut remplacer partiellement ou entièrement le logiciel sur l’appareil. Si les clés de chiffrement de l’appareil sont disponibles pour le code des attaquants, elles peuvent ensuite utiliser l’identité de l’appareil.
Falsification : Une caméra de surveillance montrant une image de spectre visible d’un couloir vide peut être forcée d’afficher une photo de ce couloir. Un capteur de détection de fumée ou d’incendie peut signaler la présence d’une personne utilisant un briquet. Dans les deux cas, l’appareil peut être techniquement fiable pour le système, alors qu’il rapporte des informations manipulées.
Falsification : Un attaquant peut utiliser des clés de chiffrement extraites pour intercepter et supprimer les données envoyées à partir de l’appareil et les remplacer par de fausses données authentifiées avec les clés volées.
Divulgation d’informations : si l’appareil exécute des logiciels manipulés, ceux-ci peuvent potentiellement créer une fuite des données vers des tiers non autorisés.
Divulgation d’informations : Un attaquant peut utiliser des clés de chiffrement extraites pour injecter du code dans la voie de communication entre l’appareil et la passerelle locale ou la passerelle cloud afin de détourner des informations.
Déni de service : L’appareil peut être désactivé ou activé dans un mode interdisant les communications (ce qui est intentionnel dans de nombreuses machines industrielles).
Falsification : l’appareil peut être reconfiguré de manière à fonctionner dans un état inconnu du système de contrôle (hors des paramètres d’étalonnage connus), et donc fournir des données qui peuvent être mal interprétées
Élévation de privilège : un appareil qui exécute une fonction spécifique peut être contraint d’en exécuter une autre. Par exemple, une vanne programmée pour s’ouvrir à mi-chemin peut à tort s’ouvrir tout le temps.
Usurpation d’identité/Falsification/Répudiation : si l’appareil n’est pas sécurisé (ce qui est souvent le cas avec les télécommandes grand public), une personne malveillante peut manipuler l’état d’un appareil de façon anonyme. Un bon exemple est celui d’une télécommande qui peut éteindre n’importe quel téléviseur.
Le tableau suivant présente des exemples d’atténuations de ces menaces. Les valeurs de la colonne des menaces sont des abréviations :
- Usurpation (U)
- Falsification (F)
- Répudiation (R)
- Divulgation d’informations (I)
- Déni de service (D)
- Élévation de privilège (E)
Composant | Menace | Limitation des risques | Risque | Implémentation |
---|---|---|---|---|
Appareil | S | Affectation d’une identité au périphérique et authentification de ce dernier. | Remplacement du périphérique ou d’une partie du périphérique par un autre périphérique. Comment savoir si vous vous adressez au bon appareil ? | Authentification du périphérique à l’aide du protocole TLS (Transport Layer Security) ou IPSec. L’infrastructure doit prendre en charge l’utilisation d’une clé prépartagée (PSK) sur les périphériques qui ne peuvent pas gérer le chiffrement asymétrique complet. Utilisez Microsoft Entra ID, OAuth. |
TRID | Application de mécanismes inviolables à l’appareil, par exemple, en rendant difficile, voire impossible, l’extraction de clés et d’autres éléments de chiffrement de cet appareil. | Falsification du périphérique (interférence physique) par un tiers. Comment être sûr que personne n’a falsifié l’appareil ? | L’atténuation la plus efficace est un module de plateforme sécurisée (TPM). Un module de plateforme sécurisée (TPM) stocke les clés, mais ne les autorise pas à être lues. Toutefois, le module TPM lui-même peut utiliser les clés pour les opérations de chiffrement. Chiffrement de la mémoire du périphérique. Gestion des clés du périphérique. Signature du code. | |
E | Disposer du contrôle d’accès du périphérique. Schéma d’autorisation. | Si l’appareil permet d’effectuer des actions individuelles basées sur des commandes provenant d’une source externe, voire de capteurs compromis, il permet aux personnes malveillantes d’effectuer des opérations non accessibles par ailleurs. | Avoir un schéma d’autorisation pour l’appareil. | |
Passerelle de champ | S | Authentification de la passerelle de champ auprès de la passerelle cloud (par ex. basée sur les certificats, clé prépartagée, basée sur les revendications...) | Si quelqu’un peut usurper l’identité de la passerelle de champ, elle peut alors se présenter comme un périphérique. | TLS RSA/PSK, IPSe, RFC 4279. Mêmes préoccupations de stockage et d’attestation de clés des périphériques en général ; la meilleure approche consiste à utiliser le module de plateforme sécurisée. Extension 6LowPAN pour IPSec afin de prendre en charge des réseaux de capteurs sans fil (WSN). |
TRID | Protection de la passerelle de champ contre la falsification (TPM) | Les attaques par usurpation induisent la passerelle cloud en erreur en lui faisant croire qu’elle communique avec une passerelle locale, ce qui peut entraîner la divulgation d’informations et la falsification des données | Chiffrement de la mémoire, TPM, authentification. | |
E | Mécanisme de contrôle d’accès pour la passerelle de champ |
Communication
Voici quelques exemples de menaces dans la catégorie des communications. Les menaces sont classées en fonction du modèle STRIDE :
Déni de service : Les appareils contraints sont généralement sous menace de déni de service lorsqu’ils écoutent activement les connexions entrantes ou les datagrammes non sollicités sur un réseau. Un attaquant peut ouvrir de nombreuses connexions en parallèle et ne pas les traiter ou les traiter lentement, ou inonder l’appareil avec du trafic non sollicité. Dans les deux cas, le périphérique peut être effectivement rendu inutilisable sur le réseau.
Usurpation, divulgation d’informations : Les appareils limités et les appareils à usage spécial ont souvent des installations de sécurité uniques, telles que la protection par mot de passe ou par code confidentiel. Parfois, ils s’appuient entièrement sur l’approbation du réseau et accordent l’accès aux informations à n’importe quel appareil qui se trouve sur le même réseau. Si le réseau est protégé par une clé partagée qui est divulguée, un attaquant peut contrôler l’appareil ou observer les données qu’il transmet.
Usurpation d’identité : Un attaquant peut intercepter ou remplacer partiellement la diffusion et usurper l’identité du donneur d’ordre.
Falsification : Un attaquant peut intercepter ou partiellement remplacer la diffusion et envoyer de fausses informations.
Divulgation d’informations : Un attaquant peut espionner une diffusion et obtenir des informations sans autorisation.
Déni de service : Un attaquant peut bloquer le signal de diffusion et refuser la distribution d’informations.
Le tableau suivant présente des exemples d’atténuations de ces menaces :
Composant | Menace | Limitation des risques | Risque | Implémentation |
---|---|---|---|---|
IoT Hub de périphérique | TID | (D)TLS (PSK/RSA) pour chiffrer le trafic | Écoute électronique ou interférence de la communication entre le périphérique et la passerelle. | Sécurité au niveau du protocole. Dans le cas de protocoles personnalisés, vous devez déterminer comment les protéger. Dans la plupart des cas, la communication s’effectue du périphérique vers l’IoT Hub (le périphérique établit la connexion). |
Appareil vers appareil | TID | (D)TLS (PSK/RSA) pour chiffrer le trafic. | Lecture des données en transit entre les périphériques. Falsification des données. Surcharge du périphérique avec de nouvelles connexions. | Sécurité au niveau du protocole (MQTT/AMQP/HTTP/CoAP). Dans le cas de protocoles personnalisés, vous devez déterminer comment les protéger. La prévention des attaques par déni de service consiste à homologuer des périphériques via une passerelle cloud ou de champ et à les faire agir comme des clients pour le réseau. Une fois que la passerelle répartit le peering, il peut y avoir une connexion directe entre les pairs. |
Périphérique d’entité externe | TID | Couplage fort de l’entité externe au périphérique. | Écoute électronique de la connexion au périphérique. Interférence de la communication avec le périphérique. | Couplage sécurisé de l’entité externe au périphérique NFC/Bluetooth LE. Contrôle du panneau de commandes de l’appareil (physique). |
Passerelle de champ Passerelle cloud | TID | TLS (PSK/RSA) pour chiffrer le trafic. | Écoute électronique ou interférence de la communication entre le périphérique et la passerelle. | Sécurité au niveau du protocole (MQTT/AMQP/HTTP/CoAP). Dans le cas de protocoles personnalisés, vous devez déterminer comment les protéger. |
Passerelle cloud de périphérique | TID | TLS (PSK/RSA) pour chiffrer le trafic. | Écoute électronique ou interférence de la communication entre le périphérique et la passerelle. | Sécurité au niveau du protocole (MQTT/AMQP/HTTP/CoAP). Dans le cas de protocoles personnalisés, vous devez déterminer comment les protéger. |
Stockage
Le tableau suivant présente des exemples d’atténuations de ces menaces du stockage :
Composant | Menace | Limitation des risques | Risque | Implémentation |
---|---|---|---|---|
Stockage du périphérique | TRID | Chiffrement du stockage, signature des journaux d’activité. | Lecture des données de l’espace de stockage, falsification des données de télémétrie. Falsification des données de contrôle de commande en file d’attente ou mises en cache. La falsification des packages de configuration ou de mise à jour de microprogramme alors que des données sont mises en cache ou en file d’attente peut entraîner la compromission des composants du système d’exploitation et/ou des composants système | Chiffrement, code d’authentification de message (MAC) ou signature numérique. Si possible, contrôle d’accès renforcé via des listes de contrôle d’accès aux ressources (ACL) ou des autorisations. |
Image de système d’exploitation de périphérique | TRID | Falsification du système d’exploitation/remplacement des composants du système d’exploitation. | Partition du système d’exploitation en lecture seule, image du système d’exploitation signée, chiffrement | |
Stockage de passerelle de champ (mise en file d’attente des données) | TRID | Chiffrement du stockage, signature des journaux d’activité. | Lecture des données de l’espace de stockage, falsification des données de télémétrie, falsification des données de contrôle de commande en file d’attente ou mises en cache. La falsification des packages de configuration ou de mise à jour de microprogramme (destinés aux appareils ou à la passerelle de champ) alors que des données sont mises en cache ou en file d’attente peut entraîner la compromission des composants du système d’exploitation et/ou des composants système | BitLocker |
Image de système d’exploitation de passerelle de champ | TRID | Falsification du système d’exploitation/remplacement des composants du système d’exploitation. | Partition du système d’exploitation en lecture seule, image du système d’exploitation signée, chiffrement. |
Étapes suivantes
Pour en savoir plus sur la sécurité IoT, consultez :