Pentest Internet des objets – Test d’intrusion IoT

Pentest Internet des objets (IOT)

Les entreprises sont conscientes de l’importance de la sécurité de leur système d’information et investissent pour l’améliorer, notamment à l’aide de différents types de tests d’intrusions. Il est cependant un domaine parfois négligé, la sécurité des objets connectés. De plus en plus présents dans l’entreprise comme chez les particuliers, les objets connectés, même conçus selon l’approche « security by design », ne sont pas exempts de failles de sécurité. Les tests d’intrusion IoT sont naturellement un moyen efficace de détecter les vulnérabilités d’un objet connecté.

Qu’est-ce qu’un test d’intrusion IoT ?

« IoT » signifie « Internet of Things » ou encore en français « Internet des objets ». Ce terme représente l’ensemble des différents objets connectés et échangeant des données via Internet. Ils sont de plus en plus répandus dans tous les domaines. Il peut s’agir d’une montre, de lunettes à réalité augmentée utilisée dans l’industrie, d’éléments d’identification, d’équipements de sécurité pour les personnes travaillant dans des zones à risque et bien sûr de tout le matériel domotique, depuis l’interrupteur ou la lampe pilotée par une application jusqu’au réfrigérateur connecté.

Comme pour les systèmes informatique, le pentest IOT va consister à vérifier si un dispositif présente des failles de sécurité susceptibles de permettre à un hacker ou pirate d’en prendre le contrôle, de l’endommager ou encore d’accéder à des données sensibles ou personnelles.

Un objet connecté est souvent lié à une application serveur avec laquelle il échange des données. L’équipement pourra peut-être être piloté depuis une interface web ou une application mobile. Tous ces éléments peuvent faire l’objet d’un test d’intrusion de la même façon que n’importe quel système informatique. Là où l’objet connecté diffère des systèmes classiques, c’est que le pentest internet of things devra également prendre en compte des composantes spécifiques : de l’électronique, un logiciel embarqué et des protocoles de communication.

Que couvre à un pentest IOT ?

Le test d’intrusion spécifique à l’Internet des objets va se concentrer autour de trois types d’attaques informatiques : les attaques logicielles ou software, les attaques hardware non invasives et les attaques hardware invasives.

Les attaques logicielles

Les attaques logicielles sont un classique de la cybersécurité. Elles consistent à identifier et à exploiter les vulnérabilités logicielles de l’objet. Pour communiquer et échanger des données, le logiciel embarqué utilisera des ports de communication. Si un port est ouvert, il est possible de l’utiliser et s’il est fermé, il est impossible d’échanger des données par ce biais. Il est malheureusement courant que des ports non utilisés aient été oubliés et qu’ils ne soient pas fermés. Ils représentent autant de portes d’entrée logicielles.

Les objets connectés utilisant généralement une technologie sans fil pour communiquer, l’auditeur va tenter d’intercepter ces communications afin de vérifier si elles sont chiffrées. Il pourra également tenter d’introduire du code malveillant au sein du logiciel embarqué et naturellement de casser les mots de passe qui seraient faiblement protégés ou pire encore, qui auraient été laissés à leur valeur par défaut comme c’est malheureusement trop souvent le cas.

Les attaques hardware non invasives

Le pentest consiste, dans un premier temps, à vérifier si les données sont chiffrées ou bien si elles sont stockées en clair. L’utilisation du chiffrement des données demande d’équiper le matériel de suffisamment de mémoire et d’une batterie capable de tenir la charge nécessaire. Malheureusement, les constructeurs font parfois l’impasse sur le chiffrement afin de réduire les coûts de fabrication. Et si un algorithme de chiffrement est utilisé, encore faut-il qu’il soit suffisamment robuste pour apporter un niveau de sécurité satisfaisant.

Le logiciel embarqué faisant fonctionner l’objet est stocké dans une puce, généralement un microcontrôleur. On l’appelle le firmware. Pour effectuer le reverse engineering et identifier ses vulnérabilités, le plus simple est d’obtenir une copie du firmware. Un microcontrôleur dispose généralement d’une fonction native de « dump » permettant d’effectuer une copie du firmware dans le but d’effectuer des opérations de maintenance, de sauvegarde ou de développement. Normalement, cette fonction est protégée et ne peut pas être utilisée. Mais il peut arriver que les protections n’aient tout simplement pas été mises en place. Certains logiciels permettent de se connecter au microcontrôleur et de faire ainsi une copie du firmware qui peut alors être exploitée pour détecter d’éventuelles failles de sécurité.

Les attaques hardware invasives

L’auditeur va tout simplement se procurer l’objet et le démonter afin d’analyser et d’identifier ses composants. En fonction du temps et des moyens à sa disposition, le pentester pourra obtenir de précieuses informations.

Un simple examen visuel permettra de déterminer les différents composants utilisés, leurs références… L’identification d’un processeur peut permettre de déterminer les potentielles failles de sécurité déjà répertoriées.

Des logiciels permettent également d’analyser la position et la nature des composants sur la carte électronique et d’en déduire ainsi le fonctionnement du matériel lors d’une étape de reverse engineering poussé.

Quand recourir au test d’intrusion IoT ?

Idéalement, le pentest internet of things devrait avoir lieu dès la phase de développement de l’objet. Cela permet de vérifier dès le prototypage que les sécurités sont bien en place et qu’il n’y a pas de faille de sécurité.
Il peut également être mis en place au moment de la production afin de vérifier qu’aucune vulnérabilité n’a été introduite depuis le développement.

Enfin, le test d’intrusion peut bien sûr avoir lieu alors que le produit est déjà commercialisé. Il sera peut-être alors plus difficile de corriger les failles relevées.

Vous pourriez également être intéressé par les articles suivants :

Pentest d'ingenierie sociale

Pentest d’ingénierie sociale

On dit souvent en parlant de la sécurité que la principale faiblesse vient de l’être humain. Cela est vrai également lorsqu’il s’agit de sécurité informatique.

Test d'intrusion applicatif

Test d’intrusion applicatif

Les applications informatiques sont nombreuses au sein d’une entreprise. Qu’elles soient externes, comme des sites web accessibles au public ou des applications mobiles, ou internes,

Tests d'intrusion en environnement Cloud

Test d’intrusion environnement Cloud

Amazon Web Service (AWS), Microsoft Azure et Google Cloud sont sans doute les plus connus. Les offres d’hébergement cloud sont désormais suffisamment matures pour que

Pentest Reseau externe

Test d’intrusion Réseau Externe

Les entreprises sont très exposées via les outils numériques. Pour exister, il faut être vu et les sites web ainsi que les nombreux réseaux sociaux

Pentest Reseau interne

Test d’intrusion Réseau Interne

Lorsque l’on pense « sécurité informatique » et cyberattaque, on a souvent l’image du pirate qui opère depuis un lieu tenu secret. Mais le risque

Test d'intrusion Reseau Wifi

Test d’intrusion Réseau Sans Fil – Wifi

Si beaucoup d’immeubles sont câblés et disposent d’un réseau filaire efficace, les points d’accès Wifi se multiplient malgré tout en entreprise. Pratique, facile à installer