On peut en faire des trucs cools quand on se donne la peine de bidouiller... Samy Kamkar a décidé de modifier un jouet de Mattel, le Im-Me pour en faire une télécommande de porte de garage universelle. Le Im-Me n'est plus en vente, mais il s'agit d'un jouet qui permet de communiquer avec ses amis, via une connexion radio et grâce à un petit clavier et un écran LCD intégré. On peut le trouver pas cher sur la toile.

Un peu comme une grosse blague, il lui a rajouté une petite antenne, et l'a connecté à un adaptateur JTAG (GoodFET), pour pouvoir le reprogrammer. (Il est aussi possible d'utiliser le connecteur GIMME)

GoodFET

OpenSesame Internals

Ensuite, il s'est penché sur le logiciel et a adapté OpenSesame (version originale) pour tester façon brute-force, toutes les combinaisons de code permettant d'ouvrir une porte de garage. En ce qui concerne les portes de garage télécommandées, il existe 2 méthodes utilisées par les télécommandes. La plus sécurisée transmet un code qui change à chaque fois (rolling code), et ça, OpenSesame ne sait pas (encore) le cracker. Par contre, dans le cas d'un code fixe, OpenSesame est capable de tester toutes les combinaisons pour le trouver et déclencher l'ouverture de la porte de garage.

Son code modifié d'OpenSesame se trouve ici.

Il semblerait que pas mal de fabricants utilisent des codes fixes pour leurs portes, ce qui est depuis longtemps utilisé par les voleurs qui n'ont qu'à attendre que le propriétaire utilise sa télécommande pour capter ce code (avec un code grabber) et l'utiliser avec leur propre télécommande. Mais avec le Im-Me et OpenSesame, même pas besoin d'attendre... Il suffit de faire un tour de quartier et de déclencher les ouvertures pour voir quelles sont les portes qui s'ouvrent.

OpenSesame

Le code des portes de garage utilise au maximum 12 bits, ce qui fait seulement 4096 possibilités. Pour que vous compreniez la faiblesse du truc, c'est encore moins sécurisé que si vous utilisiez un mot de passe avec 2 caractères (ce qui représente 5184 possibilités avec un alphabet latin).

De Bruijn

Avec un bruteforce traditionnel, il faudrait 29 minutes max pour ouvrir la porte de garage, mais Samy a optimisé suffisamment son code pour que cela ne prenne plus que 8 secondes.

C'est dingue !

Par contre, comme le Im-Me ne peut fonctionner que sur une seule fréquence à la fois, et comme les portes de garage testées en fonction des marques utilisent 4 fréquences différentes, il doit lancer les bruteforces sur chacune des fréquences. Ce qui ramène la vitesse d'ouverture à 1 minute max.

Pour être tranquille, vérifiez bien que votre porte de garage n'utilise pas un code fixe et si c'est le cas, essayez de vous rapprocher du fabricant pour voir s'il existe une mise à jour qui permette d'utiliser des codes changeants.

Enfin, sachez que Samy Kamkar va continuer ses travaux pour tenter de poutrer aussi les portes avec code changeant.

+ d'infos sur son blog.