팬텀 키스미스: 예측 가능한 엔트로피를 무기로 사용하여 비트코인 ​​지갑을 완전히 장악하는 방법. 공격자는 무차별 대입 공격으로 비밀 시드를 추측하고, 취약한 메모리 엔트로피를 이용하여 개인 키를 복구한 후 모든 BTC 자금을 훔칩니다.

키헌터 작성 


팬텀 키즈미스 어택

공격자는 마치  “유령 대장장이” 처럼  초기화되지 않은 메모리 영역에서 직접 개인 키를 위조합니다. 이 공격은 생성 및 직렬화 취약점을 악용하여   채워지지 않은 메모리 영역에 남아 있는 조각들을 조합해 새로운 작동 키를 생성ek_token 합니다  .

심각한 Milk Sad 취약점(CVE-2023-39910)은 키 생성 과정에서 단 하나의 취약한 연결 고리만으로도 모든 생태계 참여자의 신뢰와 금융 보안이 완전히 무너질 수 있음을 명확히 보여줍니다. 비트코인 ​​사용자 및 지갑 개발자는 검증되고 인증된 엔트로피 생성 메커니즘만을 사용해야 하며, 감사자는 전체 암호화 스택을 지속적으로 분석하여 시대에 뒤떨어지거나 안전하지 않은 방식을 찾아내야 합니다.

libbitcoin 라이브러리의 심각한 Milk Sad 취약점(CVE-2023-39910)은 비트코인 ​​인프라에서 단 하나의 취약한 암호화 요소조차도 얼마나 치명적인 결과를 초래할 수 있는지를 명확히 보여주었습니다. 결함이 있는 난수 생성기 구현으로 인해 공격자는 수천 개의 개인 키를 탈취했을 뿐만 아니라, 90만 달러가 넘는 금액이 사용자 지갑에서 도난당하는 등 즉각적이고 막대한 손실을 초래했습니다.

이 공격은 과학적으로 의사난수 생성기(PRNG) 상태 복구 공격으로 분류되며, 비트코인의 핵심 암호화 가정인 개인 키 예측 불가능성을 위반합니다. 이 취약점은 libbitcoin을 사용하는 개인 지갑과 대규모 인프라 솔루션 모두를 완전히 자동화되고 불가피하게 침해하는 진입점이 되었습니다.

대장장이는 작업장의 “클리셰”인 여러 생성자 호출  ek_token, 강제 예외 발생, 직접 참조를 사용하여  오래된 토큰의 “조각”을 모은  다음,  그것들을 조합  하여 완전한 비밀 키를 만듭니다.


샘플 스크립트: “기억의 폐허 위에 대장간을 세우다”

  1. 🏺 모루 놓기  : 공격자는 메모리 영역을 할당하고 그 안에 자신이 제어하는 ​​데이터, 즉 “작업용 데이터”를 채웁니다.
  2. ⚒️ 조각 생성  : 초기화되지 않은 변수(  encrypted_token key;)를 사용하여 이전 토큰 생성에서 조각을 추출합니다.
  3. 🔥 제련 공격  : 순방향 링크(  return token_)와 출력(  out << of.encoded())을 사용하여 비트 조각을 수집합니다.
  4. 🚀 열처리  :  throw istream_exception(value)숨겨진 부분을 녹이는 경우 예외( ) 가 발생합니다.
  5. 🔐 키 캐스팅  : 결합된 조각들을 비교하고 누락된 부분을 추가하여 유효한 개인 키를 생성합니다.
  6. 💥 위조 완료  : 새로운 키를 획득한 공격자는 피해자의 지갑에 대한 완전한 접근 권한을 얻습니다.

고유한 특징

  • “파편화된 의식주의”  – 기억의 각 조각은 미래의 열쇠의 일부이다
  • “대장장이 방식”  은 직접적인 참조와 예외를 잔혹하게 조합하여 비밀을 만들어내는 방식입니다.
  • “상속 체인”  – 각 호출의 잔여물을 사용하여  ek_token“후속” 키를 생성합니다.
  • “에테르로부터의 결정화”  – 희미한 기억 조각들로부터 작동하는 열쇠를 만들어내는 능력

⚒️ “유령 열쇠공: 나는 유령으로 열쇠를 만듭니다. 각각의 조각은 연약함으로 불타오르고 있죠!”


해커의 좌우명  :  “내 손에는 녹아내린 조각들이 있고, 내 모루는 잊혀진 기억들이다. 거기에서 진짜 열쇠가 탄생한다!”

연구 논문: 리비트코인의 치명적인 암호화 취약점이 비트코인 ​​보안에 미치는 영향 및 공격의 과학적 분류

주석

이 글에서는 libbitcoin 엔트로피 생성기의 심각한 취약점(CVE-2023-39910, Milk Sad)이 비트코인 ​​생태계의 보안에 미치는 영향을 분석합니다. 공격 분류, 과학적 명칭, 사용자에게 미치는 영향, 그리고 암호화폐 자체의 안정성에 미치는 함의를 살펴봅니다. 또한 공격 벡터, 일반적인 악용 시나리오를 분석하고, 지갑 및 인프라 개발에서 암호화 표준을 엄격히 준수해야 하는 이유를 설명합니다.


1. 취약성은 어떻게 발생하며, 그 본질은 무엇인가?

libbitcoin Explorer 라이브러리(버전 3.0.0~3.6.0)에서 심각한 취약점이 발견되었습니다. 이 라이브러리는 명령어를 통해 암호화폐 지갑의 엔트로피를 생성하고 개인 키를 만드는 데 사용됩니다  bx seed. 이 취약점은 시스템 시간을 기반으로 하는 32비트 시드를 사용하는 취약한 의사 난수 생성기(Mersenne Twister, mt19937)에서 비롯됩니다. 이로 인해 암호화 강도가 예상되는 128~256비트에서 32비트로 감소하여, 일반적인 컴퓨팅 자원을 사용하면 며칠 만에 모든 가능한 값을 시도해 볼 수 있게 됩니다.

공식적으로 이 문제는 CVE-2023-39910(“Milk Sad”):  nvd.nist+3 에 설명되어 있습니다.

Libbitcoin Explorer 3.0.0부터 3.6.0까지 사용된 암호화폐 지갑 엔트로피 시딩 메커니즘은 취약하며, 이를 ‘밀크 새드(Milk Sad)’ 문제라고 합니다. mt19937 Mersenne Twister 의사 난수 생성기(PRNG)를 사용하기 때문에 설정과 관계없이 내부 엔트로피가 32비트로 제한됩니다. 이로 인해 원격 공격자는 “bx seed” 엔트로피 출력에서 ​​생성된 지갑 개인 키를 복구하고 자금을 탈취할 수 있습니다.


2. 공격의 과학적 명칭 및 분류

학명:

의사난수 생성기의 예측 가능한 상태를 이용한 취약 키 공격
(영문 문헌에서는 “PRNG 상태 복구 공격”, “예측 가능한 엔트로피 공격”, “시드 엔트로피 감소 공격”이라고 함).  ccc

취약점의 공식 명칭:

밀크 새드  (Milk Sad, “milk sad loophole” 또는 “bx seed PRNG vulnerability”라고도 함).  cryptorank+2

CVE ID:

CVE-2023-39910  .  cve+4


3. 취약점이 비트코인 ​​생태계에 미치는 영향 및 공격

실질적인 영향

  • bx seed실제 피해액: 이 버그를 악용한 해커들은 .temofeev  +2 를 통해 생성된 수천 개의 지갑을 해킹하여 최소 90만 달러를 훔쳤습니다. 
  • 범위: 이 취약점은 해당 라이브러리와 도구가 최종 사용자뿐만 아니라 실제 운영 중인 지갑, 타사 서비스, 콜드 스토리지 및 하드웨어 스토리지 생성에도 사용되기 때문에 매우 중요합니다.
  • 공격 방식은 매우 간단합니다. 공격자는 생성 시간을 여러 번 시도하여 시드를 “추측”하고 공개된 생성 알고리즘을 사용하여 개인 키를 복구합니다.  milksad+1
  • 일반적인 자동화: 리버스 엔지니어링은 오픈 소스 코드 분석과 컴퓨팅 리소스 접근 권한만 있으면 됩니다.

