Un chercheur de l’université de Cambridge a prouvé qu’il était possible de cloner la puce de contrôle NAND d’un iPhone 5c, une technique dont le FBI affirmait qu’elle ne fonctionnerait pas. Par ce biais, et avec environ 100 dollars de matériel, on peut récupérer le code de verrouillage en une vingtaine d’heures.
Sergei Skorobogatov voulait prouver qu’il était possible de désosser un iPhone 5c pour s’emparer d’une puce bien particulière afin de la cloner. Il y est parvenu, et non seulement la technique n’est pas extrêmement complexe pour qui connait suffisamment bien l’électronique, mais elle ne réclame pas un budget mirobolant. Selon lui, avec une centaine de dollars en poche, on peut acheter tout l’équipement nécessaire, vidéo à l’appui.
Qu’a fait le chercheur de Cambridge ? Il s’est procuré un iPhone 5c configuré de la même manière que celui trouvé pendant l’enquête après la tuerie de San Bernardino, avec iOS 9 et un code de verrouillage à quatre chiffres. But de la manœuvre, répliquer le contenu de la puce LGA60 de mémoire Flash NAND pour avoir tout loisir de lancer une attaque par force brute.
Une copie de la mémoire Flash ? Impossible pour le FBI
Le cas de San Bernardino n’est pas cité au hasard. Lorsque le FBI a récupéré l’iPhone qui appartenait à Syed Rizwan Farook, auteur avec sa femme de la fusillade qui a fait 14 victimes, il s’est retrouvé face à un contenu chiffré. Depuis iOS 8, le code à quatre chiffres choisi par l’utilisateur fait partie intégrante de la clé de chiffrement. Quand l’agence a demandé à Apple de récupérer les données chiffrées, la firme a simplement répondu que l’opération était impossible
Le bras de fer qui a suivi a posé la question technique assez simple : existait-il oui ou non une méthode pour percer les défenses de l’iPhone ? Apple refusait seulement d’envisager la chose. La firme martelait qu’il s’agissait d’un abus de pouvoir, particulièrement quand le FBI a commencé à menacer l’entreprise de la forcer à forer elle-même dans ses protections. Introduction de portes dérobées ? Modification du code pour ouvrir ponctuellement l’enclave sécurisée ? Réplication de la mémoire NAND ?

100 dollars de matériel
Cette dernière piste avait été évoquée par certains chercheurs, mais James Comey, directeur du FBI, avait répondu que dans le cas de l’iPhone 5c, cette technique ne fonctionnerait pas. Au vu des résultats, on peut s'interroger sur ce qui a poussé le FBI à affirmer une telle impossibilité technique, s’il ne faut vraiment que 100 dollars de matériel. Il serait étonnant que personne à l’agence ne soit capable de refaire cette manipulation, ou même simplement qu’elle n’ait pas demandé à des experts extérieurs.
Dans son rapport, Skorobogatov indique que même si la technique n’est pas simple et nécessite de la patience pour être mise en place, « n’importe quel pirate avec les compétences nécessaires peut répéter l’expérience », sans parler de forces de l’ordre ayant suffisamment de budget.
Une opération délicate et rébarbative, mais qui fonctionne
L’expérience proprement dite consiste à ouvrir dans un premier temps l’iPhone pour en exposer les entrailles. Il faut alors détacher et extraire avec précaution la puce Flash LGA60. Comme le note Ars Technica, l’opération est facilitée par la mise à disposition d’informations techniques par des sites tels que iFixit, qui démontent justement les nouveaux appareils et précisent de nombreux détails.
Une fois la puce isolée, il faut la raccorder de manière à pouvoir l’analyser. Les circuits doivent être reconnectés afin de tester les caractéristiques de la puce, notamment la tension à appliquer. C’est une étape « laborieuse » dans le sens où il va falloir étudier de nombreux signaux à l’oscilloscope pour comprendre comment la puce communique avec les autres équipements. Quand le pirate trouve, il est alors en mesure de réaliser une copie complète des données qui y sont stockées.

