La sécurité de l'IoT est un sujet important car les appareils IoT sont utilisés dans de nombreux domaines d'application : maisons, villes, hôpitaux, infrastructures critiques, etc. Ces appareils ont été récemment utilisés dans diverses attaques causant de nombreux dommages à l'échelle d'Internet. Ainsi, l'évaluation de la sécurité de ces appareils en ce qui concerne leurs composants logiciels et matériels, leur interaction avec d'autres appareils et services est de la plus haute importance.
Comment automatiser l’évaluation de la sécurité ?
Avez-vous pensé à une suite d'outils pour l'évaluation de la sécurité des appareils IoT ? Elle pourrait principalement s'appuyer sur les informations collectées via l'analyse passive et active d'un appareil IoT en cours d'exécution dans son environnement d'exploitation pour créer sa base de connaissances en matière de sécurité. Les communications réseau de l'appareil IoT, son logiciel en cours d'exécution et les propriétés matérielles disponibles sont collectées via les techniques de sondage.
Les données collectées peuvent être analysées pour extraire des informations relatives à l'appareil à l'aide du composant Knowledge Extraction. Ce dernier est également utilisé pour extraire, respectivement des bases de données CERT/CSIRT, CPE, CVE, CAPEC et CWE, les vulnérabilités, les faiblesses, les modèles de menaces et les énumérations de plateformes associées. Les informations extraites peuvent ensuite être utilisées pour construire le graphe de connaissances associé à l'appareil et à ses environnements.
Nous pourrions alors extraire activement des informations d’un appareil en appliquant les étapes suivantes :
- analyser l'appareil à la recherche de ports ouverts, effectuer une empreinte digitale du système d'exploitation et des services et extraire toutes les informations disponibles pour les services identifiés ;
- effectuer des attaques par force brute sur la gestion des appareils ou les interfaces utilisateur pour tester un ensemble d'informations d'identification (SSH et Telnet sont actuellement pris en charge) ;
- effectuer des tests de boîte grise et une extraction d'informations en se connectant à l'appareil.
Nous pourrions également collecter passivement des informations sur le réseau des appareils en capturant le trafic échangé. Cela repose sur une approche de type boîte noire pour observer les communications des appareils afin d'en déduire leurs capacités ou leurs comportements.
La base de connaissances en matière de sécurité pourrait être basée sur une base de données basée sur des graphes pour stocker les documents de renseignement sur les cybermenaces et le cadre informatique pour le traitement des graphes. Plus précisément, les bases de données suivantes pourraient être créées :
- cve : Vulnérabilités et expositions courantes. Il rassemble des informations publiques sur les vulnérabilités de sécurité.
- cwe : énumération des faiblesses courantes en matière de sécurité logicielle. Il s'agit d'une liste élaborée par la communauté des faiblesses courantes en matière de sécurité logicielle.
- capec : Énumération et classification des modèles d'attaque courants. Il s'agit d'un dictionnaire des modèles d'attaque connus.
- cpe : Plateforme commune, Énumération, URI pour identifier les plateformes matérielles, les systèmes d'exploitation, les applications/logiciels.
Lors de l'évaluation de la sécurité d'un appareil, la base de connaissances de sécurité peut contenir deux graphiques :
- un graphique de connaissances
- un graphique de vulnérabilité.
Les graphes peuvent être traités via des parcours de graphe permettant d'exécuter des requêtes sur un graphe pour extraire des informations ou vérifier la présence d'une capacité ou d'une fonctionnalité sur l'appareil IoT. Cette fonctionnalité pourrait être utilisée pour implémenter l'outil de vérification. Cet outil pourrait prendre comme paramètres un catalogue JSON de propriétés de sécurité individuelles à vérifier dans le Knowledge Graph, un fichier JSON contenant une liste de modèles de sécurité organisant ces propriétés pour l'appareil IoT adressé, et un fichier XML décrivant les exigences fonctionnelles à vérifier et leur stratégie de vérification en utilisant les dépendances internes et les modèles de sécurité.
Vérification automatisée des exigences
Afin de valider les exigences de sécurité, nous pourrions définir des profils de sécurité afin de valider ces exigences. Ces profils répertorient les fonctionnalités ou comportements de sécurité à vérifier dans le Knowledge Graph d'un appareil et pourraient être utilisés pour vérifier les utilisations ou paramètres appropriés ou inappropriés et même annoter le graphique. Ces profils sont définis via des propriétés de sécurité et combinés dans des modèles de sécurité. Par exemple, dans le contexte des critères communs (CC), qui sont une norme internationale pour la certification des produits TIC, une cible de sécurité ou un profil pourrait être créé pour la cible d'évaluation (TOE), qui est le produit lui-même ou une partie du produit ou un système faisant l'objet de l'évaluation. L'évaluation automatisée sert à valider les déclarations de sécurité faites par le fournisseur à propos de cette cible. Selon le niveau d'assurance de sécurité, les exigences pourraient être vérifiées plus ou moins dans un modèle semi-automatisé.
Si vous souhaitez en savoir plus sur les techniques d'automatisation de l'évaluation de la sécurité IoT et sur la manière dont elles pourraient s'appliquer à votre entreprise, contactez des experts spécialisés .