RP2350, 광자 방출 현미경으로 디버그 레지스터 찾아 레이저로 Secure 디버그 뚫려 (장비값 $250,000)
- Photon emission microscopy로 RP2350에서 디버그를 켜는 레지스터 위치를 찾아내고, 인접한 두 지점에 레이저 펄스를 쏴 영구 비활성화된 Secure debug 접근을 복구함. 공격에는 물리적 접근, 파괴적 준비, 약 $250,000 상당의 실험 장비가 필요함.
- 데이터시트에 따르면 CRIT1.DEBUG_DISABLE이 두 코어 Mem-AP의 활성 신호를 0으로 만들어 버스 접근 자체를 차단하지만, DEBUGEN 레지스터의 모든 비트를 세팅하면 이 설정을 완전히 덮어쓸 수 있음. 저자들이 노린 지점이 바로 이 오버라이드임.
- rescue reset 뒤 Secure 디버그로 OTP의 128비트 비밀을 읽어냄. 리셋이 펌웨어보다 먼저 칩을 멈추면서 페이지 48에 런타임 락이 걸리지 않았고, Secure 읽기 권한이 그대로 남음.
- Raspberry Pi가 연 RP2350 해킹 챌린지 설정을 A4 리비전에서 그대로 재현한 실험이며, OTP는 128바이트 페이지마다 LOCK_S/LOCK_NS 하드 락이 걸리고 보안 필드는 8행 3-of-8 투표와 3중 중복 다수결로 인코딩됨.
Hacker News opinions
물리 접근에 파괴적 준비까지 필요한 공격이라 실용성은 없는데 그래도 재밌는 공격임.
그 $250,000은 어디까지나 현재 가격이라는 거. 장비값은 계속 떨어짐.
주변에 보면 그런 장비를 회사에 두고 남는 시간에 돌리는 사람들 있음.
리버스 엔지니어링을 서비스로 파는 회사면 $250k 투자는 나쁘지 않음. 건당 1천 달러씩 받고 펌웨어 뽑아주면 됨. 규제 느슨한 나라에서 하면 딱 좋은 사업 아이템임.
국가급 행위자한테는 그 정도 돈이 푼돈임.
오히려 방어가 잘 된 걸로 읽힘. 50달러짜리 라이브 기기에서 물리 접근만으로 root를 못 딴다는 뜻이니까.
XKCD 538 렌치 만화가 또 생각남.
그 만화는 업데이트가 필요함. 요즘 악당들은 렌치도 필요 없음. 키를 본인들이 미리 다 넘겨줬으니까.
예전에 DRAM 칩을 열면 이미징에 쓸 수 있다는 걸 알게 됐던 때가 떠오름. 물론 이번 스케일은 훨씬 대단함.
글에 디테일을 다 풀어줘서 고마움. $250k 장비는 처음 발견하고 익스플로잇 만들고 문서화할 때 기준이고, 홈랩에서는 $25k 이하, 어쩌면 $10k 이하로도 가능함. Colin O'Flynn의 MPC5566 BAM BAM 공격을 재현할 때 그쪽은 ChipShouter($5,000)를 썼고 나는 PicoEMP($50)를 썼음.
$250K 장비가 이 공격만을 위한 지출인지, 아니면 진지한 HW 보안 랩이 이미 갖추고 있는 건지 궁금했음. 며칠 전에 탄 $250K짜리 SF Muni 버스도 이미 굴러다니던 거라 내가 돈을 낸 건 아니니까.
RP2350의 secure enclave가 Yubikey 대안으로 쓸 만해서 끌렸음. 금고 털이와 금고 제작자 사이의 군비경쟁은 늘 있는 일이고, 이번 교훈이 다음 세대를 더 튼튼하게 만드는 데 쓰이겠지.
군비경쟁이라는 말은 글리하고 무책임함. 교훈도 틀렸음. 대칭 암호에는 그런 경쟁이 없음. 25년 전 AES 암호문은 오늘도 안전하고 앞으로도 그럴 거임. 경쟁이 생기는 건 신뢰 하드웨어의 보안 모델 자체가 근본적으로 잘못됐기 때문임. 공격자가 기기를 물리적으로 손에 넣으면 보안은 일시적일 뿐임. 그만 좀 하자. 신뢰 하드웨어는 컴퓨팅 생태계 전체에 나쁜 외부효과를 남김.