"Le plus gros leak de l'histoire" : une section cruciale du code source d'iOS a été diffusée sur Internet

Le code source d'iBoot, l'un des programmes iOS les plus importants, a été diffusé anonymement sur Github.

|
févr. 8 2018, 4:13pm

Image : Rokas Tenys/Shutterstock

Quelqu’un vient de diffuser ce que les experts décrivent comme le code source de l’un des éléments centraux d’iOS sur GitHub, ce qui pourrait permettre à des hackers et des chercheurs en cybersécurité de découvrir des vulnérabilités dans le système d’exploitation des iPhones et faciliter les jailbreaks.

Le code publié sur GitHub porte le titre “iBoot”, le nom de la partie d’iOS responsable de la sécurité du démarrage du système d’exploitation. En d’autres termes, il s’agit du programme qui charge iOS, le tout premier processus à se lancer quand vous allumez votre iPhone. Sa mission est de charger et de vérifier l’authenticité du noyau de l’OS. On pourrait le considérer comme le BIOS de l’iPhone.

Le code indique qu’il est destiné à iOS 9, une vieille version du système d’exploitation. Il est tout de même assez sûr qu’iOS 11 l’utilise encore en partie.

En général, Apple refuse de révéler le code de ses produits au public. L’entreprise a diffusé certaines parties d’iOS et MacOS en open-source au cours des dernières années, mais pas plus. iBoot fait partie de ses créations les plus secrètes et protégées ; les bugs dans le processus de démarrage sont si précieux que le bounty program d’Apple les monnaie à un montant maximum de 200 000 dollars.

“C’est le plus gros leak de l’histoire, m’a affirmé Jonathan Levin, l’auteur d’une série de livres sur le fonctionnement interne d’iOS et Mac OSX. C’est un événement énorme.”

Levin pense que le code diffusé sur GitHub est authentique car il correspond à celui qu’il a bricolé par rétro-ingénierie. Un autre chercheur en cybersécurité familier d’iOS m’a indiqué qu’il pensait que le code était authentique. Nous ne connaissons pas l’identité de la personne responsable de la fuite. Apple n’a pas répondu à notre demande de commentaire.

Quelques heures après la publication de cet article, Apple a fait parvenir une réclamation pour violation du droit d’auteur en ligne à GitHub dans le but de faire disparaître le code iBoot. “Le code source iBoot est propriétaire et comprend la notice de copyright d’Apple. Il n’est pas open source.” Ce faisant, Apple a confirmé que le code était bien authentique. GitHub l’a mis hors-ligne peu de temps après.

Levin pense qu’un accès au code source d’iBoot pourrait donner de meilleures chances de découvrir des vulnérabilités d’iOS aux chercheurs en cybersécurité. Cela signifie que des hackers pourraient découvrir des failles et des bugs qui leur permettront de cracker ou de déchiffrer un iPhone plus facilement. Cette fuite pourrait aussi permettre à des programmeurs doués d’émuler iOS sur des plate-formes différentes de celles d’Apple.

Des vulnérabilités dans des versions précédentes d’iBoot ont permis à des jailbreakers et des hackers de se frayer un chemin au travers de l’écran de verrouillage de l’iPhone et de déchiffrer les données entreposées sur l’appareil. Cependant, les nouveaux iPhones sont équipés d’une puce qui renforce sa sécurité, le Secure Enclave Processor.

Pour les utilisateurs normaux, a ajouté Levin, cela signifie que le “tethered jailbreak”, au cours duquel l’iPhone est connecté à l’ordinateur au démarrage, pourrait bien faire son retour d’ici peu. Ces jailbreaks jadis faciles à coder sont devenus extrêmement difficiles à réaliser sur des appareils à jour. Les derniers produits Apple équipés d’iOS sont protégés par des mécanismes de sécurité avancés qui rendent la recherche de bug ardue, même pour des chercheurs hautement qualifiés. Or, impossible de sonder un appareil sans l’avoir préalablement jailbreaké.

Ces améliorations ont tué la communauté du jailbeak. Aujourd’hui, découvrir des bugs et des vulnérabilités dans iOS demande beaucoup de temps et de ressources, ce qui signifie que les failles découvertes sont extrêmement précieuses. C’est la raison pour laquelle les jailbreakers du passé sont toujours très excités lorsqu’un bout de code source est diffusé.

Le code source d’iBoot a été révélé pour la première fois l’année dernière dans le subreddit /r/jailbreak par un utilisateur portant le pseudonyme apple_internals. Le post en question n’a pas attiré beaucoup d’attention car apple_internals était un petit nouveau sans trop de karma. Sa réapparition sur GitHub montre qu’il a sans doute largement circulé dans les communautés jailbreak underground et les cercles de hacking iOS.

“iBoot est le composant qu’Apple gardait pour lui, qu’il continuait de chiffrer, a déclaré Levin. Aujourd’hui, il est disponible au grand public sous la forme de code source.”