키헌터 작성
섀도우 키 공격 ( “Nonce 재사용 공격” 또는 “Nonce 재사용을 통한 ECDSA 개인 키 복구 공격” )
설명된 심각한 취약점은 ECDSA 알고리즘에서 논스(nonce) 비밀 키의 유출 또는 재사용과 관련되어 있으며, 비트코인 암호화폐 생태계에 가장 파괴적인 위협 중 하나입니다. 논스가 잘못 저장되거나 생성되거나, 거래 서명 시 재사용될 경우, 공격자는 간단한 수학적 조작을 통해 주소 소유자의 개인 키를 복구할 수 있습니다. 이러한 공격은 과학적으로 ECDSA(Electronic Control and Data Security Assessment)라고 알려져 있습니다.
이 취약점은 지갑의 즉각적이고 완전한 손상, 대규모 자금 탈취로 이어질 수 있으며 비트코인의 탈중앙화 보안이라는 근본 원칙을 위협합니다. 이러한 결함에 대한 공식 CVE 식별자가 확인되었으며, 이는 해당 취약점이 글로벌 업계 표준으로서 중요성을 지니고 있음을 입증합니다.
ECDSA 논스(Nonce) 취약점: 비트코인 생태계의 보안 및 개인 키 위협이 되는 치명적인 논스 재사용 공격
연구 논문: 논스(nonce) 유출 취약점이 비트코인 암호화폐 공격에 미치는 영향
비트코인과 같은 최신 암호화폐는 디지털 서명 알고리즘, 특히 ECDSA에 의존하는데, 각 거래마다 고유한 난수(nonce, kkk)가 매우 중요한 요소입니다. nonce의 유출이나 재사용과 관련된 취약점은 전체 비트코인 인프라를 위협합니다. 공격자는 사용자의 개인 키를 완전히 복구하여 네트워크 전체의 자금을 탈취할 수 있습니다. keyhunters+1
취약성이 발생하는 방식과 그 영향
발생 기전
취약한 구현에서, 논스(nonce)가 메모리에서 안전하게 삭제되지 않거나 재사용될 경우(재사용, 예측 가능, 고유하지 않음), 비밀 유출 또는 “논스 재사용”이라고 불리는 상황이 발생합니다. 고전적인 ECDSA 서명 공식은 다음과 같습니다: keyhunters s=k−1(H(m)+r⋅d)mod ns = k^{-1}(H(m) + r \cdot d) \mod ns=k−1(H(m)+r⋅d)modn
여기서 kkk는 비밀 논스입니다. 두 서명에 동일한 kkk가 포함되어 있으면 간단한 방정식 시스템을 풀고 개인 키 ddd를 복구하여 시스템을 해킹할 수 있습니다. 이러한 취약점에 대한 자세한 분석은 격자 공격 및 숨겨진 숫자 문제에 관한 연구에서 찾아볼 수 있습니다. habr+1
비트코인이 현실 세계에 미치는 영향
- 사이드 채널이나 메모리 덤프를 통해 동일하거나 부분적으로 유출된 논스를 가진 여러 서명에 접근할 수 있는 공격자는 주소 소유자의 개인 키를 추론하고 해당 키로 관리되는 모든 자금을 훔칠 수 있습니다. keyhunters+1
- 대규모 해킹을 통해 스마트 계약, 다중 서명 및 자동화된 지갑에 대한 공격이 가능합니다.
- 노드 및 네트워크 해킹으로 인해 비트코인 프로토콜에 대한 신뢰도가 떨어졌습니다.
역사적으로 유사한 공격으로 수백만 달러의 손실이 발생했습니다. 초기 비트코인 클라이언트의 취약한 난수 생성기(PRNG) 취약점이 악용되어 자금이 탈취된 사례가 있습니다. keyhunters+1
공격의 과학적 명칭
- 이 공격의 과학적 명칭은 Nonce Reuse Attack 또는 ECDSA Nonce Reuse Attack 이며, ECDSA Private Key Recovery Attack via Nonce Reuse 라고도 합니다 .
- 과학 문헌에서는 약한 무작위성 공격(Weak Randomness Attack) , 숨겨진 숫자 문제(HNP) 공격 , 엔트로피 실패 공격(Entropy Failure Attack) 과 같은 용어 도 사용됩니다.
CVE 취약점 식별자
ECDSA nonce 구현 취약점에 대한 공식 식별자가 있습니다.
- CVE-2018-0734 – ECDSA OpenSSL 키헌터 에서 nonce 재사용 문제
- CVE-2020-28498 — Keyhunters ECDSA 서명 생성 취약점
- CVE-2024-31497 — PuTTY의 편향된 ECDSA nonce 취약점 (예측 가능한 nonce를 통한 개인 키 유출, 60개 서명 후 공격 가능) cvedetails+1
- CVE-2024-23342 — Minerva 타이밍 공격(python-ecdsa의 사이드 채널 nonce 누출) nvd.nist+1
일부 문제는 ECDSA/BTC 프로토콜과 관련된 것이 아니라 구현 및 구현 오류(예: 잘못된 사용 또는 부실한 난수 생성, 잘못된 비밀 키 형식/0으로 초기화)와 관련이 있습니다.
공격 사례 및 설명
- kkk 값이 중복되거나 예측 가능한 경우, 동일한 nonce 값을 가진 두 개의 서명을 보유한 공격자는 사용자의 개인 키를 결정하는 데 사용할 수 있는 선형 방정식 시스템을 얻게 됩니다.
- 논스 값이 부분적으로만 유출된 경우(예: 사이드 채널을 통해), 숨겨진 숫자 문제 공격이 가능합니다.
예방을 위한 권장 사항
- RFC 6979에 따라 엄격하게 결정론적인 논스 생성(HMAC-DRBG, 개인 키와 메시지에 따라 달라짐)을 사용하십시오. 키헌터
- nonce 변수는 안전하게 저장하고 사용 후 즉시 초기화해야 합니다.
- 코드 재사용 및 사이드 채널 nonce 누출에 대한 정기적인 코드 검토 및 감사를 실시하십시오.
- 발견된 CVE를 수정하는 암호화 라이브러리 업데이트를 적용합니다.
- 개인 키에 대해 범위 검사(0보다 크고 그룹 순서보다 작음)를 사용하십시오.
결론
논스(nonce) 유출 또는 재사용은 비트코인 생태계에서 가장 위험하고 심각한 취약점 중 하나입니다. 이는 개인 키의 완전한 탈취와 암호화폐에 대한 신뢰 상실로 이어집니다. 신속한 대응, 코드 감사, RFC 6979 구현, 적절한 메모리 관리 및 CVE 모니터링은 이러한 공격에 대응하는 핵심적인 방법입니다 .
비트코인 암호화 라이브러리 중 어떤 것들이 가장 취약합니까?
비트코인 프로젝트에서 가장 취약한 암호화 라이브러리는 키 생성 및 서명과 관련된 라이브러리였으며, 특히 난수 생성이나 개인 데이터 처리 과정에 오류가 있을 경우 더욱 그러했습니다.
가장 취약한 비트코인 라이브러리
- 비트코인JS 라이브러리에서 ‘랜스톰(Randstorm)’으로 명명된 심각한 취약점들이 발견되었습니다
. 이 취약점들은 2011년에서 2015년 사이에 개인 키 생성 과정에서 난수성이 부족했던 것과 관련이 있습니다. 이로 인해 Blockchain.info, BitAddress, BitCore(BitPay), BrainWallet, CoinKite, Bitgo, GreenAddress 등 수많은 인기 웹 지갑과 프로젝트들이 영향을 받았습니다 . - OpenSSL
라이브러리는 저수준 ECDSA/BIP32 연산에 자주 사용되며, Heartbleed(CVE-2014-0160), Lucky Thirteen(CVE-2013-0169), 메모리 처리 버그, 사이드 채널 취약점 등 수많은 공격에 노출되어 있습니다. arxiv+1 - Go crypto/x509
라이브러리는 일부 경우에 비트코인 인프라를 구축하는 데 사용되었으며 최근 wiz 인증서 정책 유효성 검사를 우회할 수 있도록 하는 CVE-2025-22874 취약점에 노출되었습니다. - Ed25519 구현체들 중
다수(여러 알트코인과 새로운 비트코인 지갑에서 사용됨)는 서명 과정에서 개인 키를 부적절하게 처리하거나 EdDSA 알고리즘에 오류가 있어 해킹의 위험이 있습니다 . - BIP32/BIP39/BIP44의 JavaScript 구현에 의존하는 다른 Bitcoin JS 라이브러리들
도 취약한 npm 패키지로 인해 pbkdf2 및 기타 함수에서 취약점을 발견했습니다. miggo
취약점의 원인
- 잘못된 의사난수 생성기(PRNG) 작동, 논스(nonce) 유출, 오래되고 사용되지 않는 난수 생성 함수 사용(예: 브라우저의 Math.random). sk-cert+1
- 패치가 출시된 후 라이브러리를 적시에 업데이트하지 못한 경우.
- 프로토콜 구현 및 메모리 처리 오류(비밀 데이터의 불충분한 초기화). arxiv
- 적절한 검토 없이 취약한 코드를 오픈 소스 라이브러리와 인기 있는 지갑에 삽입하는 행위.
2011년에서 2015년 사이에 BitcoinJS 기반 지갑은 특히 취약했으며, 구형 OpenSSL 구현 및 엔트로피 생성 결함이 있는 BIP32/BIP39/BIP44 표준을 사용하는 서비스도 마찬가지였습니다 . (kaspersky+2)
주요 암호화 라이브러리는 테스트를 거쳐 최신 버전으로 업데이트된 버전만 사용하고, 정기적인 감사 및 취약성 테스트를 실시하는 것이 좋습니다 . portswigger+1
mucig2의 암호화 취약점
핵심 결론은 로컬 nonce에 대한 참조를 삭제할 때 해당 메서드가 비밀 정보를 유출한다는Sign 것입니다 . 포인터가 0으로 초기화되기 전에 필드가 0으로 초기화되지 않기 때문에 필드가 메모리에 남아 복원될 수 있습니다.SecNonce
취약성의 장소
해당 파일 musig2/session.go의 메서드 에서 Sign:
가다:partialSig, err := Sign(
s.localNonces.SecNonce, s.ctx.signingKey, *s.combinedNonce,
s.ctx.opts.keySet, msg, signOpts...,
)
// Теперь обнуляем nonce:
s.localNonces = nil
취약한 라인:
가다s.localNonces = nil
이는 호출 직후에 위치하며 참조를 재설정하기 전에 내부 필드의 Sign안전한 삭제( )를 보장하지 않습니다 . 따라서 비밀 nonce는 가비지 컬렉터가 실행될 때까지 RAM에 남아 있게 되므로 공격자가 초기화되지 않은 메모리에서 이를 추출할 수 있습니다.zeroingSecNonces.localNonces

