Les exploits Apple affectant iOS ne datent pas d'hier. Pourtant, certains s'avèrent plus dangereux que d'autres, et nul doute que la vulnérabilité CVE-2020-9844 en fait partie avec un score d'exploitabilité CVSS v2 de 10/10. Dans un long billet de blog, le chercheur en sécurité Ian Beer de Project Zero de Google qui a découvert cette faille et prévenu Apple en février 2020, a détaillé son hack. Corrigée dans la mise à jour iOS 13.5 - mais aussi iPadOS 13.5 et macOS Catalina 10.15.5 - de mai 2020, cette faille exploitait un débordement de tampon dans un pilote AWDL, le protocole de réseau maillé propriétaire d'Apple. Avec pour conséquence d'autoriser un attaquant distant de provoquer un arrêt inattendu du système, voire pire de corrompre sa mémoire noyau.

Ian Beer a développé plusieurs exploits différents dont le plus avancé procure un accès complet aux données personnelles de l'utilisateur (e-mails, photos, messages, mots de passe et clés de chiffrement...). Pour cette attaque, le chercheur a utilisé un ordinateur portable, un Raspberry Pi et des adaptateurs WiFi disponibles dans le commerce. D'après le chercheur, il suffit d'environ deux minutes pour faire fonctionner cet exploit, un temps qui pourrait avec un peu plus de travail être réduit à quelques secondes. A noter que ces exploits ne fonctionnent que sur les appareils situés à portée WiFi de l'attaquant.

De l'attaque par force brute en renfort

Pour effectuer son hack, Ian Beer s'est appuyé en particulier sur les travaux menés par les chercheurs allemands du SEEMOO (Secure Mobile Networking Lab) de l'Université Technologique de Darmstadt qui ont réalisé du retro-engineering portant sur le fonctionnement de ses trames et mécanismes de partage des canaux. L'une des principales caractéristiques d'AWDL, par rapport à d'autres protocoles réseau comme TDLS ou WiFi Direct, est de permettre d'établir une connexion peer-to-peer sur un nombre illimité de terminaux. Pratique pour un utilisateur qui recourt à une galaxie de terminaux de la firme à la pomme (iPhone, iPad, Watch...). Mais outre un défaut de chiffrement natif, le fait que les pilotes AWDL résident dans le noyau de l'OS ont pu faciliter ce hack. 

« Pour AWDL, les trames semblent être analysées dans leur intégralité sur le processeur d'application par le pilote du noyau. Bien que cela signifie que nous pouvons explorer une grande partie du code AWDL, cela signifie également que nous allons devoir construire l'intégralité de l'exploit au-dessus des primitives que nous pouvons construire avec l'analyseur AWDL, et ces primitives devront être suffisamment puissantes pour compromettre à distance l'appareil », explique Ian Beer. « Avec une ingénierie appropriée et un meilleur matériel, une fois AWDL activé, tout l'exploit pourrait s'exécuter en quelques secondes. Il existe probablement aussi de meilleures techniques pour activer AWDL en premier lieu que la force brute de hachage. Mon objectif était de créer une démonstration convaincante de ce qui peut être réalisé par une seule personne, sans ressources spéciales, et j'espère que j'ai réussi. »