HeadlinesBriefing favicon HeadlinesBriefing.com

Injection laser contourne débogage sécurisé RP2350

Hacker News •
×

La microscopie d'émission de photons a localisé un registre activant les fonctions de débogage sur le microcontrôleur Raspberry Pi. Des impulsions laser à deux positions voisines ont restauré l'accès du débogueur au monde sécurisé de la puce, bien que le débogage ait été définitivement désactivé. En utilisant cet accès après une réinitialisation de secours, nous avons récupéré un secret dans la mémoire programmable une seule fois. La réinitialisation a arrêté la puce avant que le firmware ne puisse appliquer son verrou d'exécution, de sorte que la page est restée lisible en mode sécurisé. L'attaque nécessite un accès physique, une préparation destructive et environ 250 000 $ d'équipement de laboratoire.

Le RP2350 est le microcontrôleur double cœur de Raspberry Pi : chaque socket de processeur peut sélectionner soit un cœur Arm Cortex-M33, soit un cœur RISC-V Hazard3 au démarrage. Ses fonctionnalités de sécurité matérielle incluent le démarrage sécurisé, Armv8-M TrustZone, des paramètres de désactivation permanente du débogage et des détecteurs de glitches. Raspberry Pi a invité les chercheurs à évaluer ces protections via ses RP2350 Hacking Challenges. Le premier défi s'est déroulé d'août à décembre 2024 contre la puce originale. Après que plusieurs découvertes ont été traitées, Raspberry Pi a publié la révision A4 — la version que nous avons testée.

La configuration de sécurité permanente et les empreintes de clé publique de démarrage sont stockées dans une mémoire programmable une seule fois (OTP) : chaque bit peut être basculé de 0 à 1 une fois et jamais inversement. L'OTP est organisé en pages de 128 octets protégées par deux lignes de verrouillage persistantes. Lors d'une réinitialisation OTP, les valeurs persistantes LOCK_S et LOCK_NS initialisent un verrou d'exécution par page. Le firmware peut resserrer ce verrou mais ne peut pas le desserrer. Le changement d'exécution ne survit pas à cette réinitialisation.

Un débogueur externe communique via l'interface Serial Wire Debug (SWD) d'Arm. Le débogage sécurisé fait référence à l'accès Mem-AP avec attribution sécurisée. L'indicateur permanent CRIT1.DEBUG_DISABLE ferme ce chemin. Lorsqu'il est défini, il met à zéro les signaux d'activation des Mem-AP des deux cœurs, empêchant les accès au bus. Le SW-DP et le RP-AP répondent toujours, mais aucun Mem-AP de cœur ne peut accéder au bus système. Cependant, le registre DEBUGEN mappé en mémoire permet au logiciel sécurisé de réactiver le Mem-AP de chaque cœur et les accès sécurisés. La fiche technique indique que DEBUG_DISABLE « peut être entièrement annulé en définissant tous les bits de ce registre ».

Entités clés : Entreprises : Raspberry Pi, Arm, Ledger Donjon

FAQ : Qu'est-ce que le contournement du débogage sécurisé du RP2350 ?

Il s'agit d'une attaque par injection de fautes laser qui restaure l'accès au débogage du monde sécurisé du RP2350 en ciblant un registre qui annule le paramètre de désactivation permanente du débogage.

Question FAQ : Qu'est-ce que le contournement du débogage sécurisé du RP2350 ?

Réponse FAQ : Il s'agit d'une attaque par injection de fautes laser qui restaure l'accès au débogage du monde sécurisé du RP2350 en ciblant un registre qui annule le paramètre de désactivation permanente du débogage.