Dans la gamme iPhone, le 6S est le premier qui a intégré littéralement un SSD NVMe, à la manière des Mac. En effet, dès 2015, Apple a développé ses propres contrôleurs NVMe, maintenant inclus dans les systèmes sur puce. Et des chercheurs ont tenté — avec succès — de sniffer la liaison entre l'Apple A9 et le SSD d'un iPhone 6S, qui s'effectue donc en PCI-Express.
Le papier publié montre une solution assez étonnante : les chercheurs français ont développé un petit composant qui se place entre la puce de mémoire — qui contient le contrôleur — et l'Apple A9. L'intégration demande évidemment de solides compétences en soudure : il faut enlever la puce d'origine, loger le composant (l'interposer) et ressouder le tout. Avec cet adaptateur et une carte équipée d'une puce FPGA (une puce programmable), il est ensuite envisageable d'intercepter les communications entre le CPU et le SSD sans que le système d'exploitation puisse s'en rendre compte. Cette interception est facilitée par le fait que la liaison passe par le protocole PCI-Express, bien documenté et largement employé dans l'industrie.
Il s'agit d'un vecteur d'attaque intéressant pour les hackers, même s'il y a quelques limites. Premièrement, une partie des données (comme vos empreintes et certaines clés) ne sont pas stockées sur le SSD mais dans une zone dédiée du processeur. Malgré tout, les chercheurs indiquent qu'il est par exemple potentiellement possible de supprimer la limite sur le nombre d'essais pour un mot de passe. Ensuite — surtout — c'est une solution qui n'est pas applicable aux iPhone récents : les systèmes sur puce modernes intègrent directement le contrôleur NVMe et il n'y a donc pas de surface d'attaque pour intercepter le signal.