Sécurité du microcontrôleur RP2350 piratée
Le défi
Annoncé lors de la DEF CON 32 en août 2024, le RP2350 Hacking Challenge était une collaboration entre Raspberry Pi et les spécialistes de la sécurité de Hextree.io. Les participants ont été chargés d'extraire un secret programmé dans la mémoire OTP du RP2350, un microcontrôleur doté de fonctionnalités de sécurité telles que Secure Boot, ARM TrustZone, des détecteurs de problèmes et un coprocesseur de redondance personnalisé (RCP). L’objectif du défi était de tester sous contrainte les protections de la puce dans des conditions réelles.
Entrée de Aedan Cullen
L'ingénieur Aedan Cullen a démontré une attaque lors du 38e Chaos Communication Congress (38C3), contournant les principales fonctionnalités de sécurité pour accéder aux données protégées stockées dans la mémoire programmable une fois (OTP) de la puce. Raspberry Pi n'a pas encore confirmé si l'exploit de Cullen constitue l'entrée gagnante de son défi Capture the Flag de 20 000 $, l'annonce officielle étant prévue pour le 14 janvier.
Cullen’s approach leveraged a voltage injection glitch on Pin 53 (USB-OTP_VDD), a critical connection to the chip’s OTP functionality. By inducing a brief 50 μs voltage drop during specific reads of the OTP memory (CRIT0 and CRIT1), Cullen was able to reactivate “permanently disabled” RISC-V cores and gain access to the debug port. This allowed him to extract the secret from the otherwise locked OTP memory. It’s an ingenious attack that shows how even seemingly minor design decisions — like the handling of specific voltage rails — can create exploitable weaknesses.
Points forts techniques
- Timing: Cullen a synchronisé le problème avec une séquence de démarrage critique de 600 μs à l'aide de scripts Python pour balayer le timing de la chute de tension..
- Tooling: Une carte RP2350 modifiée a permis à Cullen d'isoler et de manipuler la broche 53.
- Debug Access: Le problème a contourné les mécanismes de sécurité de la puce, permettant l'accès aux fonctionnalités de débogage normalement verrouillées par Secure Boot.
La méthode de Cullen est à la fois incroyablement complexe et remarquablement pratique. Une analyse minutieuse de la documentation, combinée à des expérimentations sur le matériel, lui a permis d’exploiter des vulnérabilités qui pourraient sembler farfelues sur le papier. Son utilisation de scripts pour identifier le moment exact de l’apparition d’un problème montre comment la précision technique peut transformer des faiblesses théoriques en exploits tangibles.
Des implications plus larges
L’architecture de sécurité du RP2350, une amélioration majeure par rapport au modèle RP2040 précédent — était destinée à répondre aux exigences des utilisateurs industriels et commerciaux qui ont besoin d’une protection renforcée. Cependant, le hack de Cullen démontre que même des fonctionnalités de sécurité robustes peuvent avoir négligé des failles. Cela soulève des questions légitimes quant à savoir si les protections du RP2350 sont suffisantes pour les applications de haute sécurité ou si des couches de défense supplémentaires sont nécessaires pour protéger les systèmes sensibles.
En attente de confirmation
Bien que Cullen ait partagé publiquement ses découvertes, y compris des diagrammes annotés et du source code sur GitHub, Raspberry Pi n'a pas encore confirmé si sa méthode est l'entrée gagnante. L’annonce officielle est attendue le 14 janvier 2025. S’il est validé, l’exploit de Cullen pourrait inciter Raspberry Pi à revoir la conception de sécurité du RP2350 ou à publier des mises à jour du micrologiciel pour atténuer la vulnérabilité. On verra !