콜드카드 시드 취약점 악용…비트코인 1367개 탈취
핵심 요약
콜드카드 지갑 4585개에서 비트코인 1367개가 탈취됐다. 취약한 소프트웨어 난수 생성 방식이 시드와 개인키 재현에 악용된 것으로 분석됐다. 이용자는 새 시드 지갑으로 자산을 옮기고 별도 패스프레이즈를 설정할 필요가 있다.
인터넷과 분리해 개인키를 보관하는 하드웨어 콜드월렛에서도 대규모 탈취 사고가 발생했다. 지난달 30일부터 이달 2일까지 콜드카드 지갑 주소 4585개에서 비트코인 1367개가 빠져나갔으며, 현재 4차 공격까지 진행 중인 것으로 파악됐다. 공격의 출발점은 특정 펌웨어에 적용된 취약한 난수 생성 방식으로 분석됐다.
콜드카드는 캐나다 보안기업 코인카이트가 개발한 비트코인 전용 기기다. 문제가 된 2021년 3월 배포 펌웨어는 지갑 시드를 만들 때 보안칩의 하드웨어 난수 생성기 대신 소프트웨어 난수 생성기를 사용하도록 변경됐다. 공격자는 생성 가능한 난수의 범위를 계산한 뒤 지갑 복구 문구의 기반인 시드와 개인키를 오프라인에서 재현해 자산을 빼낸 것으로 분석된다.
난수는 예측하기 어려울수록 안전성이 높으며, 통상 콜드월렛은 국가기관 등의 인증을 거친 보안칩에서 하드웨어 방식으로 난수를 생성한다. 반면 소프트웨어 방식은 계산 알고리즘과 생성 시점이 드러날 경우 값을 추정할 가능성이 있다. 국내에서 판매되는 상당수 제품은 하드웨어 방식을 채택하고 있으며, 아이오트러스트의 디센트와 국내 이용자가 많은 렛저도 이 방식을 사용한다.
코인카이트는 긴급 펌웨어를 배포하고 취약한 펌웨어에서 만든 시드를 사용한 고객에게 새 시드로 생성한 지갑으로 자산을 옮기도록 권고했다. 유민호 아이오트러스트 최고보안책임자는 이번 사고를 마스터 비밀번호가 노출된 것과 같은 상황으로 보고 기존 지갑의 사용 중단이 필요하다고 진단했다. 시드가 유출돼도 같은 지갑을 복원하기 어렵게 만드는 별도 패스프레이즈 설정과 제품의 보안 인증 확인도 필요한 조치로 제시됐다.