Le RP2350, le microcontrôleur de Raspberry Pi réputé pour son haut niveau de sécurité, a été victime d'une attaque par injection de faute au laser. L'équipe de sécurité de Ledger Donjon est parvenue à désactiver les fonctions de débogage protégées de la puce, puis à lire un secret de 128 bits dissimulé en mémoire dans le cadre du défi de hacking lancé par la fondation. La démonstration, rendue publique, illustre les limites des protections matérielles face à des attaquants disposant de moyens importants.
Le RP2350 intègre plusieurs mécanismes de défense : un démarrage sécurisé, la séparation entre exécution sécurisée et non sécurisée via TrustZone d'ARMv8, et la possibilité de désactiver définitivement le débogage. La fondation Raspberry Pi a même ajouté une détection des glitchs, rendant inefficace la technique classique consistant à perturber électriquement la puce jusqu'à ce qu'elle cède. C'est précisément ce niveau de protection qui a poussé les chercheurs à explorer une autre voie.
Pour contourner ces défenses, l'équipe a décapsulé la puce et examiné le die au microscope électronique à émission de photons afin de localiser le registre qui active les fonctions de débogage. L'attaque a ensuite été menée sur une puce décapsulée par l'arrière, en faisant passer un rayon infrarouge à travers la tranche de silicium. Le banc de test utilisé pour cette opération est impressionnant, avec un coût estimé à 250 000 dollars.
Le principe de l'attaque consiste à focaliser très précisément un faisceau laser sur une zone adjacente au registre cible pour faire basculer certains bits. Après plusieurs essais, les chercheurs ont réussi à rétablir l'accès du débogueur à la zone d'exécution sécurisée. Une fois la puce réinitialisée, ils ont pu lire le secret de 128 bits que la fondation Raspberry Pi avait caché en mémoire dans le cadre de son défi de hacking.
Cette démonstration rappelle un principe bien connu en sécurité : lorsqu'un attaquant a un accès physique au matériel, il finit presque toujours par trouver une faille. Toutefois, l'effort déployé ici pour venir à bout d'un simple microcontrôleur est remarquable. L'injection de faute par laser est une technique connue, mais elle reste coûteuse et complexe à mettre en œuvre. Ironie de l'histoire, des attaques par glitch utilisant un Raspberry Pi Pico avaient déjà été présentées par le passé — des attaques que la détection de glitchs du RP2350 est justement censée contrer.
Pour les développeurs et les fabricants, ce résultat ne signifie pas que le RP2350 est insecure, mais il souligne que la sécurité matérielle doit être pensée en couches et que les secrets stockés sur puce ne sont jamais à l'abri d'un attaquant déterminé et bien équipé. La fondation Raspberry Pi n'a pas encore commenté publiquement cette recherche, mais celle-ci devrait alimenter les discussions sur la robustesse des mécanismes de protection dans les microcontrôleurs modernes.