HeadlinesBriefing favicon HeadlinesBriefing.com

Injeção a laser contorna depuração segura RP2350

Hacker News •
×

A microscopia de emissão de fótons localizou um registrador que habilita recursos de depuração no microcontrolador Raspberry Pi. Pulsos de laser em duas posições próximas restauraram o acesso do depurador ao mundo seguro do chip, embora a depuração tenha sido permanentemente desabilitada. Usando esse acesso após um reset de resgate, recuperamos um segredo da memória programável uma única vez. O reset parou o chip antes que o firmware pudesse aplicar seu bloqueio de tempo de execução, então a página permaneceu legível de forma segura. O ataque requer acesso físico, preparação destrutiva e aproximadamente $250.000 de equipamento de laboratório.

O RP2350 é o microcontrolador de núcleo duplo da Raspberry Pi: cada soquete de processador pode selecionar um núcleo Arm Cortex-M33 ou RISC-V Hazard3 na inicialização. Seus recursos de segurança de hardware incluem inicialização segura, Armv8-M TrustZone, configurações permanentes de desabilitação de depuração e detectores de glitch. A Raspberry Pi convidou pesquisadores para avaliar essas proteções por meio de seus RP2350 Hacking Challenges. O primeiro desafio ocorreu de agosto a dezembro de 2024 contra o chip original. Depois que várias descobertas foram abordadas, a Raspberry Pi lançou a revisão A4 — a versão que testamos.

A configuração de segurança permanente e as impressões digitais da chave pública de inicialização são armazenadas em memória programável uma única vez (OTP): cada bit pode ser alterado de 0 para 1 uma vez e nunca mais. A OTP é organizada em páginas de 128 bytes protegidas por duas linhas de bloqueio persistentes. Em um reset de OTP, os valores persistentes LOCK_S e LOCK_NS inicializam um bloqueio de tempo de execução por página. O firmware pode apertar esse bloqueio, mas não pode afrouxá-lo. A alteração de tempo de execução não sobrevive a esse reset.

Um depurador externo se comunica através da interface Serial Wire Debug (SWD) da Arm. A depuração segura refere-se ao acesso Mem-AP com atribuição segura. O sinalizador permanente CRIT1.DEBUG_DISABLE fecha esse caminho. Quando definido, ele leva os sinais de habilitação dos Mem-APs de ambos os núcleos a zero, impedindo acessos ao barramento. O SW-DP e o RP-AP ainda respondem, mas nenhum Mem-AP de núcleo pode acessar o barramento do sistema. No entanto, o registrador DEBUGEN mapeado em memória permite que o software seguro reabilite o Mem-AP de cada núcleo e os acessos seguros. A folha de dados afirma que DEBUG_DISABLE "pode ser totalmente substituído definindo todos os bits deste registrador".

Entidades-chave: Empresas: Raspberry Pi, Arm, Ledger Donjon