읽기 전에:
Ledger는 최근 발표된 콜드카드 Mk3(Coldcard Mk3) 보안 권고와 무관하며, 어떠한 영향도 받지 않습니다.
Ledger 장치는 당사의 보안 칩에 직접 내장된 인증된 진성 난수 생성기(TRNG)를 사용하며, 24 단어로 구성된 비밀 복구 문구에 대해 완벽한 256비트 엔트로피를 생성합니다. 자세한 정보는 이 글을 참조하세요.
코인카이트(Coinkite)는 특정 콜드카드 Mk3 펌웨어 버전에 대한 보안 권고문을 발표했습니다. 해당 공지는 여기서 확인하실 수 있습니다.
콜드카드(Coldcard) 사건: 무작위성의 근본적 중요성
2026년 7월 31일, 콜드카드(Coldcard)는 펌웨어 버그로 인해 일부 장치의 시드 구문(seed phrase) 생성 방식이 취약해져 막대한 사용자 자산 손실이 발생했다고 발표했습니다. 이와 관련하여, 2022년 말 Ledger의 보안 연구소인 Ledger Donjon은 트러스트 월렛(Trust Wallet) 브라우저 확장 프로그램에서 유사한 취약점을 발견한 바 있습니다.
해당 버그로 인해 확장 프로그램에서 생성된 모든 지갑은 공개 주소(public address)만으로도 복구가 가능한 상태였습니다. 즉, 공격자가 사용자의 어떠한 개입 없이도 프라이빗 키(private keys)를 추출하여 자금을 탈취할 수 있었습니다. 이를 탐색해야 하는 범위(search space)가 무차별 대입 공격(brute force)이 가능할 정도로 매우 좁았기 때문입니다.
Donjon은 이 문제를 책임감 있게 제보했습니다. 트러스트 월렛은 취약점을 대중에 공개하기 전, 약 5개월에 걸쳐 소프트웨어를 패치하고 사용자들이 자산을 안전하게 이동할 수 있는 시간을 확보했습니다. 이러한 대응 과정 덕분에 암호화폐 생태계 역사상 가장 큰 규모가 될 뻔했던 지갑 해킹 사태를 사전에 방지할 수 있었습니다.
암호학은 그 자체로 까다로운 분야이며, 이를 안전하게 구현하는 것은 더욱 어려운 일입니다. 또한 대부분의 사람들이 간과하는 부분인 ‘고품질의 무작위성(randomness) 생성’이야말로 전체 보안 시스템의 생사를 가르는 핵심 요소입니다. 이번 주 발생한 콜드카드 사태는 그 사실을 가장 뼈아픈 방식으로 증명했습니다.
지난 2022년 말, @DonjonLedger 는 Trust Wallet 브라우저 확장 프로그램에서 유사한 취약성을 발견했습니다.
— 찰스 기예메(Charles Guillemet) (@P3b7_) 2026년 8월 1일
해당 버그로 인해 확장 프로그램에서 생성된 모든 지갑은 공개 주소(public address)만으로도 복구가 가능한 상태였습니다. 즉, 공격자가 사용자의 프라이빗 키(private keys)를 추출하여 자금을 탈취할 수 있었습니다.
콜드카드(Coldcard): 오늘날의 보안 환경은 어떻게 다른가
무엇이 문제였을까요. 사용자가 소유한 모든 프라이빗 키는 단 하나의 숫자, 즉 ‘시드(seed)’에서 파생됩니다. 만약 이 숫자를 예측할 수 있다면, 이를 기반으로 파생된 모든 정보 역시 예측 가능해집니다. 콜드카드의 펌웨어는 전용 하드웨어 난수 생성기(RNG)에서 시드를 추출하도록 설계되어야 했습니다. 하지만 그렇지 못했습니다. 보호 장치(guard)가 구성 매크로(config macro)의 활성화 여부가 아닌 정의 여부만을 확인하는 오류를 범했고, 결과적으로 빌드 과정에서 칩의 일련번호와 타이머를 기반으로 하는 소프트웨어 생성기로 소리 없이 전환(fallback)되었습니다. 이는 공격자가 충분히 재구성할 수 있는 값들입니다.
구형 장치들은 사실상 결정론적(deterministic)으로 작동했으며, 최신 장치들의 엔트로피는 약 32비트(약 40억 개의 경우의 수) 수준으로 제한되었습니다. 128비트의 안전성을 갖췄다고 광고되던 시드 공간(seed space)이 누구나 열거하여 대입할 수 있는 수준으로 무너진 것입니다. 연구원들의 추산에 따르면, 2021년 3월부터 공개 코드에 방치되어 있던 이 결함으로 인해 약 1,200개의 지갑에서 1,000 BTC 이상이 탈취되었습니다. 공격자는 장치에 물리적으로 접촉할 필요조차 없었습니다.
결함이 있는 RNG는 아무런 경고도 보내지 않습니다. 출력값은 여전히 무작위처럼 보이며 일반적인 검사를 쉽게 통과합니다. 결국 어느 목요일 밤 21시 56분, 온체인 상에서 누군가가 내 자산을 빼내고 나서야 비로소 문제를 깨닫게 됩니다. 무작위성(randomness)이 결코 소프트웨어의 편의나 임시방편(fallback path)에 의존해서는 안 되는 이유가 바로 여기에 있습니다. 무작위성은 반드시 최고 수준의 보안 기능으로서 철저히 설계되고, 측정되며, 인증되어야 합니다.
Ledger의 접근 방식 당사는 진난수 생성기(True hardware RNG)를 포함한 최고의 암호학적 요소(cryptographic primitives)를 활용하기 위해 오직 인증된 보안 칩(Secure Element)만을 기반으로 장치를 설계합니다. TRNG는 공식이 아닌 ‘물리학’ 그 자체입니다. 실리콘의 불규칙한 물리적 현상을 활용하여 진정한 엔트로피를 생성하므로 애초에 공격자가 추측할 수 있는 시드 자체가 존재하지 않습니다. 보안 칩에는 오작동과 조작을 감시하는 하드웨어 감지기, 환경 센서, 액티브 쉴딩(active shielding), 글리치(glitch) 및 전압 감지 기능이 내장되어 있습니다. 예를 들어 극한의 온도는 노이즈 소스(noise source)를 저하시킬 수 있으므로, 하드웨어는 취약한 엔트로피를 조용히 내보내는 대신 이러한 이상을 즉각 포착하도록 구축되었습니다. 또한 원시 엔트로피(raw entropy)는 절대 직접적으로 사용되지 않습니다. 이 낮은 처리량의 소스는 Ledger OS 내부의 정교한 암호학적 후처리 과정을 거치게 됩니다. 요약하자면, 엔트로피는 물리학을 통해 생성하고, 암호학을 통해 최적화합니다.
무작위성의 근본적 중요성
— 찰스 기예메(Charles Guillemet) (@P3b7_) 2026년 8월 1일
암호학은 그 자체로 까다로운 분야이며, 이를 안전하게 구현하는 것은 더욱 어려운 일입니다. 또한 대부분의 사람들이 간과하는 부분인 ‘고품질의 무작위성(randomness) 생성’이야말로 전체 보안 시스템의 생사를 가르는 핵심 요소입니다.
이번 주 발생한 콜드카드 사태는 그 사실을 가장 뼈아픈 방식으로 증명했습니다… pic.twitter.com/Sj55VtvPg1
인증 그리고 그 의미. 단순한 주장은 누구나 할 수 있습니다. 반면 인증은 제3자가 그 주장의 허점을 찾아내기 위해 철저히 검증하는 과정입니다. 당사의 TRNG는 AIS-31 기준에 따라 평가되었으며 PTG.2 인증을 획득했습니다. AIS-31은 국제 공통 평가 기준(Common Criteria) 체계 내에서 사용되는 독일 연방정보보안청(BSI)의 방법론으로, 단순히 출력값을 테스트하는 데 그치지 않고 노이즈 소스의 확률론적(stochastic) 모델을 포함하여 진정한 물리적 RNG(난수 생성기)를 평가하는 방법을 정의합니다. 당사의 보안 칩(Secure Element)는 EAL5+ 및 EAL6+ 등급의 국제 공통 평가 기준(CC) 인증을 보유하고 있습니다. 또한 Ledger 장치는 난수 생성 품질을 명시적인 평가 범위에 포함하는 프랑스 국가사이버보안국(ANSSI)의 1등급 인증 체계인 CSPN 인증을 받았습니다. 콜드카드(Coldcard) 사태의 핵심 원인이었던 “편향되거나 결정론적인(deterministic) 난수 생성” 오류는 당사가 공개한 보안 목표(security targets)에서 ‘최우선 위협(Threat #1)’으로 명시되어 있으며, TRNG는 바로 이러한 위협을 원천 차단하는 핵심 보안 기능입니다.
솔직히 말씀드리는 클로즈드 소스(Closed source)에 관하여. Ledger OS의 이 영역은 클로즈드 소스입니다. 당사의 보안 칩(Secure Element) 기술에 접근하기 위해서는 하위 수준(low-level)의 구현을 비공개로 유지해야 한다는 하드웨어 공급업체의 엄격한 요구 조건이 따릅니다. 저희는 오픈 소스를 지향하지만, 이 특정 레이어에서 ‘최고 수준의 인증된 보안’과 ‘오픈 소스 철학’ 중 하나를 택해야 한다면 당사는 보안을 선택한 것이며, 저는 지금도 그것이 옳은 결정이었다고 확신합니다.
클로즈드 소스라고 해서 감사를 받지 않는 것은 아닙니다. 당사의 코드는 다수의 독립적인 전문 업체를 통해 정기적인 평가를 거치며, 반복적으로 인증을 획득하고 있습니다. ‘보안은 모호함(obscurity)에 의존해서는 안 된다’는 원칙은 당사에도 여전히 굳건히 적용됩니다.
그러나 클로즈드 소스가 공격자의 취약점 연구 비용을 크게 높인다는 점 또한 사실입니다. 이 두 가지 사실은 동시에 성립합니다. 어떤 결함이 5년 동안이나 공개된 코드에 방치되어 있다가 최근 한 공격자가 AI를 사용하여 이를 찾아냈다는 사실은, ‘공개된(open)’ 것과 ‘검토된(reviewed)’ 것이 결코 같은 의미가 아님을 일깨워 줍니다.
이러한 AI의 위협은 결코 부수적인 문제가 아닙니다. 내부적으로 당사는 자사 제품의 취약점을 탐색하기 위해 LLM(대형 언어 모델)을 적극적으로 활용하고 있으며, 이는 실제로 매우 효과적입니다. 이와 관련된 블로그 게시물을 읽어보세요.
공격자들은 이미 기계의 속도로 이 작업을 수행하고 있습니다. 따라서 당사 역시 그들보다 한발 앞서 동일하게 대응하고 있습니다. 당사의 접근 방식에 대해서는 조만간 더 자세히 공유해 드리겠습니다.
그렇다고 해서 저희가 모든 보안 위협으로부터 완전히 안전하다는 뜻은 아닙니다. 하지만 이를 통해 당사는 측정 및 모니터링이 가능해지며, 독립적인 테스트를 거치게 됩니다. 이는 콜드카드(Coldcard)에서 발생한 오류를 사전에 포착할 수 있었던 것과 동일한 수준의 엄격한 기준입니다. 당사는 맹목적인 신뢰를 요구하기보다 투명하게 확인(verify)할 수 있는 방식을 추구합니다.
최신 LLM의 등장으로 인해 취약점을 재발견하고, 패치를 이해하며, 악용 파이프라인(exploitation pipelines)을 구축하는 일이 극적으로 쉬워졌습니다. “패치 완료”부터 “무기화” 사이의 유예 기간이 점점 줄어들고 있는 것입니다.
책임감 있는 취약점 공개(Responsible disclosure)는 여전히 필수적이지만, 취약점 관리 방식 또한 진화해야 합니다. 더 빠른 패치, 단축된 공개 일정, 그리고 AI 기술을 갖춘 강력한 공격자를 상정한 마이그레이션 전략은 이제 선택적 개선 사항이 아니라 보안 모델의 필수적인 부분입니다.
찰스 기예메(Charles Guillemet), Ledger CTO