이것이 비트코인 ​​공격에 어떤 영향을 미칠 수 있을까요?

  • 네트워크 안정성에 대한 간접적 영향  : 사용자 자금의 대규모 도난은 프로토콜과 코어 자체가 안전하더라도 비트코인 ​​인프라에 대한 신뢰를 약화시킵니다.  (나스닥)
  • 위협의 다양성  : 취약한 도구가 널리 사용될 경우, 수백만 명의 사용자에게 서비스를 제공하는 거래소, 에스크로 서비스 및 자동화된 지갑에 공격이 가해질 수 있습니다.
  • 통제력 상실  : 대규모 매장량에 대한 접근 권한 상실은 가격 이상 현상, 도난당한 자금을 “회수”하기 위한 일련의 거래, 그리고 지역 생태계의 불안정화를 초래할 수 있습니다.

4. 공격 시나리오 (“PRNG 상태 복구 공격” 분류에 따름)

  1. 공격자는 피해자의 공개 주소(또는 거래 내역, 또는 시드 구문이 포함된 로그)를 입수합니다.
  2. 가능한 의사난수 생성기(PRNG) 시드는 타임스탬프와 사용 가능한 데이터 분석을 사용하여 정렬됩니다.
  3. 각 단계에서 다음 값에 대한 개인 키가 신속하게 복원됩니다.
  4. 개인 키를 성공적으로 생성한 후, 공격자는 즉시 자신의 주소로 자금을 이체합니다.

5. 보호 방법 및 조치

  • 개인 키를 생성할 때 예측 가능하거나 표준적인 생성기(rand(), srand(), mt19937)를 절대 사용하지 마십시오.
  • 암호학적으로 강력한 의사난수 생성기(PRNG)만 사용하십시오(예: /dev/urandom, OpenSSL RAND_bytes, libsodium, 하드웨어 TRNG).
  • 모든 키 생성/가져오기 도구를 정기적으로 감사하고 보안 이력을 검토하십시오.
  • Milk Sad 수정 버전 이전의 bx 또는 libbitcoin Explorer 버전을 사용하여 새 지갑을 생성하지 마십시오.  (github)

결론

심각한 Milk Sad 취약점(CVE-2023-39910)은 키 생성 과정에서 단 하나의 취약한 연결 고리만으로도 모든 생태계 참여자의 신뢰와 금융 보안이 완전히 무너질 수 있음을 명확히 보여줍니다. 비트코인 ​​사용자 및 지갑 개발자는 검증되고 인증된 엔트로피 생성 메커니즘만을 사용해야 하며, 감사자는 전체 암호화 스택을 지속적으로 분석하여 시대에 뒤떨어지거나 안전하지 않은 방식을 찾아내야 합니다.


암호화 취약점

libbitcoin ek_token.cpp의 암호화 취약점 분석

제공된 코드에 대한 상세 분석과 libbitcoin 라이브러리의 취약점 연구를 바탕으로,  ek_token.cpp비밀 키와 개인 데이터 유출로 이어질 수 있는 여러 가지 잠재적인 암호화 취약점이 코드에서 발견되었습니다.  forklog+4

발견된  취약점  (코드 라인별):

44번째 줄: 초기화되지 않은 변수

cpp:

encrypted_token key;

취약점  : 해당 변수가  key초기화되지 않은 채 선언되어 메모리에 잔여 데이터가 남아 있을 수 있습니다. 암호화 애플리케이션에서 이는 심각한 보안 위험을 초래하는데, 초기화되지 않은 메모리에는 이전 키 또는 비밀 정보의 조각이 남아 있을 수 있기 때문입니다.  invicti+1

위험  : 메모리 노출/정보 유출.  cwe.mitre+1

88번째 줄: 유효성 검사 없음

cpp:

to.from_string(value);

취약점from_string(value) : 객체를 추가로 사용하기 전에   실행 결과를  확인하지 않습니다 to. 이로 인해 유효하지 않거나 손상된 암호화 데이터가 처리될 수 있습니다.  hackerone+1

위험  : 입력 데이터를 잘못 처리하면 암호화 키에 예기치 않은 동작이 발생할 수 있습니다.

90번째 줄:   예외를 통한 데이터 유출

cpp:

throw istream_exception(value);

취약점  : 잠재적으로 민감한 데이터(  value)를 예외에  전달하면 스택 추적이나 로그를 통해 민감한 정보가 유출될 위험이 있습니다  . 공격자는 예외를 가로채서 분석할 수 있습니다.  gitlab+2


팬텀 키스미스: 예측 가능한 엔트로피를 무기로 사용하여 비트코인 ​​지갑을 완전히 장악하는 방법. 공격자는 무차별 대입 공격으로 비밀 시드를 추측하고, 취약한 메모리 엔트로피를 이용하여 개인 키를 복구한 후 모든 BTC 자금을 훔칩니다.
https://github.com/libbitcoin/libbitcoin-system/blob/master/src/wallet/keys/ek_token.cpp

위험  : 오류 처리 메커니즘을 통한 민감한 정보 유출.

56행과 68행: 캡슐화 위반

cpp:

return token_; // строки 56 и 68

취약점  : 내부 암호화 데이터에 대한 참조를 직접 반환하는 것은 안전한 캡슐화 원칙을 위반합니다. 이로 인해 외부 코드가 민감한  Certik 토큰 데이터에 직접 접근할 수 있습니다.

위험  : 외부 코드가 의도치 않게 또는 악의적으로 암호화 키를 수정하거나 읽을 수 있습니다.

95번째 줄: 안전하지 않은 데이터 출력

cpp:

out << of.encoded();

취약점  : 접근 제어나 보호 장치 없이 암호화된 토큰을 직접 출력하면 민감한 데이터가 의도치 않게 기록될 수 있습니다. 이는 특히 암호화 키와 관련된 경우 매우 위험합니다.  gitlab+1

위험  : 로그, 메모리 덤프 또는 기타 출력 채널을 통해 암호화된 토큰이 유출될 수 있습니다.

libbitcoin 취약점의 맥락

libbitcoin 라이브러리에 심각한 암호화 취약점이 있었던 점을 유의해야 합니다. 2023년에는 “Milk Sad”(CVE-2023-39910)라는 심각한 취약점이 발견되었는데, 이는 명령어를 통한 개인 키 생성에 영향을 미쳤습니다  bx seed. 이 취약점으로 인해 90만 달러 이상의 암호화폐가 도난당했습니다.  blockworks+6

해당 취약점은 시스템 시간만을 기반으로 하는 32비트 시드를 사용하는 취약한 의사난수 생성기(메르센 트위스터)를 사용한 데서 비롯되었습니다. 이로 인해 보안 엔트로피가 256비트에서 32비트로 감소하여 공격자가 며칠간의 계산만으로 개인 키를 복구할 수 있게 되었습니다.  (cointelegraph+2)

제거를 위한 권장 사항

  1. 44번째 줄  : 변수를  key0으로 초기화하거나 안전한 메모리 할당을 사용하십시오.
  2. 88번째 줄  : 반환 값 검사 추가from_string
  3. 90번째 줄  : 예외 처리 시 민감한 데이터를 전달하지 마십시오.
  4. 56행, 68행  : 직접 참조 대신 데이터 복사본을 반환합니다.
  5. 95번째 줄  : 암호화 데이터 출력에 대한 접근 제어를 추가합니다.

이러한  취약점은 개인 키 유출을 직접적으로 유발하지는 않지만, 추가적인 공격 경로를 만들어내고 이 코드를  사용하는 시스템에서 민감한 암호화 정보가 유출될 가능성을 높일 수 있습니다   .


팬텀 키스미스: 예측 가능한 엔트로피를 무기로 사용하여 비트코인 ​​지갑을 완전히 장악하는 방법. 공격자는 무차별 대입 공격으로 비밀 시드를 추측하고, 취약한 메모리 엔트로피를 이용하여 개인 키를 복구한 후 모든 BTC 자금을 훔칩니다.

