Comment évaluer la sécurité des réseaux d'objets connectés (1/3)

JonathanLe 25 octobre 2019

Cet article est le premier d'une série de trois dont l'objectif est de vous présenter ce qu'est l'IoT, mais également de détailler le projet de recherche et de développement démarré chez AlgoSecure en partenariat avec le laboratoire CITI à l'INSA de Lyon.

Ce premier article sert d'introduction générale à l'IoT et au projet R&D démarré chez AlgoSecure. Puis dans un second article, nous entrerons en détails dans le sujet de la thèse avec les premiers résultats et objectifs. Cette série ce terminera par un article détaillant l'outil en développement répondant aux attentes du projet R&D.

L'Internet des objets

L'IoT ou Internet des objets fait référence à un réseau d'objets physiques (ou things) capables de communiquer entre eux et avec des entités extérieures, d'interagir avec le monde réel. Chaque objet possède ses propres capacités de puissance de calcul et sensorielles entraînant des interactions complexes avec leur environnement ou les utilisateurs. L'IoT connaît une croissance rapide et le nombre d'objets connectés augmente fortement pour atteindre plusieurs milliards d'objets d'ici à 2020.

architecture iot

La figure ci-dessus représente notre vision de l'architecture IoT mettant en avant les différentes caractéristiques propre à l'IoT telles que :

  • l'hétérogénéité : les réseaux sont composés d'objet différent par leur type, leur matériel ainsi que leur fonctionnalité.
  • la mobilité : les objets du réseaux n'ont pas de place fixe et peuvent se situer à différents endroits à des temps différents.
  • la distributivité : les réseaux d'objets connectés forment une architecture distribuée où les ressources ne sont pas stockées sur un noeud central.
  • l'évolutivité : les réseaux d'objets connectés sont en perpétuel évolution avec l'ajout de nouveaux objets voire même l'insertion de réseau entier.

Elle met également en avant une interconnexion de différents réseaux par le biais d'Internet mais également la relation entre les réseaux classiques existants et les nouveaux réseaux constitués de plusieurs objets connectés.

L'(in)sécurité de l'IoT

Le potentiel commercial de l'IoT pousse les fabricants de protocoles et d'objets connectés ainsi que les vendeurs à mettre sur le marché leurs solutions de manière prématurée, reléguant généralement la sécurité au second plan.

Pour autant, ces objets sont déployés dans les villes connectées, au sein de nombreux secteurs critiques tels que la santé ou l'industrie, ou encore chez les particuliers. La menace est d'autant plus dangereuse que les objets ne sont pas isolés mais directement connectés au réseau local voire directement sur Internet. Le manque de cloisonnement expose le réseau à une compromission totale en cas d'attaque sur un objet.

Différents travaux montrent qu'il est facile de prendre le contrôle d'objets connectés, et par conséquent, d'avoir accès au réseau privé des particuliers ou des entreprises. D'autres travaux mettent en avant les façons d'exploiter les objets et ainsi pouvoir récupérer des informations sensibles telles que les mots de passe d'administration de ces objets. Ci-dessous quelques exemples d'articles traitant d'attaques sur les objets connectés.

sécurité iot

Améliorer la sécurité de l'IoT

Il existe plusieurs façons d'améliorer la sécurité dans l'IoT, que nous avons choisi de synthétiser avec le schéma suivant :

schéma amélioration sécurité iot

Nous séparons les principaux acteurs en 3 avec les organismes d'autorité d'un côté, les fabricants et les utilisateurs de l'autre, avec pour chaque entité le niveau de connaissance qu'il possède :

  • Boîte blanche : Niveau de connaissance totale, l'acteur connaît les processus de fabrications, les détails et codes source des différents logiciels des objets.
  • Boîte grise : Niveau de connaissance partiel, l'acteur est en mesure d'identifier certain processus de fabrication, et n'a que peu de donnée sur la façon dont sont implémentés les logiciels.
  • Boîte noire : Niveau de connaissance faible, l'acteur dispose uniquement des informations pour utiliser son objet.

Nous proposons différentes solutions pour améliorer la sécurité de l'IoT en fonction de l'entité et du niveau de connaissance lié. Par exemple, une solution pour les fabricants serait de mettre en place des processus d'audit de code et des bonnes pratiques de programmation lors du développement d'applications ou logiciels pour les objets connectés. Définir des standards de sécurité que chaque fabricant se doit d'appliquer afin de pouvoir déployer ses objets pourrait être une solution au niveau des autorités gouvernementales. L'utilisateur dispose finalement de peu de solutions, hormis le test d'intrusion, pour vérifier la sécurité de son réseau.

Notre projet R&D

Le projet de recherche démarré chez AlgoSecure en partenariat avec le laboratoire CITI de l'INSA de Lyon se place dans le cas des utilisateurs finaux. Concrètement, cela consiste à utiliser les tests d'intrusion pour évaluer la sécurité d'un système d'objets connectés. L'objectif du projet est de proposer un outil d'assistance aux différentes étapes d'un test d'intrusion adapté au réseau IoT.

De nombreux frameworks existent déjà comme par exemple killerbee, Z3sec. Cependant, ces solutions sont propre à un protocole (ZigBee pour les exemples ci-contre) et ne conviennent pas à toutes les étapes d'une méthodologie de test d'intrusion.

Avec ce projet, nous voulons proposer une manière simplifiée de récupérer les informations d'un réseau et identifier quels sont les points intéressants à cibler en priorité lors d'un test d'intrusion, et ce pour différents protocoles.

Vous avez activé l'option "Do Not Track" dans votre navigateur, nous respectons ce choix et ne suivons pas votre visite.