MENU
Hardsploit, l’outil d’audit matériel automatisé
28
Jan

SERMA développe depuis quelques années l’outil HardSploit permettant d’auditer la sécurité des appareils IoT.
Interview avec notre ingénieur sécurité IoT.

Pourquoi avoir eu l’idée de créer Hardsploit ?

Les outils pour réaliser les tests d’intrusion web ou infrastructure réseau sont accessibles et une multitude d’outils existent pour faciliter ces tests (metasploit, powersploit, burps, acunetix, nessus…).

Cependant, les entreprises du monde entier sont aujourd’hui ultras connectées. Leurs opérations utilisent de plus en plus d’objets connectés qui communiqueront bientôt avec la 5G. Le marché de l’IoT est en plein essor : en 2024, il est estimé à 20,4 milliards d’objets. La multiplication de ces objets fait évoluer de façon exponentielle les risques d’attaques et les vulnérabilités.

La capacité de réponse opérationnelle des acteurs des domaines de l’IoT, du matériel et des logiciels embarqués n’est généralement pas à la hauteur du risque cyber. Cela s’explique en partie par le défaut de prise en compte des enjeux de sécurité dès les phases de conception de l’objet connecté. Bien que l’ensemble des couches logicielles des produits sur le marché commencent à se sécuriser, des vulnérabilités importantes sont laissées au niveau matériel.

Ces vulnérabilités permettent aux attaquants de lire des données qui sont stockées en clair sur les mémoires des cartes électroniques, de récupérer la propriété intellectuelle sur les microprocesseurs/microcontrôleurs, de capturer les clés qui sont envoyées entre composants, etc.

Pour tester la sécurité des systèmes embarqués comme IoT, IIoT, calculateurs industriels et des équipements électroniques en général, aucun outil ergonomique et communautaire n’était disponible.

Les attaques nécessitaient une connaissance poussée dans plusieurs domaines de l’ingénierie comme l’électronique, l’informatique en supplément des connaissances cybersécurité.

Les étapes nécessaires pour tester un produit nécessitent la lecture et la compréhension du manuel technique du composant ou du protocole sous test, la programmation d’un outil électronique qui permettrait de s’interfacer avec la cible et les connaissances sur la vulnérabilité recherchée.

L’objectif d’Hardsploit est de rendre l’attaque matérielle la plus accessible possible pour que les entreprises puissent sécuriser leur produit de bout en bout et ce, jusqu’au composant matériel.

Par la même occasion cela démocratise l’accès à l’électronique pour le monde des makers.

Quels sont les enjeux auxquels il répond ?

L’enjeu auquel il répond dépend du public adressé que nous définirons en 3 familles.

  • Le professionnel de la cybersécurité qui utilise Hardsploit pour élargir son champ de compétences en s’attaquant aux équipements qui reste jusque-là à l’abri de son périmètre de recherche.
  • L’entreprise qui fabrique des cartes et qui peut mettre en place des mesures de tests pour évaluer la sécurité de son produit en intégrant Hardsploit dans son cycle de développement.
  • Le hackeur white qui souhaite soit détourner la fonction première d’un produit soit améliorer la sécurité des produits qu’il possède. Vous n’avez sans doute pas échappé à l’actualité sur la prise de contrôle de véhicules automobiles qui a engendré l’obligation de rappel de 1,4 million de véhicules aux USA.

 

Comment fonctionne Hardsploit ?

Sur PC, Hardsploit est composé d’une interface graphique et d’une interface de programmation applicative (API) qui permettent à l’utilisateur de communiquer avec le noyau du logiciel.

Ce noyau communique avec la couche basse matérielle composée d’une librairie USB très répandue (libusb). Le logiciel peut ainsi envoyer des commandes à la carte Hardsploit et recevoir les données récupérées.

On trouve sur la carte un microcontrôleur pour les traitements en chaine et complexes et un FPGA pour les traitements parallèles qui nécessitent un temps de latence très faible.

Les commandes reçues passent par le microcontrôleur pour être ensuite traitées par le FPGA de façon très rapide.

 

Quels sont les avantages de Hardsploit ?

Le principal avantage d’Hardsploit est son interface graphique simple et intuitive quand on veut faire de simples tests.

D’autre part, Hardsploit est un outil Open source sur PC permettant à l’utilisateur de changer le code à sa convenance. Il peut également personnaliser le code (ou plutôt le bitstream) du composant FPGA pour l’adapter à un protocole qui ne serait pas encore intégré dans Hardsploit.
Enfin, Hardsploit peut communiquer avec plusieurs types d’interfaces de communication couramment rencontrées dans l’électronique comme l’I2C, SPI, UART…

Partagez l'article :