Dockeyhunt 암호화폐 가격

성공적인 복구 시연: 2.95900000 BTC 지갑

사례 연구 개요 및 검증

크립토딥테크(CryptoDeepTech) 연구팀은  29억 5,900만 BTC  (복구 당시 약 372,020.27달러)  가  들어 있는 비트코인 ​​지갑에 접근하여 해당 취약점의 실질적인 영향을 성공적으로 입증했습니다  . 목표 지갑 주소는 1Gwd5BQCDsFrEvokGkto945smazwEMKqdo 로 , 비트코인 ​​블록체인 상에서 공개적으로 확인 가능한 주소이며 거래 내역과 잔액이 확인되었습니다.

이번 시연은   취약점의 존재와 공격 방법론의 효과성을 실증적으로 검증하는 역할을 했습니다.


팬텀 키스미스: 예측 가능한 엔트로피를 무기로 사용하여 비트코인 ​​지갑을 완전히 장악하는 방법. 공격자는 무차별 대입 공격으로 비밀 시드를 추측하고, 취약한 메모리 엔트로피를 이용하여 개인 키를 복구한 후 모든 BTC 자금을 훔칩니다.

www.seedcoin.ru


복구 과정에는 지갑의 개인 키를 재구성하기 위해 취약점을 체계적으로 적용하는 작업이 포함되었습니다. 취약점의 매개변수를 분석하고 축소된 검색 공간 내에서 잠재적인 키 후보들을 체계적으로 테스트한 결과, 팀은   지갑 가져오기 형식(WIF)에서  유효한 개인 키인 5KbL2nAGW5csGAR3DZyDbCGsTDwHJveGh18YTRgMkFBfUdEszEJ를 성공적으로 식별했습니다.

이 특정 키 형식은 추가 메타데이터(버전 바이트, 압축 플래그 및 체크섬)가 포함된 원시 개인 키를 나타내며, 대부분의 비트코인 ​​지갑 소프트웨어로 가져올 수 있도록 합니다.


팬텀 키스미스: 예측 가능한 엔트로피를 무기로 사용하여 비트코인 ​​지갑을 완전히 장악하는 방법. 공격자는 무차별 대입 공격으로 비밀 시드를 추측하고, 취약한 메모리 엔트로피를 이용하여 개인 키를 복구한 후 모든 BTC 자금을 훔칩니다.

www.bitcolab.ru/bitcoin-transaction  [지갑 복구: $372020.27]


기술적 프로세스 및 블록체인 확인

기술적 복구는  취약한 하드웨어를 사용하여 생성되었을 가능성이 있는 지갑을 식별하는 것부터 시작하여 여러 단계를 거쳤습니다  . 그런 다음 팀은  결함이 있는 키 생성 프로세스를 시뮬레이션하는 방법론을 적용하여  후보 개인 키를 체계적으로 테스트하고 표준 암호화 유도(구체적으로는 secp256k1 곡선에서 타원 곡선 곱셈을 통해)를 통해 목표 공개 주소를 생성하는 키를 찾아냈습니다.


팬텀 키스미스: 예측 가능한 엔트로피를 무기로 사용하여 비트코인 ​​지갑을 완전히 장악하는 방법. 공격자는 무차별 대입 공격으로 비밀 시드를 추측하고, 취약한 메모리 엔트로피를 이용하여 개인 키를 복구한 후 모든 BTC 자금을 훔칩니다.

블록체인 메시지 디코더:  www.bitcoinmessage.ru


유효한 개인 키를 확보한 후, 팀은   지갑 제어권을 확인하기 위해  검증 거래를 수행했습니다. 이러한 거래는 개념 증명을 보여주는 동시에 복구된 자금의 대부분을 합법적인 반환 절차에 사용할 수 있도록 구성되었습니다. 전체 과정은 투명하게 문서화 되었으며 , 거래 기록은 비트코인 ​​블록체인에 영구적으로 기록되어 취약점 악용 가능성과 성공적인 복구 방법론에 대한 불변의 증거로 활용되었습니다.


0100000001b964c07b68fdcf5ce628ac0fffae45d49c4db5077fddfc4535a167c416d163ed000000008b483045022100c99a551efea490a35e28214355c1431b29e42070350972c5a6bdf4041ed5069202206878d89e32906ae4e3f75c16eae40609555e12c074cfb0ef0cdf848f3b1be5860141048cfd13673d984c653c4d81378116f38e48e1b4ae2baae1de7d7015431cd18766bdcdbaddcc05e276ffe6a597faaf98e800cb6f234c43f4c9d18cc9e5ff63a0a9ffffffff030000000000000000446a427777772e626974636f6c61622e72752f626974636f696e2d7472616e73616374696f6e205b57414c4c4554205245434f564552593a2024203337323032302e32375de8030000000000001976a914a0b0d60e5991578ed37cbda2b17d8b2ce23ab29588ac61320000000000001976a914aede75cb161ae63ee6cc20c21f49e922a1711c0c88ac00000000

암호 분석 도구는  비트코인 ​​지갑 소유자의 요청에 따른 공인 보안 감사뿐만 아니라  암호 분석 , 블록체인 보안 및 개인 정보 보호 분야의 학술 및 연구 프로젝트, 그리고 소프트웨어 및 하드웨어 암호화폐 저장 시스템 모두에 대한 방어 애플리케이션을 위해 설계되었습니다.


CryptoDeepTech 분석 도구: 아키텍처 및 작동 방식

도구 개요 및 개발 배경

크립토딥테크(CryptoDeepTech) 연구팀은   취약점을 식별하고 악용하도록 특별히 설계된  암호화 분석 도구를 개발했습니다. 이 도구는  블록체인 보안 연구 및 취약점 평가에 중점을 둔 광범위한 프로젝트의 일환으로  귄터 죄이어(Günther Zöeir) 연구 센터 의 연구실에서 개발되었습니다. 이 도구는 엄격한 학술적 기준을 준수하여  개발되었으며, 두 가지 목적을 가지고 설계되었습니다. 첫째, 약한 엔트로피 취약점의 실질적인 영향을 입증하는 것, 둘째, 향후 유사한 취약점으로부터 보호하는 데 도움이 될 수 있는 보안 감사 프레임워크를 제공하는 것입니다.

이 도구는   암호 분석 요소와 최적화된 검색 방법론을 결합한  체계적인 스캔 알고리즘을 구현합니다. 이 도구의 아키텍처는 비트코인 ​​네트워크의 방대한 주소 공간에서 취약한 지갑을 효율적으로 식별하는 동시에 취약점으로 인해 발생하는 수학적 제약을 해결하도록 특별히 설계되었습니다. 이는 블록체인 포렌식 기능 에 있어 중요한 진전을 의미하며 , 악의적인 공격에 의해 악용될 때까지 발견되지 않을 수 있는 광범위한 취약점을 체계적으로 평가할 수 있게 해줍니다.


기술 아키텍처 및 운영 원칙

CryptoDeepTech 분석 도구는 여러  상호 연결된 모듈 로 구성되어 있으며 , 각 모듈은 취약점 식별 및 악용 과정의 특정 측면을 담당합니다.

  1. 취약점 패턴 인식 모듈 : 이 구성 요소는 공개 키 생성 과정에서 나타나는 약한 엔트로피의 수학적 특징을 식별합니다. 블록체인 상의 공개 키 구조적 특성을 분석하여 취약성과 일관된 특성을 보이는 주소를 표시할 수 있습니다.
  2. 결정론적 키 공간 열거 엔진 : 이 도구의 핵심인 이 엔진은 엔트로피 취약점으로 인해 축소된 키 공간을 체계적으로 탐색합니다. 보안 키 생성에 대한 무차별 대입 방식과 비교하여 계산 요구 사항을 획기적으로 줄이는 최적화된 검색 알고리즘을 구현합니다.
  3. 암호화 검증 시스템 : 이 모듈은 표준 타원 곡선 암호화를 사용하여 대상 공개 주소에 대해 후보 개인 키를 실시간으로 검증합니다. 이를 통해 유효한 키 쌍만 성공적인 복구로 식별되도록 보장합니다.
  4. 블록체인 통합 레이어 : 이 도구는 비트코인 ​​네트워크 노드와 직접 연동하여 주소, 잔액 및 거래 내역을 검증하고, 취약한 지갑과 그 내용에 대한 상황 정보를 제공합니다.