Tester autant de combinaisons que l'on veut
Mais ces données ne sont-elles pas chiffrées ? Si, et c’est justement là que le clonage devient intéressant. Par défaut le nombre de tentatives pour trouver le code à quatre chiffres est de six. Chaque fois que l’utilisateur se trompe, le délai pour l’essai suivant augmente. Selon Skorobogatov, les six tentatives prennent environ 45 secondes. En théorie, puisqu’il existe 10 000 combinaisons possibles, il faudrait une vingtaine d’heures pour tester toutes les combinaisons.
Or, lorsque l’on se lance à l’assaut d’un iPhone, il est impossible de savoir à l’avance si l’utilisateur a activé une option bien particulière : le formatage du téléphone en cas d’échecs répétés. Dans le cas de l’iPhone 5c de Farook, le nombre de tentatives était de dix, mais le FBI ne savait pas si la dixième allait ou non provoquer la suppression de données qu’il estimait éminemment précieuses.
Avec le clonage, il n’y a plus de problèmes : on crée autant de copies que nécessaire. Dans le cas de l’expérience menée par Skorobogatov, chacune représentait donc un lot de six tentatives de codes verrouillé. D’où les 20 heures avancées par le chercheur, puisqu’il devenait alors possible d' enchainer les requêtes.
Une efficacité qui dépend largement du modèle visé
Skorobogatov apporte cependant certaines précisions qui ont toute leur importance. Tant que les constructeurs utilisent en grande majorité de la NAND, ce type de manipulation reste plus délicat qu’avec la mémoire NOR, qui supporte un nombre bien plus élevé de réécritures. Par ailleurs, la méthode s’est avérée efficace sur un iPhone 5c sous iOS, et doit l’être sur un iPhone 6. Mais à partir du 6s, la situation change. Le chercheur parle d’une mémoire plus avancée sur interface m-PCIe. Pour l’iPhone 7, il évoque cette fois une équipe complète, ainsi qu’un budget bien plus conséquent. Le cœur de la méthode, cependant, resterait le même.
Cette conclusion est d’ailleurs la même pour d’autres produits. Elle peut par exemple être reproduite sur les iPad, même si les modèles équipés de puces plus récentes que les A6 demanderaient des tests supplémentaires. Côté Android, la plupart des modèles vendus ont une mémoire NAND tout à fait standard. Skorobogatov estime que l’on peut effectuer ce type de copie dans la plupart des cas.
Le chercheur fournit des pistes pour renforcer la sécurité
Toutefois, le chercheur précise que le « NAND mirroring » n’a rien d’une technique infaillible. Tout dépend de la manière dont la puce de mémoire flash a été intégrée. Il est facile selon lui de prévoir une implémentation particulière pour faire barrage à la copie, et il fournit d’ailleurs plusieurs pistes sur la manière dont les constructeurs pourraient placer des protections dans leurs smartphones et tablettes.
Le fait est que la publication de ces travaux peut être potentiellement importante pour la suite. Il n’est pas certain que le FBI apprécie les conclusions du chercheur après avoir payé au moins 1,3 million de dollars pour une faille de sécurité qui lui a permis finalement d’obtenir les données qu’il souhaitait. Par contre, puisque la marche à suivre est clairement indiquée, rien n’empêche l’agence ou n’importe quelle autre force de l’ordre de procéder de cette manière. L’iPhone 5c a beau être vieux, l’iPhone 6 l’est déjà moins et il existe sans aucun doute de tels modèles impliqués dans des enquêtes.
D’un autre côté, l’information peut servir à tous. Si les constructeurs s’y penchent, il est tout à fait possible – même pour Apple – d’aller puiser dans les idées fournies pour améliorer la sécurité. Notez par ailleurs entre temps que la configuration initiale sur iOS 9 et 10 réclame maintenant six chiffres au lieu de quatre. Le nombre de combinaisons serait donc d’un million. Il y aurait donc 166 666,7 lots de six chiffres, chacun nécessitant 45 secondes. Au final, plus de 2 000 heures seraient nécessaires, soit presque 12 semaines à temps complet pour tester toutes les combinaisons.