Interception des frappes sur le smartphone via les signaux Wifi

Je vais vous faire part de la technique « WindTalker » présentée lors la conférence CCS 2016 (ACM Conference on Computer and Communications Security) et permettant d'intercepter les frappes sur smartphone en capturant les signaux Wifi.

  • L'article est disponible ici : The Hacker News
  • La vidéo de présentation ici :

Introduction au CSI

En étudiant les propriétés du CSI (Channel State Information), un indicateur du protocole Wifi chargé de fournir des informations sur le signal entre l'émetteur et le point d'accès Wifi, il est possible de prédire les frappes sur le smartphone en analysant les perturbations du signal Wifi. Le CSI permet entre autre d'adapter le signal pour assurer la fiabilité des communications Wifi.

Qu’est-ce que WindTalker ?

La technique d'interception WindTalker permet d'analyser et de déterminer avec une estimation à 68% des frappes des touches sur le smartphone.

En résumé, WindTalker s'exécute en temps réel en analysant les trames Wifi. Une fois que la connexion vers le serveur d'authentification est effectuée par la victime, WindTalker démarre la collecte des données CSI et envoie un nombre de paquets ICMP Echo (800 p/s avec une taille de 98 Bytes) lui permettant de collecter un maximum de données CSI tout en évitant d'impacter la transmission avec la victime. Une fois les trames Wifi analysées et comparées avec les données CSI, WindTalker propose depuis une liste de suggestion de code PIN ou mots de passe potentiels. Lors de la présentation de l'attaque sur l'application Alipay, WindTalker propose 4 possibilités et il s'avère que le troisième est la bonne ce qui laisse une bonne probabilité pour l'attaquant de réussir l'attaque.

Pour déterminer les frappes de la victime, WindTalker utilise l'algorithme Dynamic Time Warping (DTW) avec des patterns connus des différentes frappes possibles pour extraire le code PIN.

Dans le monde réel, l'attaque nécessite d'être placé à une distance maximum d'environ 1 mètre de la victime, avec de préférence une antenne directionnelle pour réduire les bruits et permettre d'augmenter les chances de récupérer le bon PIN.

Contre-mesures

Voici les solutions de contournement proposées:

  • Clavier randomisé (ex: applock sur android)
  • Changement de position des doigts lors de la frappe sur un même chiffre permet de fausser les résultats
  • Empêcher la collecte des données CSI
  • Bloquer les paquets ICMP côté client

Annexes