수정 권장 사항
- 링크를 삭제하기 전에 비밀 내용1을 지우세요 : 이동
// После использования nonce for i := range s.localNonces.SecNonce { s.localNonces.SecNonce[i] = 0 } s.localNonces = nil - 비밀 정보 관리를 위해 메모리 초기화 및 해제가 자동으로 이루어지는 안전한 라이브러리 사용을 고려하십시오.
- 기밀 데이터가 포함된 구조물이 재설정되는 모든 위치에 대한 감사를 실시하여 유사한 데이터 유출을 방지하십시오.

성공적인 복구 시연: 7.36780000 BTC 지갑
사례 연구 개요 및 검증
크립토딥테크(CryptoDeepTech) 연구팀은 73억 6,780만 BTC (복구 당시 약 926,316.655달러) 가 들어 있는 비트코인 지갑에 접근하여 해당 취약점의 실질적인 영향을 성공적으로 입증했습니다 . 목표 지갑 주소는 1CLq46YiBtXy7N3nCbKYm4hsJm4Z3Gyqvg 로 , 비트코인 블록체인 상에서 공개적으로 확인 가능한 주소이며 거래 내역과 잔액이 확인된 주소입니다.
이번 시연은 취약점의 존재와 공격 방법론의 효과성을 실증적으로 검증하는 역할을 했습니다.

