Architecture de sécurité pour les solutions IoT
Lorsque vous concevez et concevez 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 permet de vous assurer que les mesures d’atténuation 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 n’êtes pas familiarisé avec 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 utile 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 données et exigences d’authentification et d’autorisation. Vous pouvez également utiliser des zones pour isoler les dommages et limiter l’impact des zones de confiance faible sur les zones d’approbation plus élevées.
Chaque zone est séparée par une limite d’approbation, représentée par la ligne rouge pointillée dans le diagramme suivant. Il représente une transition de données d’une source à une autre. Pendant cette transition, les données peuvent être soumises aux menaces suivantes :
- Usurpation
- Falsification
- Répudiation
- Divulgation d’informations
- Déni de service
- Élévation de privilège
Pour plus d’informations, consultez le modèle STRIDE.
Vous pouvez utiliser STRIDE pour modéliser les menaces pour chaque composant de 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 l’appareil
L’environnement de l’appareil est l’espace autour de l’appareil où l’accès physique et l’accès numérique réseau local à l’appareil sont possibles. Un réseau local est supposé être distinct et isolé de l’Internet public, mais potentiellement lié à celui-ci. L’environnement de l’appareil inclut toute technologie de radio sans fil à courte portée qui permet la communication d’égal à égal des appareils. Il n’inclut aucune technologie de virtualisation de réseau créant 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 sur l’espace réseau public s’ils entrent dans une relation de communication d’égal à égal.
Zone de passerelle de champ
Une passerelle de champ est un appareil, un Appliance ou un logiciel informatique serveur à usage général qui agit en tant qu’outil de communication et, éventuellement, en tant que système de contrôle d’appareil et hub de traitement des données d’appareil. La zone de passerelle de champ inclut la passerelle de champ elle-même et tous les appareils qui y sont attachés. Les passerelles de champ agissent en dehors des installations de traitement des données dédiées, sont généralement liées à l’emplacement, sont potentiellement soumises à une intrusion physique et ont une redondance opérationnelle limitée. Une passerelle de terrain est généralement une chose qu’un attaquant peut physiquement saboter s’il obtient un accès physique.
Une passerelle de champ diffère d’un routeur de trafic en ce qu’elle a joué 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’un d’eux fait face aux appareils qui y sont attachés et représente l’intérieur de la zone. L’autre fait face à toutes les parties externes et est le bord de la zone.
Zone de passerelle cloud
Une passerelle cloud est un système qui permet la communication à distance depuis et vers des appareils ou des passerelles de terrain déployées sur plusieurs sites. La passerelle cloud active 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 ces systèmes. Dans certains cas, une passerelle cloud peut faciliter l’accès immédiat aux appareils à usage spécifique à partir de terminaux comme les tablettes ou les téléphones. Dans la zone de passerelle cloud, les mesures opérationnelles empêchent l’accès physique ciblé et ne sont pas nécessairement exposées à une infrastructure de cloud public.
Une passerelle cloud peut être mappée dans une superposition de virtualisation de réseau pour isoler la passerelle cloud et tous ses appareils attachés ou passerelles de champ de tout autre trafic réseau. La passerelle cloud elle-même n’est pas un système de contrôle d’appareil ou une installation de traitement ou de stockage pour les données de l’appareil ; ces installations s’interfacent 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. Le bord de la zone est une surface distincte par laquelle toutes les parties externes communiquent.
Zone des services
Un service dans ce contexte est un composant logiciel ou un module qui s’interface avec des appareils via un champ ou une passerelle cloud. Un service peut collecter des données à partir des appareils et commander et contrôler ces appareils. Un service est un médiateur qui agit sous son identité envers les passerelles et autres sous-systèmes pour :
- Stocker et analyser des données
- Émettre des commandes sur des appareils en fonction d’insights de données ou de planifications
- Exposer des informations et des fonctionnalités de contrôle aux utilisateurs finaux autorisés
Appareils IoT
Les appareils IoT sont souvent des appareils à usage spécial qui vont de simples capteurs de température à des lignes de production d’usine complexes avec des milliers de composants à l’intérieur. Voici quelques exemples de fonctionnalités d’appareil IoT :
- Mesurer et signaler les conditions environnementales
- Robinets tournants
- Contrôle des servos
- Alarmes sonores
- Allumer ou éteindre les lumières
L’objectif de ces appareils détermine leur conception technique et le budget disponible pour leur production et leur durée de vie planifiée. La combinaison de ces facteurs limite le budget d’énergie opérationnelle disponible, l’empreinte physique et les capacités de stockage, de calcul et de sécurité disponibles.
Voici quelques exemples de problèmes liés à un appareil IoT automatisé ou contrôlé à distance :
- Défauts physiques
- Défauts de logique de contrôle
- Intrusion et manipulation volontaire non autorisée.
Les conséquences de ces défaillances peuvent être graves comme la destruction de lots de production, les bâtiments brûlés, ou les blessures et la mort. Par conséquent, il existe une barre de sécurité élevée pour les appareils qui font bouger les choses ou qui signalent des données de capteur qui entraînent des commandes qui provoquent le déplacement des é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 par l’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 une serrure 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.
Lorsque vous explorez les modèles d’interaction, examinez le contrôle d’appareil et les données des appareils avec le même niveau d’attention. Le contrôle d’appareil fait référence à toute information fournie à un appareil dans l’intention de modifier son comportement. Les données d’appareil font référence aux informations qu’un appareil émet à toute autre partie sur son état et l’état observé de son environnement.
Modélisation des menaces pour l’architecture de référence 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 passerelle de l’appareil et de la passerelle de champ. Cette approche vous permet d’utiliser des appareils de passerelle de champ plus sécurisés. Les appareils de passerelle de terrain peuvent communiquer avec la passerelle cloud à l’aide de protocoles sécurisés, qui nécessitent généralement une puissance de traitement supérieure à celle qu’un appareil simple, tel qu’un thermostat, peut fournir par lui-même. Dans la zone de services Azure du diagramme, le service Azure IoT Hub est la passerelle cloud.
En fonction de l’architecture décrite précédemment, les sections suivantes présentent des exemples de modélisation des menaces. Les exemples se concentrent sur les éléments principaux d’un modèle de menace :
- Processus
- Communication
- Stockage
Processus
Voici quelques exemples de menaces dans la catégorie 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 du logiciel ou du matériel. L’attaquant 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 coupure de câbles. Par exemple, une caméra de surveillance dont l’alimentation ou la connexion réseau a été intentionnellement mise hors service ne peut pas du tout signaler de données.
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, il peut utiliser l’identité de l’appareil.
Falsification : Une caméra de surveillance qui montre une image à spectre visible d’un couloir vide pourrait être dirigée vers une photo d’un tel 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 s’avérer techniquement tout à fait 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 un logiciel manipulé, celui-ci peut créer une fuite de 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 le chemin de communication entre l’appareil et la passerelle de champ ou la passerelle cloud pour siphonner les informations.
Déni de service : l’appareil peut être désactivé ou transformé en mode où la communication n’est pas possible (ce qui est intentionnel dans de nombreuses machines industrielles).
Falsification : L’appareil peut être reconfiguré pour fonctionner dans un état inconnu du système de contrôle (hors des paramètres d’étalonnage connus) et fournir ainsi des données pouvant ê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/Falsification/Répudiation : Si l’appareil n’est pas sécurisé (ce qui est souvent le cas avec les télécommandes grand public), un attaquant peut manipuler de façon anonyme l’état d’un appareil. Une bonne illustration est une télécommande qui peut éteindre n’importe quel téléviseur.
Le tableau suivant montre des exemples d’atténuation de ces menaces. Les valeurs de la colonne menace sont des abréviations :
- Usurpation d’identité (S)
- Falsification (T)
- Répudiation (R)
- Divulgation d’informations (I)
- Déni de service (D)
- Élévation de privilèges (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 savez-vous que vous parlez avec le 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 de la clé prépartagée (PSK) sur les appareils qui ne peuvent pas gérer le chiffrement asymétrique complet. Utilisez Azure AD, 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 êtes-vous sûr que cet appareil n’a pas été falsifié. | L’atténuation la plus efficace est un module de plateforme approuvée (TPM). Un TPM stocke les clés dans des circuits spéciaux sur puce à partir desquels les clés ne peuvent pas être lues, mais ne peuvent être utilisées que pour les opérations de chiffrement qui utilisent la clé. 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 d’usurpation d’identité qui trompent la passerelle cloud en pensant qu’elle parle à la passerelle de terrain peuvent 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 de communication. Les menaces sont classées en fonction du modèle STRIDE :
Déni de service : les appareils contraints sont généralement sous la menace DoS 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 de trafic non sollicité. Dans les deux cas, le périphérique peut être effectivement rendu inutilisable sur le réseau.
Usurpation d’identité, divulgation d’informations : les appareils contraints et les appareils à usage spécial ont souvent des fonctionnalités de sécurité un pour toutes, telles que la protection par mot de passe ou 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 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 l’usurpation de l’expéditeur.
Falsification : un attaquant peut intercepter ou remplacer partiellement 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 montre des exemples d’atténuation 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 a réparti le peering, il peut y avoir une connexion directe entre les homologues. |
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énuation des menaces de 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 à partir du 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 de 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 à partir du stockage, falsification des données de télémétrie, falsification des données de contrôle de commande mises 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 :