연결 중…
연결 중…
전체 보기
캘빈의 감금원
Telegram · @c4lvinlocked

못찾은 거일수도 있지만 콜드카드 취약점에 대해 설명을 본게 없어서 써봄.

게시
2026.08.04 11:31
조회
1,244
포워드
12
이미지
2장

2021년 3월 콜드카드에서 펌웨어 버전 4.0.0을 업데이트하면서, 기존에 쓰던 MicroPython의 내장 난수 생성기를 자체 난수 생성기로 교체함. 그래서 MicroPython 난수 생성기를 끈다는 뜻으로 MICROPY_HW_ENABLE_RNG라는 매개변수 값을 0으로 설정해뒀음.

문제는 이 매개변수는 값을 보는 매개변수가 아니라 존재 여부만 확인하는 방식으로 검증이 이루어졌다는거임. 그래서 자체 구현체로 교체했다고 생각했던 난수 생성기는 기존의 MicroPython의 것을 지금까지 그대로 사용하고 있었음.

그 결과로 지금까지의 키생성은 Yasmarang이라는 의사난수 생성기 (true random이 아님)를 통해 이루어졌고, 얘는 입력값으로 칩 id, 타이머 레지스터, 내부 클록이라는, 세 값만을 통해 생성함.

원래라면 128비트의 난이도를 가져야했을 기기들이 구형은 40, 신형은 72비트의 난이도를 갖게되었고.. 신형도 생성 가능한 프라이빗 키 풀의 크기가 수십억개 정도로 줄어들었음.

그래서 지금 콜드카드에 대한 공격은 단순 브루트포싱으로 이루어지고 있는거임. 공격 당하기 전에 자금을 뺐으면 모르겠지만.. 비트코인 맥시들은 비트를 넣어두는게 주 목적이지 뺄일은 거의 없기에 대응이 늦지 않았을까 싶음.

문제의 커밋: https://github.com/Coldcard/firmware/commit/37e4af5451c260c1e7d429fe8972c4cb5e68ee59

조회1,244포워드12텔레그램에서 보기