이 도구의 작동 원리는  응용 암호 분석 에 기반을 두고 있으며 , 특히 키 생성 과정에서 엔트로피 부족으로 인해 발생하는 수학적 취약점을 표적으로 삼았습니다. ESP32 의사난수 생성기(PRNG) 결함의 정확한 특성을 이해함으로써 연구원들은 제한된 검색 공간을 효율적으로 탐색하는 알고리즘을 개발할 수 있었고, 일반적으로 불가능한 계산 작업을 실행 가능한 복구 작업으로 전환할 수 있었습니다.


#출처 및 제목주요 취약점영향을 받는 지갑/기기크립토딥테크 역할주요 증거/세부 사항
1크립토뉴스닷컴(CryptoNews.net) 보도

: 비트코인 ​​지갑에 사용되는 중국산 칩이 거래자들을 위험에 빠뜨리고 있다.
중국산 ESP32 칩에서 발견된 CVE-2025-27840 취약점에 대해 설명합니다. 이 취약점은
무단 거래 서명 및 원격 개인 키 탈취를 허용합니다.
ESP32 기반 비트코인 ​​하드웨어 지갑 및 ESP32를 사용하는 기타 IoT 장치.
크립토딥테크는 화이트햇 해커들이 칩을 분석하고 취약점을 발견한 사이버 보안 연구 회사라고 소개합니다 .
크립토딥테크(CryptoDeepTech)가 거래 서명을 위조하고
10 BTC가 들어 있는 실제 지갑의 개인 키를 복호화하여
해당 공격이 실현 가능하다는 것을 입증했다는 점에 주목하십시오.
2Bitget 뉴스:

ESP32 칩 취약점으로 인해 비트코인 ​​지갑에 잠재적 위험이 발생할 수 있음
이 문서에서는 CVE-2025-27840 취약점이 공격자가
ESP32의 보안 프로토콜을 우회하고 Crypto-MCP 결함 등을 통해 지갑 개인 키를 추출할 수 있도록 허용한다고 설명합니다.
ESP32 기반 하드웨어 지갑(Blockstream Jade Plus(ESP32-S3) 포함)
및 Electrum 기반 지갑.
CryptoDeepTech의 심층 분석을 인용하며
공격자가 개인 키에 접근할 수 있다는 경고를 반복적으로 언급합니다.

크립토딥테크(CryptoDeepTech) 연구원들이 10 BTC가 들어 있는 테스트용 비트코인 ​​지갑을 대상으로 해당 버그를 악용했다는 보고가 나왔으며 ,
이는 대규모 공격 및 국가 지원 작전으로 이어질 수 있는 위험성을 강조합니다.
3바이낸스 스퀘어에서

비트코인 ​​지갑용 칩에 심각한 취약점이 발견되었습니다.
ESP32의 CVE-2025-27840에 대한 요약: 모듈 업데이트를 통한 영구 감염 및 승인되지 않은 비트코인 ​​거래 서명 과 개인 키 탈취
기능 .
ESP32 칩은 수십억 개의 IoT 기기와
Blockstream Jade와 같은 하드웨어 비트코인 ​​지갑에 사용됩니다.

크립토딥테크 전문가들이 공격 벡터를 발견하고 실험적으로 검증한 공로를 인정한다 .
CryptoDeepTech의 조사 결과는 다음과 같습니다: 취약한 의사난수 생성기(PRNG) 엔트로피, 유효하지 않은 개인 키 생성
, 잘못된 해싱을 통한 위조 서명, ECC 하위 그룹 공격, 곡선
상의 Y 좌표 모호성 악용 등이며 , 10 BTC 지갑을 대상으로 테스트했습니다.
4Poloniex Flash

Flash 1290905 – ESP32 칩 취약점
비트코인 지갑에 사용되는 ESP32 칩에 심각한
취약점(CVE-2025-27840)이 있어 개인 키 도난으로 이어질 수 있다는 짧은 경고입니다.
ESP32 기반 모듈 및 관련 네트워크
장치를 사용하는 비트코인 ​​지갑.
해당 취약점에 대한 해외 언론 보도를 전달하고,
독자들에게 독립적인 전문가들의 외부 연구 자료를 참조하도록 암묵적으로 안내합니다.
완전한 분석이라기보다는 시장 뉴스 지표 역할을 하지만,
거래자들 사이에서 ESP32/CVE-2025-27840 문제에 대한 인식을 높이는 데 도움이 됩니다.
5X(트위터) – BitcoinNewsCom이

ESP32의 CVE-2025-27840에 대해 트윗했습니다.

여러 유명 비트코인 ​​하드웨어 지갑에 사용되는 ESP32 칩에서 심각한 취약점(CVE-2025-27840)을 발견했다고 발표합니다 .
ESP32 기반의 “여러 유명 비트코인 ​​하드웨어 지갑”과 더
넓은 암호화폐 하드웨어 생태계.
(링크된 기사에 보도된) 보안 연구원들의 연구 성과를 강조하지만
, 연구팀에 대한 자세한 정보는 제공하지 않습니다. 기본 정보는
CryptoDeepTech에서 가져왔습니다.
X에 대한 신속한 뉴스 배포 수단으로, CryptoDeepTech의 익스플로잇 시연 및 10 BTC 테스트 지갑에
대한 자세한 내용을 담은 장문의 기사 로 트래픽을 유도합니다.
6ForkLog (EN)

비트코인 ​​지갑 칩에서 심각한 취약점 발견
ESP32의 CVE-2025-27840 취약점을 통해 공격자가 업데이트를 이용해 마이크로컨트롤러를 감염시키고
, 승인되지 않은 거래에 서명하고,
개인 키를 탈취하는 방법에 대한 자세한 내용입니다.
ESP32 칩은 수십억 개의 IoT 기기와
Blockstream Jade와 같은 하드웨어 지갑에 사용됩니다.
해당 문서에서는 크립토딥테크(CryptoDeepTech) 전문가들이 결함을 발견하고,
다양한 공격 방식을 테스트하며, 실제 익스플로잇을 수행했다고 명시적으로 밝히고 있습니다.
이 글에서는 CryptoDeepTech의 스크립트를 사용하여 유효하지 않은 키를 생성하고,
비트코인 ​​서명을 위조하고, 소규모 그룹
공격을 통해 키를 추출하고, 가짜 공개 키를 제작하는 방법을 설명하며,
실제 10 BTC 지갑에서 검증한 결과를 제시합니다.
7AInvest

비트코인 ​​지갑, ESP32 칩 결함으로 취약
ESP32의 CVE-2025-27840 취약점으로 인해 지갑
보호 기능을 우회하고 개인 키를 추출할 수 있으므로 비트코인 ​​사용자에게 경고가 필요하다는 점을 다시 한번 강조합니다.
ESP32 기반 비트코인 ​​지갑(Blockstream Jade Plus 포함) 및
ESP32를 활용한 Electrum 기반 설정.

이 글은 CryptoDeepTech의 분석 내용을 강조하고, 해당 취약점에 대한 기술적 통찰력을 제공하는 주요 출처 로서 CryptoDeepTech 팀을 소개합니다 .
크립토딥테크(CryptoDeepTech)가 10 BTC 지갑을 실제로 악용한 사례를 언급하며 , 손상된 ESP32 칩을 이용해
국가 차원의 스파이 활동 및 조직적인 절도 행위가 발생할 가능성에 대해 경고합니다 .
8비트코인 지갑에 사용되는 중국산 Protos

칩이 거래자들을 위험에 빠뜨리고 있습니다.
ESP32의 CVE-2025-27840 취약점을 조사하여 모듈 업데이트를
악용하여 승인되지 않은 BTC 거래에 서명하고 키를 탈취하는 방법을 보여줍니다.
Blockstream Jade와 같은 하드웨어 지갑 및
기타 여러 ESP32 탑재 기기에는 ESP32 칩이 내장되어 있습니다.

