C&ESAR 2011 - Fingerprinting Wi-Fi
Par Olivier Heen – Technicolor
L’intérêt d’un fingerprinting Wi-Fi, c’est de pouvoir s’assurer qu’il s’agit bien de l’Acces Point auquel on s’attend. Il est possible par exemple d’usurper une adresse MAC, et là aussi, une prise d’empreinte Wi-Fi permettrait de se dire qu’il ne s’agit pas du bon hardware malgré une adresse MAC valide. Il pourrait être envisageable d’avoir une application de confort capable d’identifier si le smartphone est dans un environnement familier ou non grâce à la prise d’empreinte.
La prise d’empreinte consiste à un ensemble de tests dont les résultats peuvent éventuellement constituer une signature. Cette prise d’empreinte peut se faire dans différents contextes : Wi-Fi chiffré/clair active ou passive, respectant les standards ou pas, est-ce que ça nécessite du matériel standard ou spécifique ?
Il existe un certain nombre de méthodes de fingerprinting dans la litérature, en voici quelques unes :
Mesure des probe request
Chaque client utilise des probe request pour identifier ou s’authentifier auprès d’un AP, et la méthode de consultation des divers canaux etc se fait en fonction d’une logique, d’un algorithme dont certains paramètres sont fonction de l’implémentation. Et donc il est possible de se baser sur ces variations pour identifier le client émettant ces probe requests.
L’avantage de cette technique c’est qu’elle est faisable avec du matériel standard, mais sa précision dépend pas mal de l’environnement. Par contre, deux matériels identiques avec les mêmes versions de drivers auront la même empreinte.
Mesure de dérive d’horloge
Les quartz des horloges ont des signatures physiques uniques, et il est possible d’utiliser des mesures de temps et d’analyser le temps indiqué dans chaque beacon, on peut mesurer une dérive temporelle sur l’AP, et ainsi au bout d’un certain temps, il sera possible de caractériser cette dérive, et donc d’associer un AP à chaque dérive.
L’avantage, c’est la dépendance de cette signature au matériel, c’est donc utilisable pour détecter les faux AP. Le défaut, c’est qu’il est possible de contrer une telle méthode en se synchronisant avec l’AP que l’on souhaite imiter. Les problèmes de synchronisation viennent trahir un tel attaquant. Il y à un certain nombre de méthodes similaires basé sur cette dérive d’horloge.
Tests Actifs d’Options
Provoquer des réponses atypiques en envoyant des paquets anormaux est une autre méthode permettant d’obtenir des informations sur la cible. Cette méthode est la même que celle utilisée par NMAP.
Le champ frame control à 8 bits de disponibles, soit 256 combinaisons, et donc le résultat de ces 256 tests permet d’obtenir une signatures caractéristique des AP ou des Stations.
Question: peut on trouver une méthode discrète et qui dépend de l’ensemble du trafic ? Est-ce plus difficile à attaquer/forger ? C’est là qu’intervient la technique de l’Orateur :
Délais inter-trames
L’idée c’est de mesurer les délais entre chaque trame 802.11, et en faisant un histograme de ces délais, on obtient des graphiques très différents. Le problème c’est que ces délais inter-trames, un certain nombre de facteurs viennent altérer ces trames. Comme le débit, le trafic sur le média, la qualité du lien, etc…
L’intérêt d’une telle technique, c’est qu’elle est très facile à mesurer avec du matériel standard.