
갤럭시리서치가 8월 1일 공개한 조사 결과에 따르면 콜드카드(COLDCARD)에서 생성된 주소를 겨냥한 것으로 의심되는 탈취가 세 번째 파동으로 번졌다. 새로 확인된 탈취 규모는 207.7294 BTC이며, 연구팀이 관측한 누적 규모는 4,585개 주소에서 1,367.05 BTC, 당시 시세로 약 8,860만달러다.
제조사 코인카이트는 공식 보안 권고에서 영향을 받는 펌웨어로 생성한 시드가 위험하다고 밝혔다. 영향을 받는 범위는 Mk2·Mk3의 4.0.1부터 4.1.9까지와, 수정 버전 이전의 Mk4·Mk5·Q 표준 및 Edge 펌웨어다. 다만 시드 생성 때 독립적이고 비공개인 주사위 굴림을 50회 이상 추가했거나 강력하고 고유한 BIP-39 패스프레이즈로 보호한 경우 위험 조건이 달라진다.
문제는 2021년 타원곡선 연산 라이브러리를 이전하는 과정에서 지갑 시드 생성에 사용되는 난수 경로가 의도한 하드웨어 난수 생성기가 아닌 MicroPython의 소프트웨어 대체 구현으로 연결된 데서 비롯됐다. 코인카이트는 Mk2·Mk3에서 실질적인 탐색 공간을 약 40비트로, 보안 요소의 엔트로피가 일부 섞인 Mk4·Mk5·Q에서는 약 72비트로 잠정 평가했다.
Block의 비트코인 엔지니어링·보안팀도 별도 기술 분석에서 같은 난수 통합 오류를 확인했다고 밝혔다. 분석에 따르면 빌드 설정의 매크로 값이 0인데도 단순히 정의 여부만 검사한 탓에 빌드가 중단되지 않았고, libNgU가 하드웨어 난수 구현 대신 예측 가능한 Yasmarang 소프트웨어 생성기에 연결됐다. Block은 전체 실증 시험을 마치지는 못했지만 실제 악용이 진행 중이어서 분석을 조기에 공개했다고 설명했다.
코인카이트는 영향을 받는 모든 모델과 릴리스 트랙에 수정 펌웨어를 배포했다. Mk2·Mk3는 4.2.0 이상, Mk4·Mk5 표준은 5.6.0 이상, Q 표준은 1.5.0Q 이상, Edge는 각각 6.6.0X 또는 6.6.0QX 이상으로 업데이트해야 한다. 다만 펌웨어 업데이트만으로 기존 시드가 복구되지는 않는다. 이용자는 수정 펌웨어를 설치한 뒤 새 시드를 만들고, 소액 시험 전송과 지갑 지문·수신 주소 확인을 거쳐 자금을 옮겨야 한다.
TAPSIGNER, OPENDIME, SATSCARD는 다른 코드베이스를 사용해 이번 결함의 영향을 받지 않는다. 갤럭시리서치는 확인된 공격 주소와 피해 정황을 관계 당국과 업계 조사자에게 공유하고 있다며, 콜드카드에서 생성한 단일서명 주소에 자금이 남아 있는 이용자에게 즉시 이전을 권고했다.
출처: Coinkite 공식 보안 권고 https://blog.coinkite.com/coldcard-mk3-seed-generation-warning/
출처: Coinkite 난수 결함 기술 분석 https://blog.coinkite.com/entropy-technical-backgrounder/
출처: Block Bitcoin Engineering and Security 기술 분석 https://engineering.block.xyz/blog/predictable-rng-fallback-and-32-bit-reseed-in-coldcard-firmware
출처: Galaxy Research 공식 조사 업데이트 https://x.com/glxyresearch/status/2083623500183421043
출처: Galaxy Research 책임자 Alex Thorn 조사 업데이트 https://x.com/intangiblecoins/status/2083756710510895255