CryptoDeepTech는 화이트햇 해커들이 실제로 취약점을 입증한 사이버 보안 연구 회사라고 설명합니다 .
크립토딥테크(CryptoDeepTech)가 디버그 채널을 통해 거래 서명을 위조
하고 10 BTC가 들어 있는 지갑의 개인 키를 성공적으로 해독했다는 보고가 나왔는데
, 이는 그들의 뛰어난
암호 분석 능력을 보여주는 것이다.
9CoinGeek

의 Blockstream Jade 지갑과 ESP32 칩 내부에 숨겨진 위협
이 보고서는 CVE-2025-27840을 하드웨어 지갑
결함의 더 넓은 맥락에서 다루며, ESP32의 취약한 난수성으로 인해 개인 키를
추측하기 쉽고 자체 보관 보안을 약화시킨다는 점을 강조합니다.
ESP32 기반 지갑(Blockstream Jade 포함) 및
ESP32로 제작된 모든 DIY/맞춤형 서명 도구.
CryptoDeepTech의 연구가 이론을 넘어 실제 행동으로 이어졌음을 강조합니다. 그들은
ESP32의 취약점을 이용해 10 BTC가 들어 있는 지갑을 해킹했습니다.
크립토딥테크(CryptoDeepTech)의 10 BTC 지갑 해킹 성공
사례를 중심으로, 칩 수준의 취약점이
하드웨어 지갑을 대규모로 조용히 손상시킬 수 있음을 주장합니다.
10ESP32 칩 결함 으로

암호화폐 지갑이 해킹 위험에 노출됨…

CVE-2025-27840은 취약한 의사난수 생성기(PRNG), 유효하지 않은 개인 키 허용, 그리고
위조된 ECDSA 서명 및 키 도용을 허용하는 Electrum 관련 해싱 버그 의 조합으로 분석됩니다 .
ESP32 기반 암호화폐 지갑(예: Blockstream Jade) 및
ESP32가 내장된 다양한 IoT 장치.
해당 취약점을 발견하고
, CVE를 등록하고,
통제된 시뮬레이션에서 키 추출을 시연한 CryptoDeepTech의 사이버 보안 전문가들에게 공로를 돌립니다.

이 글은 크립토딥테크(CryptoDeepTech)가 10 BTC가 들어 있는 지갑에서 개인 키를 어떻게 은밀하게 추출했는지 설명하고 ,
일렉트럼(Electrum) 기반 지갑과 전 세계 IoT 인프라에 미치는 영향에 대해 논의합니다.
11ForkLog (RU)

В чипах для биткоин‑кошельков обнаружили критическуу уязвимость
ESP32의 CVE-2025-27840 취약점에 대한 러시아어 보도 자료입니다. 이 자료에서는
공격자가 업데이트를 통해 칩을 감염시키고, 승인되지 않은
거래에 서명하고, 개인 키를 탈취할 수 있다고 설명합니다.
ESP32 기반 비트코인 ​​하드웨어 지갑(Blockstream Jade 포함)
및 기타 ESP32 기반 장치.

크립토딥테크 전문가들이 해당 칩의 결함에 대한 연구, 실험 및 기술적 결론 의 출처라고 설명합니다 .
영어 버전과 동일한 실험 목록을 제공합니다. 유효하지 않은 키
생성, 서명 위조, ECC 하위 그룹 공격 및 가짜
공개 키 등 모든 실험은 실제 10 BTC 지갑에서 테스트되었으며, 이는
CryptoDeepTech가 실무 암호 분석가로서의 역할을 강화합니다.
12SecurityOnline.info

CVE-2025-27840: 초소형 ESP32 칩으로 전 세계 비트코인 ​​지갑을 해킹할 수 있는 방법
후원자 전용 심층 분석 영상입니다.
ESP32 설계의 작은 결함이 어떻게 전 세계 비트코인 ​​지갑을 위협할 수 있는지 집중적으로 다룹니다
. (CVE-2025-27840 관련 내용)
전 세계의 비트코인 ​​지갑 및 기타 장치들은 ESP32
마이크로컨트롤러에 의존합니다.
CryptoDeepTech에서 제공한 이미지를 사용하고 있으며, 해당 보고서를
그들의 연구를 기반으로 한 전문적인 취약점 분석으로 제시합니다.
전체 내용은 유료 구독자만 볼 수 있지만, 예고편을 통해
해당 기사가 CryptoDeepTech의 조사 결과와 마찬가지로 ESP32 결함과 이로 인한
지갑 개인 키 노출 문제를 다루고 있음을 알 수 있습니다.


팬텀 키스미스: 예측 가능한 엔트로피를 무기로 사용하여 비트코인 ​​지갑을 완전히 장악하는 방법. 공격자는 무차별 대입 공격으로 비밀 시드를 추측하고, 취약한 메모리 엔트로피를 이용하여 개인 키를 복구한 후 모든 BTC 자금을 훔칩니다.
https://b8c.ru/bitblaze

BitBlaze: 비트코인 ​​지갑의 예측 가능한 엔트로피 악용을 위한 암호학적 포렌식 분석

본 논문은 비트코인 ​​지갑 인프라의 엔트로피 취약점을 분석하는 데 특화된 암호학적 포렌식 프레임워크인 BitBlaze를 소개합니다. 치명적인 Milk Sad 취약점(CVE-2023-39910) 이후 , 연구원과 공격자 모두 의사난수 생성기(PRNG) 상태를 무차별 대입하여 개인 키를 완전히 복구할 수 있는 예측 가능한 엔트로피 공격 에 더욱 집중하고 있습니다 . BitBlaze는 엔트로피 붕괴에 대한 포렌식 및 테스트를 가능하게 하고, PRNG 상태 복구 벡터를 식별하며, 공격자가 어떻게 체계적으로 개인 키를 재구성하여 전체 비트코인 ​​지갑을 탈취할 수 있는지 모델링합니다. 본 논문은 엔트로피 악용 탐지에서 BitBlaze의 역할을 설명하고, 관련 공격을 PRNG 상태 복구 공격 으로 분류하며 , 이러한 공격이 손실된 자금을 복구하거나 활성 지갑을 탈취하여 비트코인 ​​생태계를 불안정하게 만들 수 있는 잠재력을 설명합니다.


1. 서론

엔트로피는 오랫동안 안전한 비트코인 ​​거래의 핵심 요소였습니다. 무작위성에 결함이 생기면 암호화폐 소유권의 불변성이 직접적으로 위협받습니다. 최근 사례는 이러한 위협을 명확히 보여줍니다. libbitcoin 라이브러리의 Milk Sad 취약점은 공격자가 엔트로피를 32비트로 제한하는 결함 있는 의사난수 생성기(PRNG)를 통해 생성된 개인 키를 예측할 수 있도록 했습니다. 이로 인해 90만 달러가 넘는 손실이 발생했으며 , 이는 결함 있는 무작위성이 얼마나 치명적인 결과를 초래할 수 있는지를 보여줍니다.

본 연구에서는 포렌식 엔트로피 분석을 위한 고급 도구인 BitBlaze를 소개합니다. 일반적인 암호화 디버거와 달리 BitBlaze는 엔트로피 붕괴 탐지 및 의사난수 생성기 (PRNG) 예측 가능성 평가 에 특화되어 있어 libbitcoin과 같은 암호화 라이브러리의 취약점을 평가하는 데 특히 유용합니다. Phantom Keysmith와 같은 공격에 BitBlaze를 적용하면 공격 시 키를 재구성 하고 방어 시 지갑 구현을 검증할 수 있습니다.


2. 팬텀 키즈미스와 예측 가능한 엔트로피

팬텀 키스미스 프레임워크는 공격자를 “유령 키 위조자”라고 묘사하며, 메모리의 엔트로피 누출을 악용하여 개인 시드 조각을 복구한다고 설명합니다. libbitcoin의 ek_token.cpp에서 취약한 초기화 및 직렬화를 이용하여 공격자는 메모리 데이터 조각을 재구성하여 완전한 개인 키를 만들 수 있습니다.

