콜드카드 하드월렛 해킹사건 (블록체인은 안전하지만 인간이 블록체인에 접속하는 도구는 언제나 취약하다)

 "Not your keys, not your bitcoins." 나도 신뢰하는 문구고 많은 분들이 이 명제를 잘 지키고 계신 것으로 알고 있다. 어제 오늘 하드월렛이 해킹당했다는 기사를 접하고 깜짝 놀라서 여기저기 찾아보는 중이다. 지갑 전체의 문제는 아니고 콜드카드의 난수생성기 오류이고 다른 지갑이나 비트코인 네트워크에는 문제가 없다고는 하나, 지갑을 구매해서 사용할때 24개(요즘은 12개도 많다) 니모닉이 생성되는데 이게 사용자가 버그가 있는 프로그램에서 생성이 된건지 여부를 알아내기는 불가능에 가깝다. 또한 하드월렛은 오프라인이므로 대규모 펌웨어 업그레이드가 되었다고 해서 해결될 수 있는 문제가 아니라는 점은 사안이 가벼운 것은 아니라고 생각한다. 콜드카드 지갑은 바로 옮기고 다른 지갑 사용도 가급적 분산해 놓는 것이 좋지 않을까 합니다. 저는 디센트 지갑만 사용해봐서 다른 지갑은 잘 모르는데 유투브 보면 사용하기 편리한 지갑도 많이 있어 여러개 쓰는 것도 가능하지 않을까 싶습니다.

기사: 콜드카드 해킹사건

[블록덕 기사요약]

하드웨어 지갑 콜드카드(Coldcard)에서 비트코인 생태계를 흔드는 치명적인 사고가 터졌습니다. 시드 구문 생성 과정의 난수(Randomness) 결함으로 비트코인 1,367개가 해킹을 당했습니다. (해킹 숫자는 더 늘어날 수도 있습니다.) 거래소 해킹이나 어설픈 피싱 사이트 클릭 때문이 아니고 비트코인을 보관하는 '금고의 설계도' 인 난수생성기의 버그입니다. ㅠ.ㅠ

1. 난수(Randomness)의 오류, 그리고 해킹

비트코인 지갑의 개인키(Private Key)는 우주에 존재하는 모든 원자 수보다 많은 경우의 수 중에서 '완벽하게 무작위'로 추출되어야만 안전합니다. 각 지갑에는 난수생성기가 탑재되어 있어 지갑을 오픈하는 순간 센서가 물리적, 전기적 신호를 읽고 이를 난수 생성에 활용하므로써 프로그램만 제대로 되어 있다면 알기가 불가능합니다.

[정상적인 시드 생성] 물리적/전기적 노이즈 ➔ 완벽한 무작위 난수(Entropy) ➔ 예측 불가능한 시드 구문 생성

[이번 콜드카드 결함] 알고리즘 버그 ➔ 특정 패턴을 가진 '가짜 난수' ➔ 무작위 범위의 극단적 축소 ➔ 해커의 역산 성공

이번 콜드카드의 난수 생성기(RNG) 알고리즘은 무작위가 아니라 특정 패턴 내에서만 숫자를 조합하는 버그를 일으켰고 경우의 수가 극단적으로 줄어들자, 해커들은 무차별 대입(Brute-force) 연산으로 콜드카드가 생성해 낼 수 있는 시드 구문들의 조합을 단숨에 맞춰버렸습니다. 최후 방어막으로 콜드카드에는 자동 난수를 믿지 못하는 사용자들을 위해 '직접 실물 주사위를 100번 굴려 숫자를 입력하는 기능(Dice Roll)'이 존재했었고 주사위를 직접 굴려 물리적 엔트로피를 주입한 '극단적 편집증' 투자자들의 자산은 100% 안전했습니다. 하지만 자동 난수 생성을 프로그램 버그인지 아닌지에 대해서는 사용자가 확인해야할 의무는 없다고 생각합니다.

2. 스위퍼 봇(Sweeper Bot)의 해킹

