Z-Attack, un outil pour tester la sécurité des réseaux Z-Wave

Sécurité des applications
Z-Attack, un outil pour tester la sécurité des réseaux Z-Wave

Le protocole Z-Wave est un protocole propriétaire dédié à la domotique (utilisant la fréquence 868,42Mhz). Il est utilisé principalement par les particuliers, mais on le trouve également dans certains hôtels, bateaux de croisières et centres de vacances. La domotique offre, entre autres, la possibilité à tout à chacun de contrôler son système d’alarme, de gérer son chauffage, ses volets roulants, mais également son système d’éclairage. Tous ces équipements sont alors reliés entre eux afin de définir des scénarios d’automatisation diverse.

Afin d’évaluer le niveau de sécurité de ce protocole, nous avons créé un outil dédié : Z-Attack.

Grâce à cet outil, il est possible :

  • D’écouter et décoder les trames radio Z-Wave
  • De déchiffrer les communications sécurisées
  • De cartographier facilement les différents réseaux Z-Wave aux alentours
  • D’envoyer des trames chiffrées et non chiffrées sur un réseau Z-Wave étranger
  • D’intercepter la clé réseau échangée lors de la phase d’inclusion d’un nouvel équipement sur le réseau.

Initialement compatible avec des cartes Texas Instrument de développement, notre outil fonctionne également avec le dongle radio Rfcat. Cette seconde solution offre l’avantage d’être très simple d’utilisation : il suffit de brancher le Rfcat sur un port USB pour qu’il soit reconnu et utilisé par le programme.

Module USB « Rfcat »

Module USB « Rfcat »

Cartes C1110

Cartes C1110

L’utilisation de Z-Attack est très simple : la réception des données se fait automatiquement dès le lancement de l’application, et deux modes sont disponibles pour l’envoi de messages. Le premier mode permet de réaliser des actions basiques (découverte automatique du réseau, allumer ou éteindre des lumières sous certaines conditions,…). Le second mode permet quant à lui d’envoyer tout type de requête sur le réseau, avec une grande flexibilité. Nous avons d’ailleurs intégré des modèles de requêtes  complexes pour faciliter l’utilisation de ce mode.

Les captures ci-dessous illustrent quelques fonctions de Z-Attack :

Interface principale de Z-Attack : capture et décodage de trames Z-Wave

Interface principale de Z-Attack : capture et décodage de trames Z-Wave

Exemple de cartographie d’un réseau en utilisant le mode de découverte automatique

Exemple de cartographie d’un réseau en utilisant le mode de découverte automatique

Z-Attack est disponible sur notre dépôt github public, sous licence GPLv3.

Si vous souhaitez en savoir plus sur ce protocole et la sécurité qu’il offre, nous vous invitons à lire notre article publié dans le magazine MISC n°82 intitulé « La sécurité du protocole Z-Wave ».

Kévin Bontems, Consultant Sécurité Senior, Advens