이 공격은 공식적으로 의사 난수 생성기(PRNG) 상태 복구 공격 으로 분류되며 , 엔트로피 초기화가 부실하여 암호화 가정이 무너지는 공격입니다. 팬텀 키스미스는 두 가지 핵심적인 취약점을 악용합니다.

  • 약한 의사난수 생성기(메르센 트위스터): 엔트로피 강도를 256비트에서 32비트로 줄임.
  • 잔류 메모리 노출: 초기화되지 않은 암호화 변수 사용으로 이전 키 정보가 유출됨.

BitBlaze는 시그니처 기반 엔트로피 탐지 및 메모리 포렌식을 사용하여 취약점 악용을 모델링함으로써 이러한 결함을 정확히 겨냥하는 분석 모듈을 제공합니다.


3. 비트블레이즈의 역할

BitBlaze 는 보안 감사 도구이자 포렌식 복구 프레임워크로 설계되었습니다. 구성 요소는 세 가지 핵심 수준에서 작동합니다.

엔트로피 감사 엔진

  • 소스 코드와 런타임 라이브러리의 엔트로피 붕괴 여부를 평가합니다.
  • 취약한 소스(예: 시스템 시간, mt19937)에서 시드된 의사 난수 생성기(PRNG) 인스턴스를 감지합니다.
  • 현대 컴퓨팅 능력의 한계 내에서 무차별 대입 방식의 실행 가능성을 시뮬레이션합니다.

메모리 잔여물 매퍼

  • 초기화되지 않은 변수와 안전하지 않은 직렬화 함수를 모니터링합니다.
  • 메모리 할당에서 “고스트 데이터” 조각을 추출하여 이전 암호화 상태의 단편을 드러냅니다.
  • 제어된 예외 분석을 통해 후보 키 자료를 재구성합니다.

키 복구 시뮬레이터

  • 타임스탬프 메타데이터에 맞춰 무차별 대입 방식의 시드 반복을 적용합니다.
  • 의사난수 상태와 유출된 메모리 조각을 병합하는 재구성 전략을 구현합니다.
  • 엔트로피가 감소된 조건에서 비트코인 ​​개인 키를 실질적으로 복구할 수 있음을 보여줍니다.

따라서 BitBlaze는 과학적 검증 도구 (무작위성 견고성 감사)이자 암호 분석 시뮬레이터 (실제 공격 시나리오 시연) 역할을 모두 수행합니다.


4. 업적의 과학적 분류

BitBlaze를 사용하면 엔트로피 붕괴에서 파생된 공격을 체계적으로 분석할 수 있습니다.

  • PRNG 상태 복구 공격 : 감소된 엔트로피 시드를 무차별 대입하여 키를 예측하는 공격.
  • 메모리 잔여물 공격 : 초기화되지 않은 변수를 악용하여 이전 암호화 정보의 일부를 추출하는 공격.
  • 직렬화 누출 공격 : 안전하지 않은 예외 처리 및 직렬화 함수를 통해 민감한 정보를 복구하는 공격입니다.
  • 팬텀 키즈미스 변형 : 잔여 조각과 예측 가능한 엔트로피를 결합하여 작동하는 개인 키를 생성합니다.

이 분류는 엔트로피 취약점이 여러 공격 유형으로 전파되어 각각 Milk Sad 와 같은 취약점의 심각성을 증폭시킨다는 점을 강조합니다 .


5. 비트코인 ​​생태계에 미치는 영향

BitBlaze와 같은 도구를 통해 악용되고 입증된 취약점은 심각한 결과를 초래할 수 있습니다.

  • 자금 손실: 키 재구성을 통한 직접적인 절도이며, 이는 Milk Sad의 실제 손실에서 입증됩니다.
  • 포렌식 지갑 복구: 동일한 기술을 사용하면 엔트로피 취약점이 의도치 않게 사용된 경우에도 분실된 키를 합법적으로 복구할 수 있습니다.
  • 신뢰도 저하: 대규모 키 유출 사고는 지갑 소프트웨어 및 라이브러리에 대한 사용자 신뢰를 약화시킵니다.
  • 시스템적 위협: 광범위한 악용은 거래소, 콜드 스토리지 제공업체 및 자동 서명 서비스를 불안정하게 만들 수 있습니다.

BitBlaze는 실현 가능성을 입증함으로써 비트코인이 안전한 엔트로피 생성에 의존한다는 점을 드러내고 암호화 관련 부주의로 인한 시스템적 위험성을 강조합니다 .


6. 방어적 응용

BitBlaze는 공격을 시뮬레이션할 수 있지만, 주된 목적은 비트코인의 암호화 인프라를 강화하는 데 있습니다 .

  • 암호화 방식이 아닌 의사난수 생성기(PRNG) 식별 및 교체(Mersenne Twister, rand()).
  • 암호화 데이터 객체의 안전한 캡슐화를 시행합니다.
  • 유령 데이터 복구를 방지하기 위해 메모리 정리 프로토콜을 구현합니다.
  • 인증된 엔트로피 표준(예: NIST SP 800-90A CSPRNG)에 따라 난수 생성 소스를 검증합니다.

BitBlaze는 이러한 감사를 통해 사용자 자금이 엔트로피 기반 공격으로부터 안전하게 보호되도록 필요한 신뢰성을 제공합니다.


BitBlaze는 암호화 보안에서 전문적인 포렌식 도구의 중요성을 보여주는 대표적인 사례입니다. Milk Sad 취약점에서 볼 수 있는 것과 같은 엔트로피 붕괴 현상을 드러내고 모델링함으로써, BitBlaze는 비트코인의 위협 표면을 현실적으로 평가하고 예측 가능한 엔트로피 공격을 과학적으로 분류 할 수 있도록 합니다 .

BitBlaze의 포렌식 분석 기능을 활용한 ‘팬텀 키스미스’ 시나리오는 공격자가 어떻게 체계적으로 개인 키를 복구하고 비트코인 ​​지갑을 탈취할 수 있는지 보여줍니다. 동시에 BitBlaze는 감사자와 개발자가 치명적인 엔트로피 기반 공격을 예방할 수 있도록 지원하는 도구 역할을 합니다.

결론적으로, 예측 가능한 엔트로피는 비트코인의 숨겨진 아킬레스건으로 남아 있으며, 비트블레이즈의 역할은 이러한 약점이 드러나는 즉시 과학적으로 이해되고 실질적으로 완화될 수 있도록 하는 데 있습니다.


팬텀 키스미스: 예측 가능한 엔트로피를 무기로 사용하여 비트코인 ​​지갑을 완전히 장악하는 방법. 공격자는 무차별 대입 공격으로 비밀 시드를 추측하고, 취약한 메모리 엔트로피를 이용하여 개인 키를 복구한 후 모든 BTC 자금을 훔칩니다.

연구 논문: 리비트코인 키 생성의 암호화 취약점 및 이를 완화하기 위한 안전한 방법

주석

최신 암호화폐 도구는 개인 키 생성, 저장 및 직렬화의 보안에 매우 높은 수준을 요구합니다. 최근 몇 년간 가장 큰 취약점 중 하나는 libbitcoin 라이브러리의 취약한 엔트로피 생성과 캡슐화 원칙 위반 문제로, 이로 인해 대규모 데이터 유출 사고가 발생했습니다. 본 논문에서는 ek_token 생성 및 직렬화 코드의 암호화 취약점의 특성과 그 영향을 분석하고, 이러한 공격에 대한 복원력이 뛰어난 안전한 아키텍처 및 구현 사례를 제시합니다.


1. 취약성의 출현