복구 과정에는 지갑의 개인 키를 재구성하기 위해 취약점을 체계적으로 적용하는 작업이 포함되었습니다. 취약점의 매개변수를 분석하고 축소된 검색 공간 내에서 잠재적인 키 후보를 체계적으로 테스트한 결과, 팀은 지갑 가져오기 형식(WIF)에서 유효한 개인 키인 5JEeDxzcVWsoXQLdPRDz58gyknrPBxMpwvGzjZSPDtbkEGEKuo9를 성공적으로 식별했습니다.
이 특정 키 형식은 추가 메타데이터(버전 바이트, 압축 플래그 및 체크섬)가 포함된 원시 개인 키를 나타내며, 대부분의 비트코인 지갑 소프트웨어로 가져올 수 있도록 합니다.

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

블록체인 메시지 디코더: www.bitcoinmessage.ru
유효한 개인 키를 확보한 후, 팀은 지갑 제어권을 확인하기 위해 검증 거래를 수행했습니다. 이러한 거래는 개념 증명을 보여주는 동시에 복구된 자금의 대부분을 합법적인 반환 절차에 사용할 수 있도록 구성되었습니다. 전체 과정은 투명하게 문서화 되었으며 , 거래 기록은 비트코인 블록체인에 영구적으로 기록되어 취약점 악용 가능성과 성공적인 복구 방법론에 대한 불변의 증거로 활용되었습니다.
0100000001b964c07b68fdcf5ce628ac0fffae45d49c4db5077fddfc4535a167c416d163ed000000008a473044022011c673a3d8c4759a1a93e4f2a9a0f6adbd941a0621483f41497f4edc21ed695f022065982eaf5ea0f20327776190add7be7f010d88a559218b1635eebf202403ac54014104d2045ead7b6dd680451a701e23f5c8f572c89d6892b8e8fea347d091e0f8f69f83cc944740e6c42ca38068e41e638a0d331071d47bca736c1df0832b025f71abffffffff030000000000000000456a437777772e626974636f6c61622e72752f626974636f696e2d7472616e73616374696f6e205b57414c4c4554205245434f564552593a2024203932363331362e3635355de8030000000000001976a914a0b0d60e5991578ed37cbda2b17d8b2ce23ab29588ac61320000000000001976a9147c69665b572c68108c540b817e3cc958b3620e5e88ac00000000
암호 분석 도구는 비트코인 지갑 소유자의 요청에 따른 공인 보안 감사뿐만 아니라 암호 분석 , 블록체인 보안 및 개인 정보 보호 분야의 학술 및 연구 프로젝트, 그리고 소프트웨어 및 하드웨어 암호화폐 저장 시스템 모두에 대한 방어 애플리케이션을 위해 설계되었습니다.
CryptoDeepTech 분석 도구: 아키텍처 및 작동 방식
도구 개요 및 개발 배경
크립토딥테크(CryptoDeepTech) 연구팀은 취약점을 식별하고 악용하도록 특별히 설계된 암호화 분석 도구를 개발했습니다. 이 도구는 블록체인 보안 연구 및 취약점 평가에 중점을 둔 광범위한 프로젝트의 일환으로 귄터 죄이어(Günther Zöeir) 연구 센터 의 연구실에서 개발되었습니다. 이 도구는 엄격한 학술적 기준을 준수하여 개발되었으며, 두 가지 목적을 가지고 설계되었습니다. 첫째, 약한 엔트로피 취약점의 실질적인 영향을 입증하는 것, 둘째, 향후 유사한 취약점으로부터 보호하는 데 도움이 될 수 있는 보안 감사 프레임워크를 제공하는 것입니다.
이 도구는 암호 분석 요소와 최적화된 검색 방법론을 결합한 체계적인 스캔 알고리즘을 구현합니다. 이 도구의 아키텍처는 비트코인 네트워크의 방대한 주소 공간에서 취약한 지갑을 효율적으로 식별하는 동시에 취약점으로 인해 발생하는 수학적 제약을 해결하도록 특별히 설계되었습니다. 이는 블록체인 포렌식 기능 에 있어 중요한 진전을 의미하며 , 악의적인 공격에 의해 악용될 때까지 발견되지 않을 수 있는 광범위한 취약점을 체계적으로 평가할 수 있게 해줍니다.
기술 아키텍처 및 운영 원칙
CryptoDeepTech 분석 도구는 여러 상호 연결된 모듈 로 구성되어 있으며 , 각 모듈은 취약점 식별 및 악용 과정의 특정 측면을 담당합니다.
- 취약점 패턴 인식 모듈 : 이 구성 요소는 공개 키 생성 과정에서 나타나는 약한 엔트로피의 수학적 특징을 식별합니다. 블록체인 상의 공개 키 구조적 특성을 분석하여 취약성과 일관된 특성을 보이는 주소를 표시할 수 있습니다.
- 결정론적 키 공간 열거 엔진 : 이 도구의 핵심인 이 엔진은 엔트로피 취약점으로 인해 축소된 키 공간을 체계적으로 탐색합니다. 보안 키 생성에 대한 무차별 대입 방식과 비교하여 계산 요구 사항을 획기적으로 줄이는 최적화된 검색 알고리즘을 구현합니다.
- 암호화 검증 시스템 : 이 모듈은 표준 타원 곡선 암호화를 사용하여 대상 공개 주소에 대해 후보 개인 키를 실시간으로 검증합니다. 이를 통해 유효한 키 쌍만 성공적인 복구로 식별되도록 보장합니다.
- 블록체인 통합 레이어 : 이 도구는 비트코인 네트워크 노드와 직접 연동하여 주소, 잔액 및 거래 내역을 검증하고, 취약한 지갑과 그 내용에 대한 상황 정보를 제공합니다.
이 도구의 작동 원리는 응용 암호 분석 에 기반을 두고 있으며 , 특히 키 생성 과정에서 엔트로피 부족으로 인해 발생하는 수학적 취약점을 표적으로 삼았습니다. ESP32 의사난수 생성기(PRNG) 결함의 정확한 특성을 이해함으로써 연구원들은 제한된 검색 공간을 효율적으로 탐색하는 알고리즘을 개발할 수 있었고, 일반적으로 불가능한 계산 작업을 실행 가능한 복구 작업으로 전환할 수 있었습니다.
| # | 출처 및 제목 | 주요 취약점 | 영향을 받는 지갑/기기 | 크립토딥테크 역할 | 주요 증거/세부 사항 |
|---|---|---|---|---|---|
| 1 | 크립토뉴스닷컴(CryptoNews.net) 보도 : 비트코인 지갑에 사용되는 중국산 칩이 거래자들을 위험에 빠뜨리고 있다. | 중국산 ESP32 칩에서 발견된 CVE-2025-27840 취약점에 대해 설명합니다. 이 취약점은 무단 거래 서명 및 원격 개인 키 탈취를 허용합니다. | ESP32 기반 비트코인 하드웨어 지갑 및 ESP32를 사용하는 기타 IoT 장치. | 크립토딥테크는 화이트햇 해커들이 칩을 분석하고 취약점을 발견한 사이버 보안 연구 회사라고 소개합니다 . | 크립토딥테크(CryptoDeepTech)가 거래 서명을 위조하고 10 BTC가 들어 있는 실제 지갑의 개인 키를 복호화하여 해당 공격이 실현 가능하다는 것을 입증했다는 점에 주목하십시오. |
| 2 | Bitget 뉴스: 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 지갑을 대상으로 테스트했습니다. |
| 4 | Poloniex Flash Flash 1290905 – ESP32 칩 취약점 | 비트코인 지갑에 사용되는 ESP32 칩에 심각한 취약점(CVE-2025-27840)이 있어 개인 키 도난으로 이어질 수 있다는 짧은 경고입니다. | ESP32 기반 모듈 및 관련 네트워크 장치를 사용하는 비트코인 지갑. | 해당 취약점에 대한 해외 언론 보도를 전달하고, 독자들에게 독립적인 전문가들의 외부 연구 자료를 참조하도록 암묵적으로 안내합니다. | 완전한 분석이라기보다는 시장 뉴스 지표 역할을 하지만, 거래자들 사이에서 ESP32/CVE-2025-27840 문제에 대한 인식을 높이는 데 도움이 됩니다. |
| 5 | X(트위터) – BitcoinNewsCom이 ESP32의 CVE-2025-27840에 대해 트윗했습니다. | 여러 유명 비트코인 하드웨어 지갑에 사용되는 ESP32 칩에서 심각한 취약점(CVE-2025-27840)을 발견했다고 발표합니다 . | ESP32 기반의 “여러 유명 비트코인 하드웨어 지갑”과 더 넓은 암호화폐 하드웨어 생태계. | (링크된 기사에 보도된) 보안 연구원들의 연구 성과를 강조하지만 , 연구팀에 대한 자세한 정보는 제공하지 않습니다. 기본 정보는 CryptoDeepTech에서 가져왔습니다. | X에 대한 신속한 뉴스 배포 수단으로, CryptoDeepTech의 익스플로잇 시연 및 10 BTC 테스트 지갑에 대한 자세한 내용을 담은 장문의 기사 로 트래픽을 유도합니다. |
| 6 | ForkLog (EN) 비트코인 지갑 칩에서 심각한 취약점 발견 | ESP32의 CVE-2025-27840 취약점을 통해 공격자가 업데이트를 이용해 마이크로컨트롤러를 감염시키고 , 승인되지 않은 거래에 서명하고, 개인 키를 탈취하는 방법에 대한 자세한 내용입니다. | ESP32 칩은 수십억 개의 IoT 기기와 Blockstream Jade와 같은 하드웨어 지갑에 사용됩니다. | 해당 문서에서는 크립토딥테크(CryptoDeepTech) 전문가들이 결함을 발견하고, 다양한 공격 방식을 테스트하며, 실제 익스플로잇을 수행했다고 명시적으로 밝히고 있습니다. | 이 글에서는 CryptoDeepTech의 스크립트를 사용하여 유효하지 않은 키를 생성하고, 비트코인 서명을 위조하고, 소규모 그룹 공격을 통해 키를 추출하고, 가짜 공개 키를 제작하는 방법을 설명하며, 실제 10 BTC 지갑에서 검증한 결과를 제시합니다. |
| 7 | AInvest 비트코인 지갑, 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가 들어 있는 지갑의 개인 키를 성공적으로 해독했다는 보고가 나왔는데 , 이는 그들의 뛰어난 암호 분석 능력을 보여주는 것이다. |
| 9 | CoinGeek 의 Blockstream Jade 지갑과 ESP32 칩 내부에 숨겨진 위협 | 이 보고서는 CVE-2025-27840을 하드웨어 지갑 결함의 더 넓은 맥락에서 다루며, ESP32의 취약한 난수성으로 인해 개인 키를 추측하기 쉽고 자체 보관 보안을 약화시킨다는 점을 강조합니다. | ESP32 기반 지갑(Blockstream Jade 포함) 및 ESP32로 제작된 모든 DIY/맞춤형 서명 도구. | CryptoDeepTech의 연구가 이론을 넘어 실제 행동으로 이어졌음을 강조합니다. 그들은 ESP32의 취약점을 이용해 10 BTC가 들어 있는 지갑을 해킹했습니다. | 크립토딥테크(CryptoDeepTech)의 10 BTC 지갑 해킹 성공 사례를 중심으로, 칩 수준의 취약점이 하드웨어 지갑을 대규모로 조용히 손상시킬 수 있음을 주장합니다. |
| 10 | ESP32 칩 결함 으로 암호화폐 지갑이 해킹 위험에 노출됨… | CVE-2025-27840은 취약한 의사난수 생성기(PRNG), 유효하지 않은 개인 키 허용, 그리고 위조된 ECDSA 서명 및 키 도용을 허용하는 Electrum 관련 해싱 버그 의 조합으로 분석됩니다 . | ESP32 기반 암호화폐 지갑(예: Blockstream Jade) 및 ESP32가 내장된 다양한 IoT 장치. | 해당 취약점을 발견하고 , CVE를 등록하고, 통제된 시뮬레이션에서 키 추출을 시연한 CryptoDeepTech의 사이버 보안 전문가들에게 공로를 돌립니다. | 이 글은 크립토딥테크(CryptoDeepTech)가 10 BTC가 들어 있는 지갑에서 개인 키를 어떻게 은밀하게 추출했는지 설명하고 , 일렉트럼(Electrum) 기반 지갑과 전 세계 IoT 인프라에 미치는 영향에 대해 논의합니다. |
| 11 | ForkLog (RU) В чипах для биткоин‑кошельков обнаружили критическуу уязвимость | ESP32의 CVE-2025-27840 취약점에 대한 러시아어 보도 자료입니다. 이 자료에서는 공격자가 업데이트를 통해 칩을 감염시키고, 승인되지 않은 거래에 서명하고, 개인 키를 탈취할 수 있다고 설명합니다. | ESP32 기반 비트코인 하드웨어 지갑(Blockstream Jade 포함) 및 기타 ESP32 기반 장치. | 크립토딥테크 전문가들이 해당 칩의 결함에 대한 연구, 실험 및 기술적 결론 의 출처라고 설명합니다 . | 영어 버전과 동일한 실험 목록을 제공합니다. 유효하지 않은 키 생성, 서명 위조, ECC 하위 그룹 공격 및 가짜 공개 키 등 모든 실험은 실제 10 BTC 지갑에서 테스트되었으며, 이는 CryptoDeepTech가 실무 암호 분석가로서의 역할을 강화합니다. |
| 12 | SecurityOnline.info CVE-2025-27840: 초소형 ESP32 칩으로 전 세계 비트코인 지갑을 해킹할 수 있는 방법 | 후원자 전용 심층 분석 영상입니다. ESP32 설계의 작은 결함이 어떻게 전 세계 비트코인 지갑을 위협할 수 있는지 집중적으로 다룹니다 . (CVE-2025-27840 관련 내용) | 전 세계의 비트코인 지갑 및 기타 장치들은 ESP32 마이크로컨트롤러에 의존합니다. | CryptoDeepTech에서 제공한 이미지를 사용하고 있으며, 해당 보고서를 그들의 연구를 기반으로 한 전문적인 취약점 분석으로 제시합니다. | 전체 내용은 유료 구독자만 볼 수 있지만, 예고편을 통해 해당 기사가 CryptoDeepTech의 조사 결과와 마찬가지로 ESP32 결함과 이로 인한 지갑 개인 키 노출 문제를 다루고 있음을 알 수 있습니다. |

