Pendant un bref moment jeudi matin, le code source d’iBoot – l’équivalent du BIOS pour des iPhone faisant tourner la version 9 d’iOS – était disponible sur GitHub. Le code source de cette portion du système d’exploitation pour mobiles d’Apple n’est pas open source, toute chose qui a fait que le géant de la marque à la pomme ordonne son retrait du service d’hébergement et de gestion de logiciels. C’est ce que confirme le magazine The Verge.
Des questions planaient sur l’authenticité du code source en question. D’après The Verge, le géant de l’IT a, par la voix de ses avocats et experts en la matière, confirmé que les contenus de la fuite sont conformes à l’original. « Bienheureux » donc sont ceux qui ont pu en faire des copies avant que le fichier ne soit expulsé de la plateforme. Seulement, pour en faire quoi ? Selon Apple, pas grand-chose. À ce propos, la firme de Cupertino est d’avis que la sécurité de ses dispositifs ne repose pas sur la confidentialité de son code source. C’est connu depuis belle lurette que les dispositifs conçus par ce dernier intègrent de nombreuses couches de protection tant logicielles que matérielles. Apple l’a une fois de plus martelé dans le cadre de cette affaire.
08/02/2018 :Le code source de ce qui est considéré comme iBoot, la composante d’iOS responsable du démarrage sécurisé d’un iPhone, aurait récemment été publié sur GitHub par un inconnu. Le magazine Vice s’est fait le relais de cette information très tôt ce jour laissant croire que la publication sur le site d’hébergement de projets a eu lieu hier, mais il n’en est rien. Un tweet du chercheur en sécurité qui se cache derrière le pseudonyme twitter « Apple External » vient confirmer que le fichier circule sur la toile depuis un moment.
En fait l’apparition sur GitHub n’est qu’une espèce de redite. En effet, d’après ce que rapporte le magazine américain Vice, le fameux code source a fait surface l’an dernier sur un forum reddit, mais sans trop d’écho puisque le compte lié à la publication a été bloqué. « Bof, quelle importance quant à la chronologie », pourrait lancer un tiers. Le fait est là : il y a bel et bien un fichier ; il faut donc savoir de quoi il retourne exactement.
« Errata : il s’agit du code source de la version 9.3.x », a précisé Apple External dans un autre tweet. Le code source qui, il faut le rappeler demeure introuvable sur GitHub, serait donc celui d’iBoot correspondant à la version 9.3.x d’iOS. Vice a néanmoins eu la courtoisie d’en publier une capture d’écran. « Ce document ne peut être reproduit ou transmis sous quelque forme que ce soit, en partie ou dans son entièreté, sans l’accord express d’Apple », peut-on y lire, toute chose qui explique les difficultés exprimées.
Jonathan Levin, auteur de plusieurs livres relatifs au développement sur iOS et macOS, s’est exprimé à ce sujet. Ce dernier a mené des expérimentations personnelles avec iBoot et d’après lui le code source dont il est question est authentique parce que s’alignant sur celui qu’il a pu obtenir en procédant par rétro-ingénierie. « Il s’agit de la fuite du siècle », a-t-il déclaré. Avec le code d’iBoot sous la main, la chasse aux failles dans le système d’exploitation pour mobiles d’Apple est ouverte. « Le code source indique qu’il s’agit de la version 9, mais il est possible que certaines portions de ce dernier soient utilisées dans la version courante », écrit Vice.
iBoot est un composant central de la sécurité au sein d’iOS. Son rôle est (entre autres) de vérifier que le noyau du système d’exploitation est signé lors de la phase de démarrage d’un iPhone. Certes, l’entreprise a déjà eu à rendre des portions d’iOS et macOS pour processeurs ARM open source. La cuisine interne d’iBoot pour sa part est demeurée la chasse gardée de la firme. D’ailleurs, elle s’est dotée d’un mécanisme de protection supplémentaire introduit avec les versions S2 et A7 de ses processeurs principaux. L’Apple Secure Enclave est un coprocesseur chargé de vérifier l’intégrité d’un iPhone, ce qui laisse penser qu’une partie des fonctionnalités qui relevaient autrefois d’iBoot lui incombent désormais. Du pain sur la planche donc pour les chercheurs qui devront cerner les limites de chaque composant.