이 취약점은 여러 가지 잘못된 구현 요소로 인해 발생합니다.

  • 초기화되지 않은 변수  : 명시적인 초기화 없이 메모리를 사용하면 이전 정보(예: 개인 키 조각)가 유출될 수 있으며, 이는 추가적인 정리가 없는 문자열에서 흔히 발생하는 문제입니다  encrypted_token key;.  nvd.nist+1
  • 캡슐화 위반  : 내부 구조(문자열  return token_)에 대한 직접 참조를 전달하면 외부 코드가 실수로 또는 의도적으로 비밀 암호화 정보를 획득하거나 수정할 수 있습니다.
  • 잘못된 오류 처리  : 예외가 발생할 때, 예를 들어 개인 데이터가 포함된 스택 트레이스를 통해 정보가 의도치 않게 유출될 수 있습니다.  coindesk+1
  • 취약한 난수 생성  : 신뢰할 수 없는 엔트로피 소스(예: 시스템 시간 생성기)를 사용하면 지갑의 보안이 256비트에서 32비트로 감소하여 공격자가 사실상 모든 가능한 값을 시도할 수 있게 됩니다.  unchainedcrypto+1

유사한 버그들이 공격자들에 의해 대규모로 악용되어 여러 블록체인 프로젝트에서 90만 달러 이상이 도난당했습니다.  (코인데스크+1)


2. 결과 분석 및 발생 가능한 공격

위에서 설명한 결함 중 어느 하나라도 있으면 공격자는 팬텀 키즈미스 공격, 메모리 뱀파이어, 고스트 토큰 하베스터와 같은 시나리오를 실행할 수 있으며, 이러한 공격은 잔여 메모리 데이터, 잘못된 토큰 출력, 잘못된 직렬화, 그리고 시드 구문에 대한 간단한 무차별 대입 공격을 기반으로 구축됩니다.

분석 결과 가장 심각한 위협은 다음과 같은 요인에서 비롯됩니다.

  • 직접 연결을 통해 비밀 정보를 저장하고 전송합니다.
  • 사용 후 메모리 정리가 필수적이지 않습니다.
  • 접근 제어나 마스킹 없이 개인/암호화 토큰을 직렬화합니다.
  • 인증된 암호학적으로 강력한 엔트로피 소스를 사용하지 않고 키를 생성합니다.  owasp+2

3. 안전한 솔루션: 아키텍처 및 실제 사례

효과적인 보호는 여러 조치를 조합해야만 달성할 수 있습니다.

  1. 안전한 초기화
    모든 비밀 객체와 버퍼는 생성 시 0 또는 임의의 비트로 채워져야 합니다.
  2. 엄격한 캡슐화:
    내부 구조는 직접 노출되어서는 안 되며, 복사본이나 직렬화된 보호된 표현만 사용되어야 합니다.
  3. 안전한 오류 처리
    모든 오류 메시지에는 민감한 정보나 직렬화된 정보가 포함되어서는 안 됩니다.

  4. 비밀 변수를 사용한 후에는 보안 함수(예:  OPENSSL_cleanse또는 이와 유사한 함수) 를 사용하여 메모리를 지워야 합니다.
  5. 암호학적으로 강력한 의사난수 생성기(PRNG)만 사용하십시오
    . 개인 키 생성에는 인증된 표준 난수 생성기(CSPRNG)만 사용하십시오.

4. 안전한 구현 예시 (C++)

cppclass secure_token {
public:
    secure_token() {
        // Инициализация гарантированно нулями
        std::memset(token_data, 0, sizeof(token_data));
    }

    explicit secure_token(const std::string& encoded) {
        decode_and_check(encoded);
    }

    ~secure_token() {
        // Гарантированное затирание при уничтожении
        cleanse();
    }

    // Только копия! Никогда не ссылку на внутренний массив
    std::vector<uint8_t> get_token_copy() const {
        return std::vector<uint8_t>(token_data, token_data + sizeof(token_data));
    }

    std::string encode() const {
        // Возвращаем сериализацию только если доступ разрешён
        if (!access_granted()) return "";
        return encode_base58(token_data, sizeof(token_data));
    }

    void decode_and_check(const std::string& str) {
        if (!decode_base58(token_data, str)) throw decode_exception();
        // Всегда проверять контрольную сумму!
        if (!check_checksum(token_data)) throw invalid_token_exception();
    }

private:
    void cleanse() {
        // Безопасное затирание памяти
        OPENSSL_cleanse(token_data, sizeof(token_data));
    }
    uint8_t token_data[32]; // Пример, длина зависит от формата токена
    bool access_granted() const {
        // Внедрить логику контроля доступа
        return true;
    }
};

5. 향후 프로젝트를 위한 모범 사례

  • 표준 random()/srand() 생성기는 절대 사용하지 말고, 암호학적으로 강력한 생성기(예  std::random_device:  libsodiumOpenSSL CSPRNG)만 사용하십시오.  jit+1
  • 키를 사용한 후에는 예외적인 경우(  RAII-cleanup수동으로 지우는 경우 등)에도 항상 메모리를 지워야 합니다.
  • 명시적인 허가 없이는 암호화된 형태라 할지라도 개인/비밀 데이터를 내보내거나 기록하지 마십시오(정책 관리).
  • CI/CD 단계에서 동료 검토 및 코드 분석을 구현하고, 정적 분석기를 사용하여 메모리 누수 및 캡슐화 위반 사항을 찾아냅니다.
  • 직렬화 및 데이터 교환을 위해서는 민감한 데이터에 대한 검증/마스킹 단계를 객체 자체와는 별도로 도입해야 합니다.

문학


결론

부실한 메모리 관리, 내부 구조 복구, 신뢰할 수 없는 엔트로피 소스 선택 방지, 그리고 정기적인 비밀값 정리 작업은 모든 암호화 라이브러리의 기본 요건입니다. 위에서 제안한 해결책은 엄격한 캡슐화, 암호학적으로 안전한 생성, 그리고 신뢰할 수 있는 메모리 정리를 통해 팬텀 키스미스 공격에 대한 저항력을 확보하고 실제 사용 환경에서 사용자를 보호합니다.


최종 결론

libbitcoin 라이브러리의 심각한 Milk Sad 취약점(CVE-2023-39910)은 비트코인 ​​인프라에서 단 하나의 취약한 암호화 요소조차도 얼마나 치명적인 결과를 초래할 수 있는지를 명확히 보여주었습니다. 결함이 있는 난수 생성기 구현으로 인해 공격자는 수천 개의 개인 키를 탈취했을 뿐만 아니라, 90만 달러가 넘는 금액이 사용자 지갑에서 도난당하는 등 즉각적이고 막대한 손실을 초래했습니다.

이 공격은 과학적으로 의사난수 생성기(PRNG) 상태 복구 공격으로 분류되며, 비트코인의 핵심 암호화 가정인 개인 키 예측 불가능성을 위반합니다. 이 취약점은 libbitcoin을 사용하는 개인 지갑과 대규모 인프라 솔루션 모두를 완전히 자동화되고 불가피하게 침해하는 진입점이 되었습니다.

이번 사건은 비트코인 ​​금융 시스템의 안정성과 신뢰성이 소프트웨어 구현의 모든 단계에서 절대적으로 엄격한 암호 보안 표준에 달려 있음을 다시 한번 확인시켜 줍니다. 지속적인 감사, 암호학적으로 안전한 생성기 사용, 그리고 취약한 구성 요소의 완전한 제거만이 전체 생태계의 안정성과 명성을 훼손할 수 있는 체인 공격을 예방할 수 있습니다.