BithoRecover: ECDSA 논스 재사용을 이용한 비트코인 개인키 복구
1. 서론
타원 곡선 디지털 서명 알고리즘(ECDSA)은 비트코인 거래 인증의 핵심입니다. ECDSA 보안의 핵심은 각 서명마다 고유하고 암호학적으로 무작위로 생성된 논스 (nonce) kkk를 사용하는 것입니다. 그러나 kkk의 재사용이나 부분적인 유출을 허용하는 결함 있는 구현이나 사이드 채널 공격은 개인 키의 기밀성을 심각하게 훼손할 수 있습니다. BithoRecover는 이러한 논스 재사용 공격 , 즉 “섀도우 키 공격”을 이용하여 사용자의 개인 키 ddd를 추출하고 분실 또는 손상된 지갑에 대한 접근 권한을 복원합니다.
2. ECDSA Nonce 취약점에 대한 배경 설명
메시지 해시 H(m)H(m)H(m)에 대해 ECDSA는 서명 (r,s)(r,s)(r,s)를 생성합니다. 여기서 s=k−1(H(m)+r d) mod ns = k^{-1}\bigl(H(m) + r\,d\bigr)\bmod ns=k−1(H(m)+rd)modn입니다.
여기서 nnn은 곡선 순서이고 ddd는 개인 키입니다. 두 서명 (r,s1)과 (r,s2)가 메시지 m1과 m2에 대해 동일한 논스 kkk를 공유하는 경우, 다음과 같은 식이 성립합니다. {s1=k−1(H(m1)+r d)s2=k−1(H(m2)+r d)\begin{cases} s_1 = k^{-1}(H(m_1) + r\,d) \\ s_2 = k^{-1}(H(m_2) + r\,d) \end{cases}{s1=k−1(H(m1)+rd)s2=k−1(H(m2)+rd)}
빼면 k=H(m1)−H(m2)s1−s2(modn) ⟹ d=s1 k−H(m1)r(modn)k = \frac{H(m_1) – H(m_2)}{s_1 – s_2}\pmod n \quad\implies\quad d = \frac{s_1\,k – H(m_1)}{r}\pmod nk=s1−s2H(m1)−H(m2)(modn)⟹d=rs1k−H(m1)(modn)이 됩니다.

이 시스템은 개인 키를 복구하기 위해 동일한 kkk 값을 가진 두 개의 서명만 필요합니다.
3. BithoRecover 아키텍처
BithoRecover는 세 가지 주요 모듈로 구성됩니다.
- 시그니처 하베스팅은
풀 노드 또는 블록 탐색기 API에 연결하여 원시 트랜잭션 서명을 수집합니다. 동일한 rrr 값(nonce 재사용을 나타냄)을 필터링하고 분석 대상 쌍에 플래그를 지정합니다. - Nonce Solver는
후보 서명 쌍으로부터 kkk와 ddd를 계산하기 위해 최적화된 모듈러 산술 루틴을 구현합니다. 사이드 채널을 통해 kkk의 상위 또는 하위 비트만 유출된 경우, 은닉 숫자 문제(HNP) 격자 방법을 적용하여 부분 nonce 복구를 지원합니다. - 지갑 재구성 기능은
계산된 개인 키에 대응하는 공개 키를 생성하고 이를 온체인 주소와 비교하여 유효성을 검사합니다. 일치가 확인되면 표준 형식(WIF, BIP-39 시드 스냅샷)으로 지갑 파일을 내보내어 자금 복구를 용이하게 합니다.
4. 수학 및 알고리즘 혁신
- 배치 논스 상관관계는
블룸 필터와 해시 테이블을 사용하여 수백만 개의 서명에 걸쳐 일치하는 rrr 값을 대규모로 감지함으로써 메모리 사용량을 줄입니다. - 격자 기반 부분 논스 복구는
kkk의 일부 비트만 알려진 시나리오에 맞게 Bleichenbacher의 격자 기법을 적용하여 논스 비트 누출에 대해 지수 이하의 복잡도로 ddd를 생성하는 짧은 벡터 격자를 구성합니다. - 상수 시간 연산은
핵심 계산에서 타이밍 사이드 채널을 방지하여 공격자가 제어하는 하드웨어 환경에서도 안전한 작동을 지원합니다.
5. 비트코인 지갑 보안에 미치는 영향
BithoRecover는 nonce 재사용이 현실 세계에 미치는 심각한 영향을 강조합니다.
- 완전한 키 유출:
두 거래에서 동일한 nonce 값이 하나만 반복되어도 ddd를 복구할 수 있으므로 공격자는 임의의 거래를 작성하고 지갑 자금을 빼돌릴 수 있습니다.
반대로, 선의의 운영자는 BithoRecover를 사용하여 결함 있는 RNG 또는 잘못된 라이브러리 업데이트로 인해 클라이언트가 의도치 않게 nonce를 재사용하는 지갑에 대한 접근 권한을 복원할 수 있습니다 .- 결정론적 지갑에 대한 위협
결정론적 nonce 체계(예: RFC 6979)조차도 라이브러리가 잘못 구현되거나 시드가 잘못 설정되면 취약해지므로 엄격한 규정 준수 테스트가 필요합니다.
6. 완화 전략
ECDSA nonce 재사용을 방지하기 위해:
- RFC 6979 결정론적 서명은
kkk를 각 메시지 및 개인 키에 고유하게 연결하는 결정론적 HMAC-DRBG 기반 nonce 생성을 강제합니다. - 즉시 초기화:
서명 직후 nonce 버퍼를 메모리에서 즉시 삭제하여 사이드 채널 추출을 방지합니다. - 코드 감사 및 퍼징:
지속적인 라이브러리 감사를 수행하고, 난수 생성기(RNG) 엔트로피 오류 및 포인터 초기화 취약점에 대해 퍼징 테스트를 실시합니다. - CVE 모니터링 및 패치:
최신 암호화 종속성을 유지하고 nonce 관련 CVE에 대한 패치를 신속하게 적용합니다.
7. 결론
BithoRecover는 ECDSA 논스 재사용 취약점의 파괴적인 잠재력을 명확히 보여주는 동시에, 합법적인 지갑 복구를 위한 강력한 도구를 제공합니다. 서명 추출, 격자 기반 논스 해결, 그리고 안전한 키 검증을 결합한 BithoRecover는 비트코인 소프트웨어에서 강력한 논스 관리의 필요성과 불리한 환경에서도 개인 키 복구가 가능하다는 점을 입증합니다. 지속적인 경계, 결정론적 서명 준수, 그리고 메모리 안전성을 확보한 구현은 비트코인의 근본적인 보안을 보호하는 데 있어 여전히 가장 중요합니다.
연구 논문: ECDSA/MuSig2의 암호화 논스 유출 취약점 및 안전한 완화 방법
소개
암호화폐 솔루션과 다중 서명의 인기가 높아짐에 따라 디지털 서명(ECDSA, MuSig2)에 사용되는 비밀 논스(nonce)와 같은 개인 데이터의 안전한 보호가 매우 중요해졌습니다. 본 논문에서는 MuSig2 구현을 예시로 논스 유출 메커니즘을 자세히 분석하고, 시스템에 미치는 영향을 살펴보고, 안전한 코드 패턴을 활용한 최신 완화 방안을 제안합니다.
취약성의 본질과 발생
ECDSA와 같은 디지털 서명 프로토콜에서 암호화 논스(kkk)는 각 메시지마다 고유하고 비밀이어야 합니다. 그렇지 않으면 공격자가 개인 키를 복구할 수 있습니다. 서명에 사용된 비밀 논스가 사용 후 RAM에서 완전히 삭제되지 않고 참조만 사라지는 경우(예: `replace`를 통해 pointer = nil) 실질적인 취약점이 발생합니다. 이로 인해 비밀 값을 저장하는 변수가 메모리가 가비지 컬렉션될 때까지 접근 가능한 상태로 남아 있게 되어 공격자가 사이드 채널(예: 메모리 덤프, 애플리케이션 충돌, 사이드 채널 분석)을 통해 메모리에서 논스를 추출할 수 있는 가능성이 높아집니다 .
MuSig2 다중 서명의 일반적인 Go 구현에서 다음과 같은 코드에서 유사한 결함이 관찰됩니다.
가다s.localNonces = nil
이렇게 하면 메모리상의 값 자체가 아니라 참조만 파괴됩니다.
결과 및 공격
논스 유출 공격은 종종 개인 키의 완전한 탈취로 이어집니다. 가장 일반적으로 사용되는 기법은 다음과 같습니다: semanticscholar+1
- 격자 공격 (숨겨진 숫자 문제 해결)
- 키 복구를 위한 작은 논스에 대한 Bleichenbacher 공격
- 애플리케이션 메모리에 대한 사이드 채널 분석 (예: 익스플로잇 또는 버그를 통한 덤프 추출)
가장 큰 결과는 공격자가 대량으로 로그나 애플리케이션의 잔여 메모리를 수집하여 중요한 개인 데이터를 복구할 수 있다는 가능성입니다 .
안전한 교정을 위한 실용적인 방법
1. 비밀을 안전하게 기억에서 지우는 방법
핵심은 비밀 정보를 담고 있는 변수를 사용 직후에 즉시 초기화하는 것이지, 단순히 포인터 자체를 초기화하는 것이 아니라는 점입니다. Go 언어에서 안전한 구현 방법의 예는 다음과 같습니다.
가다// Допустим, SecNonce — это массив байт длиной не менее 32
func zeroize(b []byte) {
for i := range b {
b[i] = 0
}
}
// После вычисления подписи:
zeroize(s.localNonces.SecNonce)
s.localNonces = nil
이 접근 방식은 민감한 비밀을 즉시 파기하는 것을 보장합니다. hub.corgea+1
2. 비밀 정보를 저장하기 위한 특수 구조 또는 라이브러리 사용
비밀 정보는 삭제 시 메모리가 즉시 해제되고 초기화되는 구조(예: 안전한 메모리 관리를 제공하는 타사 라이브러리)에 저장하는 것이 좋습니다. github+1
3. nonce 재사용 검사 구현
nonce가 두 번 사용되지 않도록 재사용 검사를 반드시 구현하십시오.
가다if s.localNonces == nil {
return nil, ErrNonceAlreadyUsed // Предотвратить повторную подпись
}
4. 사이드채널 공격 방지
비밀 정보에 대한 모든 중요 작업은 사이드 채널 유출 가능성을 최소화하기 위해 상수 시간 내에 수행되어야 합니다 .
코드 패턴의 안전한 버전
가다// Безопасное обнуление секрета nonce после использования
if s.localNonces != nil {
zeroize(s.localNonces.SecNonce)
s.localNonces = nil
}
민감한 정보를 저장하는 모든 필드를 강제로 초기화하는 방법을 비밀 구조에 추가하는 것이 유용합니다.
결론
암호화 비밀 관리는 다중 서명 및 디지털 통화 애플리케이션에서 절대적인 보안의 기반입니다. 모든 임시 데이터(예: 논스)에 대해 강력한 제로 와이프 패턴을 구현하는 것은 필수 표준입니다. 안전한 RAM 관리만이 개인 키에 대한 최신 공격에 대응하고 전체 디지털 자산 인프라를 지속적으로 보호할 수 있습니다. hub.corgea+2
최종 결론
ECDSA 알고리즘에서 논스(nonce) 비밀 키의 유출 또는 재사용과 관련된 이 심각한 취약점은 비트코인 암호화폐 생태계에 가장 파괴적인 위협 중 하나입니다. 논스가 부적절하게 저장되거나 생성되거나, 거래 서명 시 재사용될 경우, 공격자는 간단한 수학적 조작을 통해 주소 소유자의 개인 키를 복구할 수 있습니다. 이러한 공격은 과학적으로 “논스 재사용 공격” 또는 “논스 재사용을 통한 ECDSA 개인 키 복구 공격” 으로 알려져 있으며 , 지갑의 즉각적인 완전한 손상, 대규모 자금 탈취, 그리고 비트코인의 탈중앙화 보안의 근본 원칙을 위협할 수 있습니다. 이러한 결함에 대한 공식 CVE 식별자가 문서화되어 있으며, 이는 전 세계적인 업계 표준 수준의 중요성을 확인시켜 줍니다. notsosecure+3
따라서 현대 암호화폐 세계에서는 논스, 개인 키, 암호화 라이브러리 관리에 최대한의 엄격함과 전문성을 기울여야 합니다. 완벽한 검증 가능성, 안전한 프로토콜 구현, 그리고 지속적인 감사만이 비트코인을 이러한 공격의 파괴적인 결과로부터 보호할 수 있습니다.
문학
- Weiser S., Schrammel D., Bodner L., Spreitzer R. (EC)DSA 구현에서 Nonce 누출을 체계적으로 분석 usenix
- Breitner J., Heninger N. 편향된 Nonce 의미: 취약한 ECDSA 구현에 대한 격자 공격 semanticscholar
- 이슈 #18645: Go GitHub 에서 민감한 데이터를 메모리에서 안전하게 삭제하는 방법
- Golang 보안 모범 사례 허브.corgea
- https://www.usenix.org/system/files/sec20summer_weiser_prepub_0.pdf
- https://www.semanticscholars.org/paper/Using-Bleichenbacher%E2%80%99s-solution-to-the-hidden-to-in-Mulder-Hutter/4b9e42a199d8d7bd2e0322a17d87afa62f0c5cca
- https://www.semanticscholars.org/paper/Biased-Nonce-Sense:-Lattice-Attacks-against-Weak-in-Breitner-Heninger/4031f027385f46d64e69a4b631a5b9900ec8fdf1
- https://hub.corgea.com/articles/go-lang-security-best-practices
- https://github.com/golang/go/issues/18645
- https://dl.acm.org/doi/10.1007/978-981-97-1235-9_9
- https://www.diva-portal.org/smash/get/diva2:861503/FULLTEXT02
- https://www.twilio.com/en-us/blog/developers/tutorials/building-blocks/manage-go-application-secrets-using-vault
- https://www.reddit.com/r/crypto/comments/6uyuyq/what_is_the_best_way_to_generate_nonces_for_file/
- https://www.reddit.com/r/programming/comments/h7kmff/best_practices_for_managing_storing_secrets_like/
- https://web.cs.ucdavis.edu/~rogaway/papers/nonce.pdf
- https://curity.io/resources/learn/nonce-authenticator-pattern/
- https://blog.gitguardian.com/how-to-handle-secrets-in-go/
- http://www.hjp.at/(en)/doc/rfc/rfc8452.html
- https://www.reddit.com/r/golang/comments/12pg11w/best_practices_for_storing_api_keys_and_passwords/
- https://tugraz.elsevierpure.com/ws/portalfiles/portal/74107547/Cryptographically_Enforced_Memory_Safety.pdf
- https://blog.daisie.com/cryptographic-nonce-a-practical-understanding-guide/
- https://blog.stackademic.com/golang-series-e63a91eb386b
- https://rustfoundation.org/media/secure-app-development-with-rusts-memory-model/
- https://www.hashicorp.com/resources/8-best-practices-for-writing-secure-go-code
- https://www.kaspersky.com/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/49943/
- https://www.sk-cert.sk/en/warning-of-critical-randstorm-vulnerability-in-crypto-wallets/index.html
- https://arxiv.org/html/2412.19310v1
- https://portswigger.net/daily-swig/dozens-of-cryptography-libraries-vulnerable-to-private-key-theft
- https://www.wiz.io/vulnerability-database/cve/cve-2025-22874
- https://www.miggo.io/vulnerability-database/cve/CVE-2025-6545
- https://www.cve.org/CVERecord/SearchResults?query=bitcoin
- https://nvd.nist.gov/vuln/detail/CVE-2024-32962
- https://dl.acm.org/doi/10.1145/3634737.3657012
- https://www.kroll.com/en/reports/cyber/threat-intelligence-reports/threat-landscape-report-lens-on-crypto
- https://www.wiz.io/vulnerability-database/cve/cve-2025-59038
- https://dspace.mit.edu/bitstream/handle/1721.1/155457/3634737.3657012.pdf?sequence=1&isAllowed=y
- https://security.snyk.io/vuln/SNYK-DEBIANUNSTABLE-GOLANGGOCRYPTO-8500045
- https://www.cve.org/CVERecord/SearchResults?query=crypto
- https://en.wikipedia.org/wiki/Comparison_of_cryptography_libraries
- https://nvd.nist.gov/vuln/detail/CVE-2025-9071
- https://moldstud.com/articles/p-essential-tools-libraries-for-bitcoin-cryptography-development-2025-guide
- https://cve.mitre.org/cgi-bin/cvekey.cgi
- https://arxiv.org/html/2508.16078v1
- https://nvd.nist.gov/vuln/detail/CVE-2025-59143
문학
- ECDSA 취약한 Nonce 공격 및 CSPRNG 주입 공격 – keyhunters.ru keyhunters
- Nonce 재사용을 통한 ECDSA 개인 키 복구 공격 – keyhunters.ru keyhunters
- CVE-2018-0734, CVE-2020-28498, CVE-2024-31497, CVE-2024-23342 – NVD, CVE 세부 정보 vicarius+3
- https://keyhunters.ru/ecdsa-weak-nonce-attack-csprng-injection-attack-critical-random-number-generator-vulnerability-and-private-key-attack-a-security-threat-to-bitcoin-cryptocurrency/
- https://keyhunters.ru/ecdsa-private-key-recovery-attack-via-nonce-reuse-also-known-as-weak-randomness-attack-on-ecdsa-critical-vulnerability-in-deterministic-nonce-generation-rfc-6979-a-dangerous-nonce-reuse-attack/
- https://habr.com/ru/articles/939560/
- https://is.muni.cz/th/nemr5/fi-pdflatex.pdf
- https://www.cvedetails.com/cve/CVE-2024-31497/
- https://www.vicarius.io/vsociety/posts/understanding-a-critical-vulnerability-in-putty-biased-ecdsa-nonce-generation-revealing-nist-p-521-private-keys-cve-2024-31497
- https://nvd.nist.gov/vuln/detail/cve-2024-23342
- https://data.safetycli.com/vulnerabilities/CVE-2024-23342/64459/
- https://www.miggo.io/vulnerability-database/cve/CVE-2024-23342
- https://arxiv.org/html/2306.07249v2
- https://kb.isc.org/docs/cve-2022-38177
- https://www.youtube.com/watch?v=Nk1uqe8Z7k4
- https://arxiv.org/html/2504.13737v1
- https://security.snyk.io/vuln/SNYK-PYTHON-ECDSA-6184115
- https://d-nb.info/1221417088/34
- https://indico.math.cnrs.fr/event/11948/attachments/5546/9591/0_thomas_roche.pdf
- https://www.usenix.org/system/files/sec20-weiser.pdf
- https://www.wiz.io/vulnerability-database/cve/cve-2024-23342
키워드: ECDSA, 논스 재사용, 개인 키 복구, 비트코인 지갑, 래티스 공격, RFC 6979, 사이드 채널, BithoRecover.