Le hacker qui pirate un clavier

Image 1 : Le hacker qui pirate un clavierÀ la BlackHat — une conférence de hacker — K. Chen (de l’institut de technologie de Georgie) a montré comment hacker un clavier. Le clavier en question est celui proposé par Apple (tous les modèles « aluminium » sont touchés, ainsi que ceux intégrés dans les portables) et le hacker a réussi à intégrer un firmware modifié dans le clavier.

Un problème spécifique à Apple

Un firmware modifié permet par exemple de stocker les touches frappées par un utilisateur ou, dans l’exemple proposé ici, de faire clignoter les LED du clavier. Expliquons la méthode : les claviers sont tous basés sur un microcontrôleur et un peu de mémoire (on retrouve 8 ko de flash dans celui d’Apple), qui sont nécessaires pour le fonctionnement. Bien évidemment, il y a donc un logiciel, le firmware, qui gère le clavier, et c’est ce dernier qui a été modifié. Le hacker a profité d’une fonction de l’USB qui permet de mettre à jour un firmware à travers l’interface et surtout du fait qu’Apple a proposé, en 2008, une mise à jour du firmware de ses claviers. En modifiant le firmware et en utilisant le programme de mise à jour qu’Apple, il a réussi à envoyer un firmware modifié dans le clavier, ce qui est virtuellement indétectable par un antivirus. Dans la pratique, il explique que le code ne prend que 7 ko sur les 8 ko de la mémoire flash et qu’il est donc possible d’enregistrer des données et de les stocker dans le clavier, tout en programmant une série de touches pour permettre de récupérer les données. Par rapport au keyloggers classiques, que ce soit les logiciels ou les matériels, la manipulation a l’avantage d’être très discrète : il n’y a aucune trace logicielle sur l’ordinateur et le clavier n’est pas modifié matériellement. 

Notons tout de même que la faille touche les claviers Apple pour deux raisons : Mac OS X donne facilement accès aux outils permettant de mettre à jour un firmware via l’USB et Apple a proposé une mise à jour de son clavier, contenant un firmware. Dans la pratique, la manipulation est possible sur la majorité des claviers USB mais rendue plus compliquée par l’absence de firmware à analyser à la base.