Pour rappel, au-delà de dix mauvais mots de passe, l'appareil peut être configuré pour effacer son contenu. Cependant, Hickey a expliqué qu'il a trouvé un moyen de contourner cela.
Fondamentalement, sa méthode consiste à tromper le système de protection iOS et obtenir les droits d'essayer autant de codes qu'il veut dans une tentative de déverrouiller l'iPhone. Cela signifie que tout le monde serait en mesure de forcer les codes d'accès de l'iPhone sans avoir à attendre plus longtemps entre les tentatives et sans atteindre la limite de 10 qui conduirait à l'effacement de l'appareil.
Hickey explique que sa méthode ne nécessite aucune technique avancée, mais seulement un iPhone déjà allumé et un câble Lightning.
Au lieu d'entrer les codes d'accès iPhone un par un, ce qui augmenterait progressivement le temps d'attente entre les tentatives et supprimerait finalement les données, le chercheur dit que les attaquants peuvent simplement envoyer une chaîne contenant toutes les combinaisons de codes sans espaces. Cela signifie qu'au lieu de gérer les entrées de code d'accès une par une et d'augmenter le temps d'attente, l'iPhone lit chaque combinaison sans interruption, donc aucun temps d'attente n'est ajouté.
Une preuve de concept montre à quel point la méthode peut être utilisée par presque tout le monde, bien que le chercheur explique que le processus peut durer de quelques secondes à plusieurs semaines avant que le bon mot de passe ne soit découvert.
Dans sa démo, il a utilisé une combinaison de tous les nombres compris entre 0000 et 9999, puis il a mis le résultat dans une seule chaîne de caractère sans espace. Il a expliqué que, parce que cela ne donne aucune pause au logiciel, la routine d'entrée au clavier a la priorité sur la fonction d'effacement des données du périphérique.
La méthode fonctionne avec des codes d'accès à 4 chiffres et à 6 chiffres, mais il va sans dire que plus le code est complexe, plus le temps nécessaire à l'attaque par force brute est long.
https://vimeo.com/276506763
Hickey a fait un tweet plus tard, dans lequel il explique que tous les codes d'accès testés ne sont pas envoyés à l'enclave sécurisée du périphérique, dont la fonction est de protéger l'appareil des attaques par force brute.
« Les [codes d'accès] ne vont pas toujours dans [le processeur d'enclave sécurisé] dans certains cas - en raison de la numérotation par paquet [ou] des entrées trop rapides - donc bien qu'il semble que les pins sont testés, ils ne sont pas toujours envoyés et donc ils ne comptent pas, les appareils peuvent alors enregistrer moins d’essais qu’il n’y paraît ».
Hickey a crédité Stefan Esser pour son aide.
« Je suis retourné vérifier tout le code et les tests », a déclaré Hickey dans un message samedi. « Quand j'ai envoyé des codes au téléphone, il me semblait que 20 ou plus étaient entrés mais en réalité, seuls quatre ou cinq PIN avaient été vérifiés ».
Apple a déjà été informé du bogue. iOS 12 pourrait le bloquer lors de son lancement en septembre, et à ce stade, il n'est pas encore clair si la nouvelle fonctionnalité de sécurité empêchant les connexions USB après 1 heure sans déverrouiller le périphérique rend le hack obsolète.
Source : Twitter (1, 2)
Et vous ?
Qu'en pensez-vous ?
Voir aussi :
Un mauvais usage de l'API de vérification du code signé avec l'outil d'Apple pourrait rendre du code malicieux indétectable sur macOS, selon Pitts
WWDC 2018 : Apple lance WatchOS 5, le nouvel OS de sa smartwatch qui intègre le mode Walkie Talkie, les podcasts, la détection de work-out
Apple tacle Facebook en présentant de nouvelles mesures anti-traçage dans Safari, bientôt la fin du pistage des internautes ?
Fonctionnalités clés liées aux développeurs introduites dans macOS 10.14 : Apple note la dépréciation d'OpenGL et OpenCL
WWDC 2018 : Apple dévoile Mojave, le nouveau macOS 10.14 qui succèdera à High Sierra et introduit le support des applications iOS sur Mac