해커가 일일이 찾아다니며 비번을 뚫은 것이 아니다. 모든 과정은 블록체인의 투명성과 자동화 프로그램에 의한, 즉 AI bot을 활용해 해킹을 한 것입니다. 해커는 취약한 난수 알고리즘에서 생성될 수 있는 모든 비트코인 공개키(주소) 목록을 컴퓨터로 순식간에 계산해 내고 비트코인 공개 장부를 스캔하여, 해당 주소 중 잔고가 남아있는 지갑들을 선별한 후 잔고가 확인되는 즉시, 해커가 짜놓은 스위퍼 봇(Sweeper Bot)이 지갑의 개인키를 복구하고 비트코인을 해커의 계좌로 단숨에 송금해 버렸습니다. 블록체인 네트워크는 올바른 개인키로 서명된 트랜잭션이라면 그것이 해커든 진짜 주인이든 100% 실행하므로 완벽한 네트워크 보안이, 역설적으로 해커의 자금 인출까지 완벽하게 보장해 준 셈이 되었습니다.

3. '멀티시그'는 대안이 될 수 있을까?

결론은 아직은 잘 모르겠습니다 입니다. 이번 사건은 "단순히 하드웨어 지갑 하나 사서 코인 넣어두면 끝"이라는 식의 셀프 커스터디에 무서운 경종을 울린 사건이며, 셀프 커스터디도 검증된 지갑을 쓰고 분산을 고민해야하는 시점입니다. 내가 아무리 실수를 하지 않아도 제조사의 코드 한 줄, 칩 하나에 결함이 있다면 (AI에 의해) 자산은 순식간에 날아갈 수 있습니다. 과거에는 버그가 있더라도 그 버그를 알아내는 시간이 소요되거나 모르게 넘어갈 수도 있었겠지만 AI의 발달은 그러한 버그를 용납하지 않을 것입니다. 최근 멀티시그(Multi-Sig, 다중 서명 구조로 서비스하는 앱 등이 있다고는 하는데 대안이 될지는 모르겠지만 보안 강화에 대한 고민을 각자 해야하지 않을까 싶습니다. (제가 여기까지는 잘 몰라서 좀더 고민해 보겠습니다.)

[블록덕의 시선: 보안을 '제품'이 아니라 '프로세스' 관점으로 이해해 보자]

월가의 거대 기관들과 스트래티지(MSTR) 같은 기업들이 왜 매년 천문학적인 돈을 들여 복잡한 다중 서명 인프라와 외부 수탁고(Custody)를 이용하는지 그 이유가 이번 사건으로 증명되었습니다. 자산을 직접 지킨다는 것은 지갑을 사고 이용하는 것뿐 아니라 정말 어려운 얘기지만 난수 생성 방식의 검증, 제조사 위험 분산, 그리고 멀티시그 구축까지 고민해서 보안의 프로세스를 스스로 통제해야 함을 의미합니다.


※ 스트래티지(MSTR) 비트코인 보관 방식

1. 다중 수탁자 분산 보관 (Multi-Custodian Strategy)

천문학적인 규모의 비트코인을 한 회사에 몰아두지 않고, 여러 기관에 나누어 보관합니다. 이는 해킹이나 특정 수탁 업체의 파산(예: FTX 사태) 같은 카운터파티 리스크를 없애기 위한 가장 중요한 조치입니다. 확인된 주요 파트너는 다음과 같습니다.

  • 코인베이스 프라임 (Coinbase Prime Custody): MSTR의 가장 오래되고 비중이 큰 핵심 수탁 파트너입니다. 매수 체결(Execution)과 보관을 동시에 담당합니다.

  • 피델리티 디지털 에셋 (Fidelity Digital Assets): 글로벌 굴지의 전통 자산운용사인 피델리티의 자회사로, 이곳에도 상당 물량을 분산하여 안전하게 격리 보관하고 있습니다.

2. 다중 서명 방식의 콜드 스토리지 (Multi-sig Cold Storage)

수탁 기관에 맡겨진 비트코인은 인터넷과 완전히 단절된 '콜드 스토리지(오프라인 금고)'에 보관됩니다. 여기에 기관급 다중 서명(Multi-sig) 기술과 엄격한 물리적/절차적 보안 통제가 적용되어 있어, 수탁 기관 내부의 직원이 횡령하려 하거나 외부 해커가 침입하더라도 코인을 빼낼 수 없는 구조로 설계되어 있습니다.



댓글

이 블로그의 인기 게시물

스트래티지(MSTR) 대시보드 업데이트 - 비트코인 본위제 재무제표 탄생

공화당의원 존 튠, 클래리티법 9월 첫 표결 추진하겠다 (feat. 실패해도 SEC 자체규정 만들 것)