Les chercheurs de Paradigm Shift ont publié les détails techniques de usbliter8, une nouvelle vulnérabilité BootROM inattaquable permettant l’exécution de code arbitraire sur les appareils équipés des puces A12 et A13 d’Apple.

Fonctionnement de usbliter8

Dans un billet technique détaillé publié aujourd’hui, l’équipe de Paradigm Shift décrit usbliter8, un nouvel exploit qui « exploite à la fois un bug matériel dans le contrôleur USB et une faille de configuration spécifique présente dans le firmware de l’appareil » et qui ne peut être corrigé.

L’équipe PS a expliqué qu’avant la divulgation d’aujourd’hui, elle avait partagé ses découvertes et collaboré avec la sécurité produit d’Apple pour coordonner la publication. Les chercheurs ont également remercié l’équipe de sécurité d’Apple pour sa « réponse rapide, son engagement constructif et sa coopération tout au long du processus ».

En résumé, ce bug concerne les SoC Apple suivants : A12, S4, S5 et A13. Bien que les auteurs ne mentionnent explicitement l’iPhone que dans leur écriture, voici la liste des appareils dotés de ces SoC :

  • A12 : iPhone XR, iPhone XS/XS Max, iPad Air 3, iPad mini 5, iPad 8 et Apple TV 4K de deuxième génération
  • S4 : Apple Watch Series 4
  • S5 : Apple Watch Series 5, Apple Watch SE de première génération et HomePod mini
  • A13 : iPhone 11/11 Pro/11 Pro Max, iPhone SE de deuxième génération, iPad 9 et Studio Display

Ils ajoutent que « le support technique pour A12X/Z est possible », mais « il n’est pas actuellement implémenté », ce qui pourrait inclure les gammes iPad Pro de 2018 et 2020.

Le fonctionnement de usbliter8 consiste à envoyer des données spécialement conçues à un appareil via USB pendant qu’il est en mode DFU, confondant le contrôleur USB et provoquant l’écriture de données au mauvais endroit dans la mémoire.

Conséquences de l’exploitation

Cela permet à un attaquant ayant physiquement accès à l’appareil de contrôler son processus de démarrage. À partir de là, il peut exécuter son propre code avant le chargement d’iOS, contourner les vérifications de signature et démarrer un logiciel système modifié.

Il est important de noter que l’exploit n’affecte ni ne compromet l’Enclave Sécurisée de l’appareil, ce qui signifie que des données comme les codes d’accès et les données utilisateur cryptées restent sécurisées.

Cependant, l’équipe PS souligne que « bien que usbliter8 n’affecte pas SEP lui-même, il ouvre des vecteurs d’attaque plus larges pour compromettre l’Enclave Sécurisée », en ajoutant que « en publiant cet exploit, nous espérons mettre en évidence l’impact réel de ces failles matérielles et contribuer à une meilleure compréhension de la sécurité moderne de SecureROM ».

Les chercheurs notent qu’il existe différentes méthodes pour exploiter cette vulnérabilité sur les puces A12, S4, S5 et A13, l’exploit A13 étant plus complexe en raison de l’utilisation de la Protection d’Authentification des Pointeurs (PAC), une fonctionnalité de sécurité visant à empêcher les attaquants de rediriger l’exécution du code. Toutefois, les chercheurs ont trouvé une méthode pour contourner le PAC en corrompant soigneusement plusieurs parties de la mémoire par étapes, prenant finalement le contrôle du gestionnaire d’interruptions USB et l’utilisant pour exécuter leur propre code.

Que faire maintenant ?

Étant donné qu’il s’agit également d’un exploit inattaquable, les chercheurs soulignent que « les utilisateurs concernés doivent être conscients que la migration vers du matériel plus récent reste la mesure d’atténuation la plus efficace ».

Fait intéressant, cet exploit n’affecte pas les puces A11 ou les modèles antérieurs, qui sont vulnérables à un autre exploit BootROM inattaquable connu sous le nom de checkm8. Après la découverte de cet exploit, ce dernier est devenu à la base de plusieurs outils de jailbreak ciblant des iPhones et iPads plus anciens, donc il est possible que la même chose se produise avec les appareils touchés par usbliter8.

En plus du document technique, les chercheurs ont également publié un projet de preuve de concept sur GitHub, qui a amassé plus de 280 étoiles en quelques heures.

Pour en savoir plus sur usbliter8 et son fonctionnement, suivez ce lien.

Partager un commentaire