Tech

Un smartphone pourrait espionner nos frappes sur un ordinateur

ActualitéClassé sous :informatique , smartphone , iPhone

Une équipe, réunissant des chercheurs du MIT et du Georgia Institute of Technology, a mis au point une technique qui se sert de l'accéléromètre d'un smartphone placé près d'un clavier d'ordinateur pour enregistrer ce qu'une personne tape. Elle pourrait être utilisée par un logiciel espion malveillant.

Des chercheurs démontrent qu'il est possible d'espionner nos frappes sur un clavier grâce à un accéléromètre de smartphone. Mais la technique a des limites : les bruits parasites ou une position trop éloignée entre le mobile et le clavier font chuter l'efficacité de la méthode. © Prempcc, Flickr, cc by nc sa 2.0

Où place-t-on le plus souvent son smartphone lorsque l'on s'installe devant son ordinateur ? À portée de main, généralement non loin du clavier. Cette habitude, au demeurant anodine, pourrait servir à un pirate ayant infecté le mobile avec un logiciel espion (ou keylogger) capable d'enregistrer ce que l'on tape sur le clavier.

Des chercheurs du Massachusetts Institute of Technology (MIT) et du Georgia Institute of Technology viennent de publier leurs travaux démontrant qu'il est possible de se servir de l'accéléromètre d'un smartphone pour enregistrer et reconstituer les touches qui sont frappées, à partir des vibrations qu'elles produisent. Autrement dit, cette technique pourrait être utilisée pour récupérer des mots de passe sécurisant des applications sensibles, espionner des échanges ou le contenu de documents. « L'accès aux informations produites par les accéléromètres n'est protégé dans aucun des systèmes d'exploitation mobiles actuels », soulignent les auteurs du projet.

Pour réaliser leur preuve de concept, les chercheurs ont utilisé un iPhone 4 et un clavier sans fil Bluetooth Apple. Ils soulignent que la qualité de l’accéléromètre de ce modèle est supérieure à celui de l’iPhone 3GS. © MIT Lincoln Laboratory, Georgia Tech Information Security Center

Leur méthode consiste à identifier les touches en mesurant la position physique et la distance entre chaque vibration qu'elles produisent. Lorsqu'une touche est pressée, l'accéléromètre du smartphone (en l'occurrence un iPhone 4) capte les vibrations en livrant les valeurs des coordonnées cartésiennes des axes x, y et z. Ces valeurs sont enregistrées à un taux d'échantillonnage variable (en moyenne 100 Hz) et analysées par deux réseaux neuronaux. L'apprentissage du système se fait en pressant 150 fois chaque touche des lettres alphabétiques du clavier. Un réseau neuronal apprend à reconnaître la position horizontale de la touche tandis que l'autre traite la position verticale.

Un taux de réussite de 80 % pour espionner les frappes

Mais ces données brutes ne suffisent pas à identifier les touches avec assez de précision. Les chercheurs ont donc renforcé le système en créant des profils par paires de touches, qui sont ensuite confrontés à plusieurs dictionnaires afin de reconstituer les mots. Pour chaque dictionnaire, les mots sont décomposés caractère par caractère puis par couple de caractères.

Cette méthode a permis d'atteindre un taux de réussite de 80 %. Mais ce pourcentage a drastiquement baissé (46 %) lorsque le nombre de frappes de touche a été augmenté. Il s'est toutefois amélioré si le second choix de mots émis par le système de reconnaissance était pris en compte. Les chercheurs en déduisent que le recours à une analyse sémantique pourrait donc renforcer la fiabilité.

Bien qu'impressionnante, cette technique trouve rapidement ses limites si par exemple le smartphone est un peu trop éloigné du clavier, si la personne tape trop vite, écoute la radio ou tapote sur le bureau en provoquant des vibrations parasites. L'équipe à l'origine de la démonstration imagine aussi plusieurs parades qui consisteraient tout simplement à ne pas placer le mobile sur le bureau ou bien à l'enfermer dans un sac posé à côté. Ils suggèrent également de modifier les API afin de restreindre le taux d'échantillonnage de l'accéléromètre pour qu'il ne soit pas exploitable.