
블록(Block) 비트코인 엔지니어링·보안팀의 공식 보안 권고에 따르면 하드웨어 지갑 콜드카드(COLDCARD)의 시드 생성 과정에서 난수 품질을 떨어뜨리는 결함이 확인됐으며, 이를 이용한 비트코인 탈취가 진행 중이다. 제조사 코인카이트는 영향받은 펌웨어에서 만든 기존 시드를 새 시드로 교체하고 자금을 이전하라고 권고했다.
결함은 콜드카드 펌웨어가 하드웨어 난수 생성기 대신 결정론적 소프트웨어 난수 생성 경로를 사용한 데서 비롯됐다. 블록 연구팀은 Mk2·Mk3의 일부 펌웨어에서는 장치 식별자와 타이머 상태, 난수 호출 이력을 알거나 충분히 좁힐 경우 지갑 생성 결과를 재현할 수 있다고 분석했다. Mk4·Q·Mk5에는 보안 칩에서 얻은 엔트로피가 추가되지만, 재시드 과정에 반영되는 값이 32비트로 제한된다고 지적했다.
영향 범위는 시드를 만들 때 사용한 기기와 펌웨어에 따라 갈린다. 코인카이트는 Mk2·Mk3 4.0.1부터 4.1.9까지, Mk4·Mk5의 표준 5.6.0 이전 또는 Edge 6.6.0X 이전, Q의 표준 1.5.0Q 이전 또는 Edge 6.6.0QX 이전 펌웨어에서 생성한 시드가 대상이라고 밝혔다. 시드 생성 때 독립적이고 비공개인 주사위 굴림을 50회 이상 추가한 경우는 이번 난수 결함만으로 위험하다고 보지 않는다.
수정 펌웨어는 모든 영향 모델과 배포 트랙에 나왔다. Mk2·Mk3는 4.2.0 이상, Mk4·Mk5 표준은 5.6.0 이상, Q 표준은 1.5.0Q 이상을 설치해야 한다. Edge 사용자는 Mk4·Mk5 6.6.0X 이상 또는 Q 6.6.0QX 이상으로 올려야 한다. 코인카이트는 업데이트를 적용하기 전 새 시드를 만들지 말라고 경고했다.
펌웨어 업데이트만으로 기존 시드가 복구되지는 않는다. 영향받은 버전에서 만든 시드는 수정 펌웨어에서 새로 생성한 시드로 교체해야 한다. 코인카이트는 새 지갑의 백업과 수신 주소를 확인하고 소액 시험 전송이 도착한 것을 확인한 뒤 나머지 자금을 옮기도록 안내했다. 강력하고 고유한 BIP-39 패스프레이즈는 추가 방어선이지만, 취약한 시드 자체를 고치지는 않는다.
블록 연구팀은 현재 분석이 진행 중이며 모든 장치에 대한 종단 간 악용 가능성을 실험으로 확인한 것은 아니라고 밝혔다. 다만 실제 탈취가 진행되고 있어 최종 기술 보고서에 앞서 권고를 공개했다고 설명했다. 코인카이트도 조사를 계속하고 있으며 후속 기술 검토를 내놓을 예정이라고 밝혔다.
이번 사안은 하드웨어 지갑의 보안이 키를 오프라인에 보관하는 것만으로 끝나지 않는다는 점을 보여준다. 최초 시드를 만드는 난수 생성 경로가 약하면 장치에 물리적으로 접근하지 않아도 공개 주소나 확장 공개키를 후보 검증 수단으로 삼아 개인키를 찾을 수 있다. 다중서명 구성도 취약한 장치만으로 정족수를 채웠다면 같은 위험에서 벗어나지 못한다.
출처: Block Bitcoin Engineering and Security 보안 권고 https://engineering.block.xyz/blog/predictable-rng-fallback-and-32-bit-reseed-in-coldcard-firmware
출처: Coinkite COLDCARD 보안 권고 https://blog.coinkite.com/coldcard-mk3-seed-generation-warning/