iPhone : quelle est cette faille Wi-Fi qui fait le buzz ?

iPhone faille Wi-Fi

Lumière est faite sur une vulnérabilité – corrigée – qui permettait de contrôler un iPhone à distance « en zéro clic ». Où résidait la faille ?

Si un individu est capable d’une telle chose avec du matériel aux possibilités limitées, imaginez ce que pourraient faire des groupes organisés. Cet avertissement émane de Ian Beer, membre de l’équipe Google Project Zero.

La « chose » en question a consisté à prendre le contrôle d’un iPhone « en zéro clic ». Elle se fonde sur une faille d’iOS qu’Apple a corrigée depuis lors.

Le problème résidait dans AWDL (Apple Wireless Direct Link)*. Ce protocole P2P propriétaire repose sur le Wi-Fi (802.11a et 802.11g). AirDrop, AirPlay et Sidecar, entre autres, en font usage. Aussi bien sur iOS que sur macOS.

Par rapport au Wi-Fi Direct, AWDL n'est pas chiffré. Il est en revanche plus souple. D'une part, il peut gérer plus de deux pairs, qui n'ont pas besoin d'être connectés au même réseau. De l'autre, il est capable de gérer en parallèle les modes ad hoc et infrastructure, en s'appuyant sur le multiplexage temporel. Généralement opérationnel sur les canaux 6 (2,426-2,448 GHz) et 44 (5,21-5,25 GHz), il utilise une adresse MAC codée en dur - et dont Apple s'est réservé l'usage - pour éviter d'éventuels conflits avec des points d'accès.

Raspberry Pi et clé Wi-Fi

AWDL a un historique de vulnérabilités sérieuses. L'une d'entre elles permettait d'intercepter et de modifier des données transmises via AirDrop. Une autre, de suivre à distance la localisation d'un iPhone. Elle a disparu avec iOS 12.3 et macOS 10.14.5.

Ian Beer avait amorcé ses travaux sur des Mac portables. Il avait découvert, à cette occasion, une vulnérabilité qui allait prendre le matricule CVE-2020-3843. Et qu'Apple, averti, allait éliminer avec iOS 13.1.1 et macOS 10.15.3.

Pour s'en prendre à l'iPhone, l'intéressé s'est muni d'une clé Wi-Fi supportant le mode moniteur et l'injection de paquets. En l'occurrence, une Netgear WG111v2 avec chipset rt18187. Il l'a associée à un Raspberry Pi 4B. Et exploité la bibliothèque de gestion du trafic réseau libpcap, en association avec le framework DTrace.

Un iPhone sans défense(s) ?

Sur l'iPhone, il a fallu faire avec les défenses intégrées au processeur A12. Entre autres, la fonction d'authentification des pointeurs. Ian Beer est parvenu à la détourner, en combinaison avec le système de listes de pairs sur lequel repose AWDL.

Au gré de ses travaux, il a involontairement mis le doigt sur d'autres failles, dont la CVE-2020-9906. Il est finalement parvenu à lire la mémoire kernel à un débit de plusieurs ko/seconde. Mais aussi à pousser des commandes à distance (par exemple, lancer l'application Calculatrice).

L'étape suivante a consisté à développer une charge utile capable de remplir les mêmes tâches en local, par élévation de privilèges. La vidéo ci-dessous en donne l'illustration. Un implant exécuté en root récupère la photo la plus récente sur un iPhone 11 Pro. L'ensemble du processus prend environ 2 minutes. Avec un équipement plus sophistiqué, quelques secondes suffiraient, affirme Ian Beer. Et pas seulement pour accéder à la dernière photo...

* Que faire si AWDL n'est pas en fonction sur la cible ? En forcer l'activation ! Le levier : une modification, par force brute (cassage d'un hash), des messages que les appareils diffusent régulièrement sur Bluetooth pour signaler leur présence dans leur voisinage. Cela fonctionne aussi sur des appareils verrouillés, à condition qu'ils aient déjà été déverrouillés au moins une fois depuis leur démarrage.

Illustration principale © Apple