HeadlinesBriefing favicon HeadlinesBriefing.com

Inyección láser elude depuración segura RP2350

Hacker News •
×

La microscopía de emisión de fotones localizó un registro que habilita funciones de depuración en el microcontrolador Raspberry Pi. Pulsos láser en dos posiciones cercanas restauraron el acceso del depurador al mundo seguro del chip, aunque la depuración había sido deshabilitada permanentemente. Usando ese acceso después de un reinicio de rescate, recuperamos un secreto de la memoria programable una sola vez. El reinicio detuvo el chip antes de que el firmware pudiera aplicar su bloqueo en tiempo de ejecución, por lo que la página permaneció legible de forma segura. El ataque requiere acceso físico, preparación destructiva y aproximadamente $250,000 de equipo de laboratorio.

El RP2350 es el microcontrolador de doble núcleo de Raspberry Pi: cada zócalo de procesador puede seleccionar un núcleo Arm Cortex-M33 o RISC-V Hazard3 al arrancar. Sus características de seguridad de hardware incluyen arranque seguro, Armv8-M TrustZone, configuraciones de deshabilitación permanente de depuración y detectores de fallos. Raspberry Pi invitó a investigadores a evaluar estas protecciones a través de sus Desafíos de Hacking RP2350. El primer desafío se llevó a cabo de agosto a diciembre de 2024 contra el chip original. Después de abordar varios hallazgos, Raspberry Pi lanzó la revisión A4, la versión que probamos.

La configuración de seguridad permanente y las huellas digitales de la clave pública de arranque se almacenan en memoria programable una sola vez (OTP): cada bit puede cambiarse de 0 a 1 una vez y nunca volver. La OTP está organizada en páginas de 128 bytes protegidas por dos filas de bloqueo persistentes. En un reinicio de OTP, los valores persistentes LOCK_S y LOCK_NS inicializan un bloqueo en tiempo de ejecución por página. El firmware puede apretar este bloqueo pero no puede aflojarlo. El cambio en tiempo de ejecución no sobrevive a ese reinicio.

Un depurador externo se comunica a través de la interfaz Serial Wire Debug (SWD) de Arm. La depuración segura se refiere al acceso Mem-AP con atribución segura. El indicador permanente CRIT1.DEBUG_DISABLE cierra esta ruta. Cuando se establece, lleva las señales de habilitación de los Mem-AP de ambos núcleos a cero, impidiendo el acceso al bus. El SW-DP y el RP-AP aún responden, pero ningún Mem-AP de núcleo puede acceder al bus del sistema. Sin embargo, el registro DEBUGEN mapeado en memoria permite al software seguro volver a habilitar el Mem-AP de cada núcleo y los accesos seguros. La hoja de datos afirma que DEBUG_DISABLE "puede anularse completamente estableciendo todos los bits de este registro".

Entidades clave: Empresas: Raspberry Pi, Arm, Ledger Donjon