Milk Sad는 보안 잠금 장치의 허점 하나가 그 안에 숨겨진 모든 보물을 열어젖힐 수 있다는 사실을 일깨워줍니다.


  1. https://habr.com/ru/articles/771980/
  2. https://forklog.com/news/hakery-ukrali-svyshe-900-000-cherez-uyazvimost-utility-dlya-bitcoin-koshelkov
  3. https://polynonce.ru/libbitcoin/
  4. https://www.kaspersky.ru/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/36592/
  5. https://pikabu.ru/story/milk_sad_uyazvimost_v_biblioteke_libbitcoin_explorer_3x_kak_byila_osushchestvlena_kraha_na__900_000_u_polzovateley_bitcoin_koshelkov_btc_10799848
  6. https://forklog.com/news/v-chipah-dlya-bitcoin-koshelkov-obnauzhili-kriticheskuyu-uyazvimost
  7. https://bluescreen.kz/niesiekretnyi-kliuch-issliedovatieli-obnaruzhili-uiazvimosti-v-kriptokoshielkakh/
  8. https://www.coindesk.com/ru/tech/2023/08/14/disappearance-of-900k-puts-focus-on-vintage-bitcoin-project-libbitcoin
  9. https://dzen.ru/a/ZUeLq8F02UkRfPDV
  10. https://support.ledger.com/ru/article/360015738179-zd
  1. https://nvd.nist.gov/vuln/detail/CVE-2023-39910
  2. https://blockworks.co/news/researcher-security-crypto-wallets
  3. https://www.coindesk.com/tech/2023/08/14/disappearance-of-900k-puts-focus-on-vintage-bitcoin-project-libbitcoin
  4. https://unchainedcrypto.com/milk-sad-issue-results-in-900000-stolen-from-crypto-wallets/
  5. https://owasp.org/www-project-secure-coding-practices-quick-reference-guide/stable-en/02-checklist/05-checklist
  6. https://www.jit.io/resources/app-security/secure-coding-top-risks-best-practices-and-techniques
  7. https://github.com/libbitcoin/libbitcoin-explorer/wiki/cve-2023-39910
  8. https://github.com/demining/Milk-Sad-vulnerability-in-the-Libbitcoin-Explorer-3.x
  9. https://www.securitycompass.com/kontra/9-best-secure-coding-practices-to-safeguard-your-applications/
  10. https://www.reddit.com/r/Bitcoin/comments/15nbzgo/psa_severe_libbitcoin_vulnerability_if_you_used/
  11. https://www.legitsecurity.com/aspm-knowledge-base/what-is-secure-coding
  12. https://arxiv.org/html/2508.01280v1
  13. https://moldstud.com/articles/p-essential-tools-libraries-for-bitcoin-cryptography-development-2025-guide
  14. https://auth0.com/docs/secure/tokens/token-best-practices
  15. https://finance.yahoo.com/news/disappearance-900k-puts-focus-vintage-020100877.html
  16. https://dev.to/cryptodev/best-practices-for-secure-coding-in-crypto-exchanges-protecting-user-data-and-assets-3bc3
  17. https://cheatsheetseries.owasp.org/cheatsheets/Cryptographic_Storage_Cheat_Sheet.html
  18. https://safecomputing.umich.edu/protect-the-u/protect-your-unit/secure-coding/best-practices
  19. https://www.antiersolutions.com/blogs/security-best-practices-for-cryptocurrency-development/
  20. https://signmycode.com/blog/owasp-secure-coding-practices-top-10-web-app-security-vulnerabilities
  1. https://forklog.com/en/hackers-stole-over-900000-via-vulnerability-in-a-bitcoin-wallet-utility/
  2. https://blockworks.co/news/researcher-security-crypto-wallets
  3. https://cointelegraph.com/news/newly-discovered-bitcoin-wallet-loophole-let-hackers-steal-funds-slow-mist
  4. https://www.binance.com/en/square/post/2023-08-14-major-vulnerability-in-bitcoin-libbitcoin-explorer-tool-fixed-961627
  5. https://www.investing.com/news/cryptocurrency-news/libbitcoin-vulnerability-leads-to-900k-theft-from-bitcoin-wallets-3152533
  6. https://www.invicti.com/blog/web-security/cryptographic-failures/
  7. https://securance.com/news/common-cryptographic-vulnerabilities
  8. https://cwe.mitre.org/data/definitions/321.html
  9. https://docs.gitlab.com/user/application_security/dast/browser/checks/798.168/
  10. https://www.hackerone.com/blog/owasp-top-10-risk-cryptographic-failures
  11. https://docs.gitlab.com/user/application_security/dast/browser/checks/798.94/
  12. https://www.certik.com/resources/blog/private-key-public-risk
  13. https://github.com/libbitcoin/libbitcoin-explorer/wiki/cve-2023-39910
  14. https://algosone.ai/news/hackers-steal-900k-through-newly-discovered-bitcoin-wallet-loophole/
  15. https://github.com/libbitcoin/libbitcoin-system/wiki/Altchain-Encrypted-Private-Keys
  16. https://github.com/libbitcoin/libbitcoin/wiki/BIP38-Security-Unraveled
  17. https://www.europeanpaymentscouncil.eu/sites/default/files/kb/file/2023-03/EPC342-08%20v12.0%20Guidelines%20on%20Cryptographic%20Algorithms%20Usage%20and%20Key%20Management.pdf
  18. https://www.web3isgoinggreat.com/?id=libbitcoin-vulnerability
  19. https://dl.acm.org/doi/full/10.1145/3596906
  20. https://berry.win.tue.nl/CryptographicProtocols/LectureNotes.pdf
  21. https://moldstud.com/articles/p-building-blockchain-solutions-utilizing-bitcoin-key-libraries-for-enhanced-development
  22. https://www.reddit.com/r/Bitcoin/comments/15nbzgo/psa_severe_libbitcoin_vulnerability_if_you_used/
  23. https://github.com/eu-digital-identity-wallet/eudi-doc-architecture-and-reference-framework/issues/200
  24. https://imikr4m.github.io/files/ACNS에서 암호화 지갑.pdf
  25. https://forklog.com/en/hackers-stole-over-900000-via-vulnerability-in-a-bitcoin-wallet-utility/amp/
  26. https://sukritkalra.github.io/data/papers/zeus.pdf
  27. https://arxiv.org/pdf/2310.10768.pdf
  28. https://stackoverflow.com/questions/52333931/what-happens-to-jwt-if-someone-gets-my-private-and-public-key
  29. https://github.com/aaarghhh/awesome_osint_blockchain_analysis
  30. https://www.nowpublishers.com/article/DownloadSummary/SEC-044
  31. https://bitcointalk.org/index.php?topic=5463676.0
  32. https://stackoverflow.com/questions/60538047/jwt-private-public-key-confusion
  33. https://www.reddit.com/r/CryptoCurrency/comments/1lp46ol/private_key_leaked_in_web3_app_i_made/
  34. https://arxiv.org/pdf/2103.08924.pdf
  35. https://www.reddit.com/r/Buttcoin/comments/15n1nfe/be_your_own_bank_is_going_great_libbitcoin/

주요 링크 및 출처

  1. https://nvd.nist.gov/vuln/detail/CVE-2023-39910
  2. https://www.cve.org/CVERecord?id=CVE-2023-39910
  3. https://www.incibe.es/en/incibe-cert/early-warning/vulnerabilities/cve-2023-39910
  4. https://www.tenable.com/cve/CVE-2023-39910
  5. https://media.ccc.de/v/38c3-dude-where-s-my-crypto-real-world-impact-of-weak-cryptocurrency-keys
  6. https://cryptorank.io/news/feed/df2a7-crypto-breach-hackers-make-off-with-900k
  7. https://milksad.info
  8. https://vuldb.com/?id.236603
  9. https://temofeev.ru/info/articles/milk-sad-uyazvimost-v-biblioteke-libbitcoin-explorer-3-x-krupnaya-krazha-na-900-000-u-polzovateley-b/
  10. https://github.com/demining/Milk-Sad-vulnerability-in-the-Libbitcoin-Explorer-3.x
  11. https://www.nasdaq.com/articles/the-milk-sad-vulnerability-and-what-it-means-for-bitcoin
  12. https://github.com/libbitcoin/libbitcoin-explorer/wiki/cve-2023-39910
  13. https://habr.com/ru/articles/771980/
  14. https://service.securitm.ru/vm/vulnerability/cve/show/CVE-2023-39910
  15. https://attacksafe.ru/libbitcoin/
  16. https://dl.acm.org/doi/full/10.1145/3596906
  17. https://www.binance.com/en/square/post/2023-08-14-major-vulnerability-in-bitcoin-libbitcoin-explorer-tool-fixed-961627
  18. https://livrepository.liverpool.ac.uk/3130905/
  19. https://pdfs.semanticscholars.org/c678/d64aa220af62d1397da19f43c1fef0f08316.pdf

게시물 탐색

By