광자 방출로 유도한 레이저 결함 주입으로 RP2350의 보안 디버그 활성화

4 hours ago 2

RP2350 A4에서 영구적으로 비활성화한 디버그 기능을 레이저 결함 주입으로 다시 활성화해, Secure 영역의 메모리 접근과 코어 제어에 성공함 광자 방출 현미경(PEM) 으로 DEBUGEN 비트 변화에 따른 발광 위치를 좁힌 뒤, 수 마이크로미터 떨어진 두 지점에 레이저를 반복 조사해 Secure 디버그를 활성화함 복구 리셋(rescue reset) 으로 펌웨어 실행 전에 칩을 대기시켜 OTP 런타임 잠금이 적용되지 않도록 한 뒤, 해킹 챌린지 구성의 128비트 비밀값 전체를 추출함 DEBUGEN_LOCK 은 소프트웨어 쓰기를 막지만 레이저로 인한 비트 변경은 막지 못했으며, 펌웨어 기반 감시와 접근 제한도 이번 부팅 전 추출을 방지하지 못함 공격에는 파괴적 물리 접근, 하드웨어 보안 전문성, 약 25만 달러의 실험 장비가 필요하며, OTP 설정부터 제어 레지스터와 리셋 동작까지 전체 보안 강제 경로를 검토해야 함 RP2350의 보안 모델과 디버그 우회 경로 RP2350은 부팅 시 각 프로세서 소켓에서 Arm Cortex-M33 또는 RISC-V Hazard3를 선택할 수 있는 듀얼코어 마이크로컨트롤러임 OTP에 저장한 공개키 지문으로 서명된 펌웨어를 인증하는 보안 부팅, Armv8-M TrustZone, 영구 디버그 비활성화 설정을 지원함 클록이나 전원 조작에 따른 타이밍 교란을 감지하기 위한 글리치 감지기도 포함함 Raspberry Pi는 RP2350 Hacking Challenge로 보안 검증을 장려해 왔으며, 첫 챌린지는 원래 칩을 대상으로 2024년 8~12월 진행됨 여러 발견 사항을 수정한 뒤 출시한 A4 리비전이 이번 실험 대상임 OTP 메모리에는 영구 보안 설정과 부팅 공개키 지문을 저장하며, 각 비트는 한 번만 0에서 1로 변경할 수 있음 128바이트 페이지마다 PAGEn_LOCK0이 선택적 읽기/쓰기 키와 키 미입력 시 동작을 설정함 PAGEn_LOCK1의 LOCK_S와 LOCK_NS는 하드웨어가 강제하는 Secure/Non-secure 권한으로, 읽기/쓰기에서 읽기 전용이나 접근 불가로만 강화할 수 있음 RP2350 데이터시트에 따르면 중요 플래그는 연속된 OTP 8개 행에 걸친 3-of-8 투표 방식으로, 잠금 비트는 다수결을 사용하는 3중 중복 방식으로 인코딩됨 런타임 잠금(소프트 잠금) 은 OTP 리셋 시 영구 LOCK_S/LOCK_NS 값으로 초기화됨 펌웨어는 다음 OTP 리셋까...

Read Entire Article