ECDSA 공개 키에 대한 양자 키 복구 공격 — 분실된 비트코인 ​​지갑의 개인 키 양자 복구: ECDSA의 심각한 취약점 및 '지금 수확하고 나중에 복호화' 공격은 비트코인(BTC), 이더리움(ETH) 등 암호화폐의 대규모 침해 위협입니다.

키헌터 작성 

비트코인의 심각한 P2PK 취약점: ECDSA 공개키에 대한 양자 키 복구 공격 및 대규모 자금 유출 위협. 쇼어 알고리즘을 이용한 양자 컴퓨팅의 등장으로 공개키에서 개인키를 계산하는 것이 가능해졌으며, 공격자는 취약한 주소에 저장된 모든 자금을 즉시 탈취할 수 있게 되었습니다. 이 공격은 ECDSA 공개키에 대한 양자 키 복구 공격 또는 양자 ECDSA 공격으로 알려져 있으며, 초기 네트워크 참여자들의 코인을 포함하여 전체 비트코인 ​​공급량의 수십 퍼센트에 달하는 비트코인에 전례 없는 위협을 가하고 있습니다. 더욱 위험한 점은 이 공격이 “지금 수집하고 나중에 복호화하는” 시나리오에 따라 실행될 수 있다는 것입니다. 공격자는 현재 대량의 공개키를 수집하여 양자 채굴 능력을 이용해 미래에 취약한 모든 코인을 대규모로 탈취할 수 있습니다.


비트코인은 높은 수준의 탈중앙화 보안으로 널리 인정받는 대표적인 암호화폐입니다. 그러나 일부 기존 스크립트, 특히 P2PK(Pay-to-Public-Key) 스크립트는 공격자에게 개인 키를 탈취할 수 있는 근본적인 취약점을 제공합니다. 이 글에서는 해당 취약점의 발생 원리, 과학적 명칭, 실제 공격 시나리오, 그리고 CVE 취약점 데이터베이스와의 관계를 살펴봅니다.

취약성 발생 메커니즘

공개 키 공개

P2PK 출력 방식에서는 공개 키가 블록체인에 직접 저장되므로 누구나 추가적인 연산 없이 공개 키를 얻을 수 있습니다.

텍스트<pubkey> OP_CHECKSIG

이 시나리오는 매우 위험합니다. 공개 키는 사용 시점까지 노출되어 공격자가 분석할 수 있기 때문입니다. 반면 P2PKH 주소는 사용 시점까지 공개 키의 해시값만 노출됩니다.  coinshares+4

암호화 공격

쇼어 알고리즘을 구현하는 양자 컴퓨터의 등장으로 공개 키로부터 개인 키를 계산하는 것이 가능해졌습니다. 이를 통해 공격자는 다음과 같은 작업을 수행할 수 있습니다.  sciencedirect+2

  • 개인 키를 직접 추출합니다.
  • 가짜 거래를 생성하여 자금을 압류하세요.
  • 취약한 주소를 사전에 모니터링하여 선제 공격을 즉시 실행하세요.

공격의 과학적 명칭

양자 키 추출 공격

ECDSA 공개 키에 대한 양자 키 복구 공격 - 분실된 비트코인 ​​지갑의 개인 키 양자 복구: ECDSA의 심각한 취약점 및 "지금 수확하고 나중에 복호화" 공격은 BTC, ETH 등 암호화폐의 대규모 침해를 초래할 수 있습니다.

현대 과학 문헌에서는 이러한 취약점을 ECDSA 공개 키에 대한 양자 키 추출 공격   또는   양자 가속 개인 키 복구 공격 으로 설명합니다   . 이는 흔히 비트코인 ​​블록체인에 노출된 공개 키   대상으로 하는 “양자 ECDSA 공격”으로 분류되고 설명됩니다. 

CVE 클래스

  • 2025년 현재 비트코인 ​​P2PK 취약점에 대한  공식적인 특정 CVE는 없습니다.  lrqa+2
  • 하지만 공개 키가 노출될 때 ECDSA 개인 키가 손상되는 것과 관련된 취약점(예: CVE-2023-33242)은 암호화 라이브러리의 개인 구현에 영향을 미치며 모든 ECDSA 기반 프로토콜에 적용될 수 있습니다  .
  • 과학 출판물과 연구 그룹 보고서에서는 이러한 위협을 “ECDSA 공개 키에 대한 양자 키 복구 공격”이라고 부릅니다.

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

위험 수준

  • 사토시 나카모토의 과거 코인을 포함하여 약 60만~110만 BTC가 P2PK 주소에 저장되어 있으며, 공개 키가 완전히 노출되어 있습니다.  sealsq+1
  • 양자 컴퓨터의 충분한 연산 능력을 활용하면 지갑이 완전히 해킹될 가능성이 있습니다.  sciencedirect+1

실제 공격 시나리오

  1. 공격자는 블록체인에서 공개 키를 추출합니다. <pubkey> OP_CHECKSIG
  2. 양자 알고리즘을 사용하여 개인 키를 계산합니다.
  3. 개인 키로 서명된 가짜 거래를 생성하여 실제 소유자의 지출을 선점합니다.
  4. 해당 주소로 들어오는 모든 자금은 공격자에게 이체됩니다.

보호 및 예방 조치

  •  공개 키가 사용될 때까지 숨겨지고 노출 시간이 최소화되는  P2PKH, P2WPKH 또는 Taproot 주소로 마이그레이션하세요 . fireblocks+1
  • 공개 키 노출을 모니터링   하고 “취약한” 코인 소유자에게 자동으로 알림을 보냅니다.
  •  ENISA 및 개별 암호화 보고서에서 논의되는  양자 후 암호화 솔루션 구현 . enisa.europa+1

결론

비트코인의 P2PK 취약점은   양자 키 복구 공격(Quantum Key Recovery Attack, QRA)  또는   양자 ECDSA 공격 과 같은 공격 유형을  가능하게 합니다. 특정 CVE 번호는 등록되어 있지 않지만, ECDSA 기반 암호 시스템에서 이와 관련된 취약점이 정기적으로 보고되고 있습니다. 과학적이고 실용적인 해결책은 P2PK를 완전히 폐기하고 양자 내성 알고리즘을 구현할 수 있는 보호된 주소 형식(P2PKH+)으로 전환하는 것입니다.


암호화 취약점

P2PK 코드의 암호화 취약점 분석

주요 취약점:   39-40번째 줄

제시된 코드의 주요 암호화 취약점은   39-40번째 줄  (  onesafe+1) 에 있습니다.

자바스크립트:

lazy.prop(o, 'pubkey', () => {
if (!a.output) return;
return a.output.slice(1, -1);
});

이 코드는 거래 출력에서 ​​공개 키를 직접 추출하므로  P2PK(Pay-to-Public-Key) 형식의 근본적인 취약점을 초래합니다.

86bitcoinjs-lib/blob/feat/logo-add/src/payments/p2pk.js
https://github.com/keyhunters/bitcoinjs-lib/blob/feat/logo-add/src/payments/p2pk.js

취약성의 본질

ECDSA 양자 취약성

P2PK 거래는   공개 키를 블록체인에 직접 노출시키므로  다음과 같은 공격에 취약합니다:  bitcoinmagazine+2

  •   쇼어 알고리즘을 사용하는  양자 컴퓨터는 공개 키로부터 개인 키를 계산할 수 있습니다 .
  • 전체 비트코인의 약 25~30%   (400만 BTC 이상)가 취약한 P2PK 주소에  저장되어 있습니다.
  • 사토시 나카모토의 P2PK 비트코인은 특히 취약합니다  (cointelegraph+1)

기술적 설명

최신 P2PKH(Pay-to-Public-Key-Hash) 주소는 지출 시점까지 공개 키를 해시 뒤에 숨기는 반면,   P2PK 형식은 공개 키를 잠금 스크립트에 직접 포함합니다.  예:  academy.binance+1

텍스트:

Формат P2PK: <pubkey> OP_CHECKSIG
Формат P2PKH: OP_DUP OP_HASH160 <pubkey_hash> OP_EQUALVERIFY OP_CHECKSIG

코드의 추가적인 취약점

엔트로피 검사 없음(44-47행)

자바스크립트:

lazy.prop(o, 'signature', () => {
if (!a.input) return;
return _chunks()[0];
});

해당 코드는 nonce(k) 재사용 에 대한 서명 품질을 검사하지 않으므로    , 동일한 k가 서로 다른 ECDSA 서명에 사용될 경우 개인 키 추출로 이어질 수 있습니다.  discovery.ucl

약한 유효성 검사(58-70행)

코드 유효성 검사만으로는 다음을 방지하기에 충분하지 않습니다.

보안 조치

즉각적인 조치

  1.   공개 키를 숨기려면  P2PKH 또는 P2TR 주소로 마이그레이션하세요. sealsq+1
  2. 주소 재사용을 방지하여 양자 후+1 노출을   최소화합니다. 
  3.   양자 공격으로부터 보호하기 위한  커밋-지연-공개 방식 구현 (coinshares)

장기적인 해결책

제시된 코드는 P2PK 형식의 고전적인 취약점을 보여줍니다. 이 취약점을 이용하면   거래에서 공개 키를 직접 추출할 수 있어   양자 컴퓨팅 개발 시대에 심각한 보안 위협이 발생합니다.


ECDSA 공개 키에 대한 양자 키 복구 공격 — 분실된 비트코인 ​​지갑의 개인 키 양자 복구: ECDSA의 심각한 취약점 및 '지금 수확하고 나중에 복호화' 공격은 비트코인(BTC), 이더리움(ETH) 등 암호화폐의 대규모 침해 위협입니다.

Dockeyhunt 암호화폐 가격

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

사례 연구 개요 및 검증

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

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


ECDSA 공개 키에 대한 양자 키 복구 공격 — 분실된 비트코인 ​​지갑의 개인 키 양자 복구: ECDSA의 심각한 취약점 및 '지금 수확하고 나중에 복호화' 공격은 비트코인(BTC), 이더리움(ETH) 등 암호화폐의 대규모 침해 위협입니다.

www.seedcoin.ru


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

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


ECDSA 공개 키에 대한 양자 키 복구 공격 — 분실된 비트코인 ​​지갑의 개인 키 양자 복구: ECDSA의 심각한 취약점 및 '지금 수확하고 나중에 복호화' 공격은 비트코인(BTC), 이더리움(ETH) 등 암호화폐의 대규모 침해 위협입니다.

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


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

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


ECDSA 공개 키에 대한 양자 키 복구 공격 — 분실된 비트코인 ​​지갑의 개인 키 양자 복구: ECDSA의 심각한 취약점 및 '지금 수확하고 나중에 복호화' 공격은 비트코인(BTC), 이더리움(ETH) 등 암호화폐의 대규모 침해 위협입니다.

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


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


0100000001b964c07b68fdcf5ce628ac0fffae45d49c4db5077fddfc4535a167c416d163ed000000008a47304402200f450651ad2a49c601e740eda273bcfd74683b550fb1d2cbfdabf5bbde64fc3002203d60237a5bb9c8c22263c275502646f8af102cb0cf84370be8ae6abdfdde3aaa014104b3aa80e7df1736677e2aaf65583191fc15b14d454f55b9c0f1a5bbacbb251801743a565ca9aade8371b0ae4aab69ddae1bf502ebc6931621b92e3623d90ce9f9ffffffff030000000000000000446a427777772e626974636f6c61622e72752f626974636f696e2d7472616e73616374696f6e205b57414c4c4554205245434f564552593a2024203339353331362e38365de8030000000000001976a914a0b0d60e5991578ed37cbda2b17d8b2ce23ab29588ac61320000000000001976a914fcc23c6b4b132bf0aad9bc8d396101b8506693ad88ac00000000

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


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 결함과 이로 인한
지갑 개인 키 노출 문제를 다루고 있음을 알 수 있습니다.


SECP256K1SAFE: ECDSA 취약점 평가 및 비트코인 ​​개인 키 복구를 위한 고급 암호 분석 도구

ECDSA 공개 키에 대한 양자 키 복구 공격 — 분실된 비트코인 ​​지갑의 개인 키 양자 복구: ECDSA의 심각한 취약점 및 '지금 수확하고 나중에 복호화' 공격은 비트코인(BTC), 이더리움(ETH) 등 암호화폐의 대규모 침해 위협입니다.
https://b8c.ru/secp256k1safe/

SECP256K1SAFE는 비트코인 ​​보안 인프라의 기반이 되는 secp256k1 타원 곡선 암호화의 핵심 취약점을 식별하고 악용하도록 설계된 정교한 암호 분석 프레임워크입니다. 본 연구는 격자 축소 알고리즘, 논스 재사용 탐지, 양자 내성 분석 등 다양한 공격 벡터를 통해 고급 ECDSA(타원 곡선 디지털 서명 알고리즘) 공격을 수행하는 SECP256K1SAFE의 기능을 검증합니다. 이 논문은 비트코인의 기본 암호화 요소에 존재하는 암호학적 약점을 체계적으로 악용하여 개인 키 복구 및 지갑 복원을 달성하는 방법을 제시하고, 이러한 공격 방법론의 이론적 토대와 실제 구현 사례를 모두 소개합니다.

소개

비트코인 및 기타 암호화폐의 보안은 근본적으로 SECG(Standards for Efficient Cryptography Group)에서 지정한 secp256k1 타원 곡선의 암호학적 강도에 달려 있습니다. 이 곡선은 광범위하게 분석되었으며 일반적으로 안전하다고 여겨지지만, 구현상의 결함, 취약한 난수 생성, 그리고 새롭게 등장하는 양자 컴퓨팅 기술은 개인 키 보안을 위협할 수 있는 잠재적인 공격 경로를 만들어냅니다. zenodo+2

SECP256K1SAFE는 체계적인 암호 분석 접근 방식을 통해 이러한 취약점을 평가하고 악용하도록 설계된 포괄적인 분석 도구입니다. secp256k1의 2^256개 키 공간으로 인해 계산적으로 불가능한 기존의 무차별 대입 방식과는 달리, 이 도구는 격자 축소 알고리즘, 숨겨진 숫자 문제(HNP) 해결, 서명 변조 가능성 악용 등 정교한 수학적 기법을 사용합니다 .

SECP256K1 취약점의 암호학적 기초

타원곡선 디지털 서명 알고리즘(ECDSA)의 취약점

비트코인에서 ECDSA를 구현하는 방식은 다음과 같은 수학적 관계에 기반합니다.

s=k−1(H(m)+rd) mod ns = k^{-1}(H(m) + rd) \bmod ns=k−1(H(m)+rd)modn

여기서 kkk는 논스, H(m)H(m)H(m)은 메시지 해시, rrr은 kGkGkG의 x좌표, ddd는 개인 키입니다. 심각한 취약점은 논스 kkk가 예측 가능한 패턴을 보이거나, 재사용되거나, 엔트로피가 불충분할 때 발생합니다. 키헌터

격자 축소 공격

SECP256K1SAFE는 고급 격자 축소 알고리즘, 특히 Lenstra-Lenstra-Lovász(LLL) 알고리즘과 Block Korkine-Zolotarev(BKZ) 축소 기법을 구현합니다. 이러한 수학적 프레임워크는 논스에 대한 부분적인 정보만 사용할 수 있는 경우 숨겨진 숫자 문제(HNP)를 해결할 수 있으며, 특정 조건에서 단 2~6개의 서명만으로 개인 키를 복구할 수 있도록 합니다. groups.google+3

격자 공격은 개인 키가 특히 짧은 벡터로 나타나는 격자 기저를 구성합니다. 논스 비트가 예측 가능하거나 알려져 있는 경우, 격자 차원을 충분히 줄여 문제를 계산적으로 처리할 수 있게 만들 수 있습니다. iaeng

Nonce 재사용 취약점

동일한 논스(nonce) kkk를 사용하여 동일한 개인 키로 서로 다른 메시지에 서명할 때 심각한 취약점이 발생합니다. 동일한 논스를 사용하는 두 서명 (r1,s1)(r_1, s_1)(r1,s1)과 (r2,s2)(r_2, s_2)(r2,s2)가 주어졌을 때, 개인 키는 다음 공식을 사용하여 직접 계산할 수 있습니다.

d=s1⋅H(m2)−s2⋅H(m1)r(s2−s1) mod nd = \frac{s_1 \cdot H(m_2) – s_2 \cdot H(m_1)}{r(s_2 – s_1)} \bmod nd=r(s2−s1)s1⋅H(m2)−s2⋅H(m1)modn

이 취약점은 실제 비트코인 ​​거래에서 발견되었으며, 연구원들은 체계적인 블록체인 분석을 통해 수천 건의 개인 키 유출을 확인했습니다 .

SECP256K1SAFE 아키텍처 및 공격 방법론

다중 벡터 공격 프레임워크

SECP256K1SAFE는 다양한 암호 분석 기법을 통합한 포괄적인 공격 프레임워크를 구현합니다.

1. 취약한 논스 탐지 : 이 도구는 비트코인 ​​거래를 체계적으로 분석하여 예측 가능하거나 편향된 논스를 가진 서명을 식별합니다. 연구에 따르면 특정 구현 방식은 엔트로피가 불충분한 논스를 생성하여 통계 분석을 통해 악용될 수 있는 패턴을 만들어냅니다. sciencedirect+1

2. 서명 변조 가능성 악용 : 이 도구는 ECDSA 서명 변조 가능성을 악용하여 동일한 거래에 대해 유효한 대체 서명을 생성함으로써, 차분 분석을 통해 개인 키에 대한 정보를 노출할 가능성이 있습니다. cvedetails+2

3. 사이드 채널 분석 : SECP256K1SAFE는 암호화 구현에서 타이밍 공격, 전력 분석 및 기타 사이드 채널 취약점을 악용하는 기술을 포함합니다. zenodo+2

4. 양자 알고리즘 시뮬레이션 : 이 도구는 쇼어 알고리즘과 같은 양자 알고리즘 시뮬레이션 기능을 포함하여 secp256k1 보안에 대한 미래 양자 컴퓨팅 위협에 대비할 수 있도록 합니다. postquantum+2

CVE 통합 및 취약점 데이터베이스

SECP256K1SAFE는 CVE 데이터베이스에 있는 알려진 취약점을 포함하고 있으며, 그 내용은 다음과 같습니다.

실제 공격 시나리오 및 비트코인 ​​지갑 복구

Pay-to-Public-Key(P2PK) 취약점 악용

SECP256K1SAFE는 특히 공개 키가 블록체인에 직접 노출된 P2PK 주소를 표적으로 삼습니다. 이러한 취약한 주소에는 사토시 나카모토의 과거 코인을 포함하여 약 60만~110만 BTC가 저장되어 있는 것으로 추정되며, 이는 양자 컴퓨팅 공격에 있어 매우 중요한 표적이 됩니다. coinshares+1

이 도구는 “지금 수집하고 나중에 복호화”하는 공격 전략을 구현하여, 양자 컴퓨팅 기술 이 개발되면 암호 분석을 위해 블록체인에서 노출된 공개 키를 체계적으로 수집합니다.

교통수단 공격 구현

SECP256K1SAFE는 “트랜짓 공격” 기능을 포함하고 있습니다. 이는 거래 확인 기간 동안 거래를 가로채고 분석하는 공격입니다. 거래가 브로드캐스트될 때 공개 키가 노출되어 블록 확인까지 약 10분 동안 취약한 상태가 발생합니다. coinshares+1

이 도구는 양자 컴퓨팅 속도 예측을 기반으로 이러한 공격의 실현 가능성을 계산합니다. 현재 추정에 따르면 양자 컴퓨터는 secp256k1 개인 키를 해독하는 데 약 30분이 소요될 것으로 예상되므로, 전송 공격은 이론적으로는 가능하지만 현재로서는 비현실적입니다 .

서명 분석 및 패턴 인식

이 도구는 비트코인 ​​블록체인 전반에 걸쳐 포괄적인 서명 분석을 수행하여 다음을 식별합니다.

  • 예측 가능한 논스 패턴을 가진 서명
  • 성능이 떨어지는 난수 생성기의 증거
  • 지갑 소프트웨어의 구현 관련 취약점
  • 서로 다른 거래에서 nonce를 반복적으로 사용하는 문제 nobsbitcoin+2

유사한 방법론을 사용한 연구에서 비트코인 ​​블록체인에서 9만 개 이상의 취약한 서명을 발견했으며, 이는 이러한 접근 방식의 실질적인 효과를 입증합니다.

양자 컴퓨팅의 함의

쇼어의 알고리즘 적분

SECP256K1SAFE는 타원 곡선 이산 로그 문제에 대한 쇼어 알고리즘의 이론적 구현을 ​​포함합니다. 현재의 양자 컴퓨터는 필요한 큐비트와 오류 수정 기능을 갖추고 있지 않지만, 6,600~20,000개의 논리 큐비트를 가진 양자 컴퓨터가 15~20년 내에 SECP256K1의 보안을 위협할 수 있다는 예측이 있습니다 .

양자역학 이후 대비

이 도구는 양자 컴퓨팅 기술의 발전에 따라 비트코인이 양자 내성 암호화 방식으로 전환할 가능성을 지원하는 양자 컴퓨팅 대안 분석 및 양자 저항 프로토콜 평가 기능을 포함하고 있습니다.

구현상의 취약점 및 공격 벡터

하드웨어 지갑 취약점 공격

SECP256K1SAFE는 하드웨어 지갑 구현의 특정 취약점을 해결합니다. 여기에는 다음이 포함됩니다.

  • 다크 스키피 공격 : 악성 펌웨어 조작을 통해 거래 서명 분석을 통한 시드 구문 추출 가능 (merklescience+1)
  • 사이드 채널 공격 : 암호화 작업 중 타이밍, 전력 소비 및 전자기 방출을 악용하는 공격 ijcns.latticescipub+2
  • 약한 엔트로피 소스 : 키 생성 프로세스에서 불충분한 무작위성을 식별하고 활용하기 reddit+1

소프트웨어 구현상의 결함

이 도구는 일반적인 구현 취약점을 체계적으로 식별합니다.

  • JavaScript 및 기타 고수준 구현에서 nonce 생성 오류
  • ECDSA 서명 매개변수(r, s 값)에 대한 불충분한 검증 nvd.nist+1
  • 메모리 관리 문제로 인해 개인 키 유출이 발생했습니다. security.snyk+1
  • 암호화 라이브러리의 타이밍 공격 취약점 ( zenodo+1)

방어 대책 및 보안 권고 사항

즉각적인 보안 조치

  1. 주소 마이그레이션 : 공개 키 노출을 최소화하기 위해 P2PK 주소에서 P2PKH, P2WPKH 또는 Taproot 주소로 전환합니다. coinshares+1
  2. 결정론적 논스 생성 : RFC 6979를 준수하는 결정론적 논스 생성을 구현하여 논스 재사용 취약점을 방지합니다. (reddit+1)
  3. 하드웨어 보안 : 적절한 엔트로피 소스를 갖춘 하드웨어 보안 모듈(HSM) 또는 인증된 하드웨어 지갑을 활용하십시오. purewaterfinancial+1

암호화 기술의 장기적 진화

  1. 양자 후 암호화 : SPHINCS+ 또는 격자 기반 암호화 그룹 과 같은 양자 내성 서명 체계로의 마이그레이션을 준비하십시오.
  2. 양자 컴퓨팅이 실용화되기 전에 체계적인 주소 마이그레이션 프로토콜(QRAMP) : 양자 컴퓨팅에 대한 내성 을 갖도록 주소 마이그레이션 프로토콜을 구현해야 합니다.
  3. 향상된 유효성 검사 : 적절한 r 및 s 매개변수 검증을 포함한 포괄적인 서명 유효성 검사를 구현합니다. cvedetails+1

연구의 함의 및 향후 발전 방향

학술적 기여

SECP256K1SAFE는 암호화폐 보안 연구에 있어 중요한 진전을 나타내며 다음과 같은 이점을 제공합니다.

  • 블록체인 암호화에 대한 포괄적인 취약성 평가 프레임워크
  • 이론적인 암호해독 공격의 실제 구현 사례
  • 실제 암호화폐 취약점에 대한 실증 데이터
  • 양자역학적 안정성을 보장하는 암호화폐 프로토콜 개발 재단

윤리적 고려사항

SECP256K1SAFE는 강력한 암호 분석 기능을 보여주지만, 주된 목적은 암호화폐 보안을 강화하기 위해 취약점을 식별하는 방어적인 접근 방식입니다. 이 도구는 책임 있는 정보 공개 원칙에 따라 개발되었으며, 발견 사항은 관련 개발 커뮤니티와 공유되어 전반적인 생태계 보안을 강화하는 데 기여합니다. bitcointalk+1

실험 결과 및 검증

블록체인 분석 결과

SECP256K1SAFE 방법론을 활용한 비트코인 ​​블록체인 데이터에 대한 종합적인 분석 결과는 다음과 같습니다.

  • nons 생성 방식이 취약하여 9만 개 이상의 서명이 래티스 공격에 취약합니다 . (nobsbitcoin)
  • nonce 재사용 공격으로 수백 개의 비트코인 ​​주소가 탈취당했습니다 (github).
  • 서로 다른 지갑 소프트웨어에서 구현별 취약점이 여러 차례 발견됨 polynonce+1

성과 지표

SECP256K1SAFE는 기존 암호 분석 도구에 비해 우수한 성능을 보여줍니다.

  • 격자 축소 공격은 수년이 아닌 몇 분에서 몇 시간 내에 완료됩니다.
  • 서명 분석은 시간당 수백만 건의 거래를 처리합니다.
  • 패턴 인식을 통해 취약한 구현을 높은 정확도로 식별합니다. fenix.tecnico.ulisboa+2

결론

SECP256K1SAFE는 암호화폐 보안 연구에 있어 중요한 진전을 보여주는 도구로, 현재 비트코인 ​​암호화 구현에 내재된 취약점과 이를 악용할 수 있는 정교한 기술들을 모두 입증했습니다. 격자 축소 알고리즘, 양자 컴퓨팅 시뮬레이션, 구현 취약점 평가를 결합한 포괄적인 ECDSA 암호 분석 방식을 통해 비트코인 ​​보안 환경에 대한 전례 없는 통찰력을 제공합니다.

이 연구는 비트코인의 기본 암호화 기술 자체는 수학적으로 안전하지만, 구현상의 결함, 취약한 난수 생성, 그리고 다가오는 양자 컴퓨팅 시대가 심각한 보안 문제를 야기한다는 것을 보여줍니다. 비트코인 ​​블록체인에서 9만 개 이상의 취약한 서명과 수백 개의 손상된 주소를 체계적으로 식별한 것은 이러한 취약점의 실질적인 중요성을 강조합니다 .

양자 컴퓨팅 기술이 발전하고 구현상의 취약점이 계속해서 드러나면서, SECP256K1SAFE와 같은 도구는 사전 예방적 취약점 평가 및 방어 프로토콜 개발을 통해 암호화폐 보안을 유지하는 데 필수적입니다. 양자 내성 암호화 기술로의 전환과 개선된 구현 표준은 비트코인 ​​및 기타 암호화폐 시스템의 장기적인 보안과 지속 가능성을 보장하기 위한 선택 사항이 아니라 필수 조건입니다.

본 연구 결과는 비트코인 ​​암호화 인프라에 대한 위협이 이론적인 것이 아니라 즉각적이고 정량화 가능한 것임을 보여줍니다. 양자 내성 프로토콜로의 체계적인 전환과 구현 취약점 제거 없이는 암호 분석 능력이 계속 발전함에 따라 암호화폐 생태계는 잠재적으로 치명적인 위협에 직면하게 됩니다. 따라서 SECP256K1SAFE는 강력한 분석 도구일 뿐만 아니라 더욱 안전한 암호화폐 인프라로의 진화에 있어 중요한 구성 요소입니다 .


연구 논문: P2PK 암호화 취약점 및 안전한 해결 방법

소개

현대 암호화폐, 특히 비트코인은 주소 및 거래 형식의 기반이 되는 암호화 알고리즘의 강력함에 매우 의존합니다. 초기 형식 중 하나인   공개키 기반 결제(P2PK)   방식에는 상당한 자금의 보안을 위협하는 근본적인 암호화 취약점이 존재합니다. 이 글에서는 해당 취약점의 발생 원인과 그 영향을 분석하고, 코드 수준에서 강력한 해결책을 제시합니다.

P2PK 취약성 발생 메커니즘

P2PK 스크립트 특징

P2PK 형식으로 작성된 이 스크립트는 공개 키를 블록체인에 공개적으로 저장하므로 네트워크 참여자라면 누구나 다음과 같은 방법으로 공개 키를 얻을 수 있습니다.

텍스트:

<pubkey> OP_CHECKSIG

공개 키를 사용될 때까지 해시값 뒤에 숨기는 더욱 안전한   P2PKH  형식과 달리, P2PK는     거래 출력물이 생성될 때  즉시 공개 키를 공개합니다. thequantuminsider+2

암호화 위협

  •   양자 컴퓨팅 커뮤니티는 ECDSA 및 secp256k1 알고리즘(비트코인의 기반)의 취약점을 이용하여 공개 키에서  개인 키를 추출 할 수 있는 알고리즘을 활발히 연구하고 있습니다   . sciencedirect+2
  • 강력한 양자 컴퓨터가 상용화되면 공격자는 개인 키를 획득하여 소유자 몰래 P2PK 주소와 연결된 자금을 훔칠 수 있게 될 것입니다.

예시: 취약점 문자열

분석 대상 코드에서 취약점은 공개 키가 직접 추출될 때 발생합니다.

자바스크립트:

lazy.prop(o, 'pubkey', () => {
if (!a.output) return;
return a.output.slice(1, -1); // публ. ключ извлекается напрямую
});

바로 이 부분이 공개 키를 모든 관찰자에게 노출시켜 양자 공격의 취약점을 만듭니다.  onesafe+1

위협의 결과 및 중요성

  • 사토시 나카모토의 코인을 포함하여 취약한 P2PK 출력물에 400만 BTC 이상이 저장되어 있는 것으로 추정됩니다.  sciencedirect+1
  • 이 위협은 오래된 도구뿐만 아니라 공개 키 유출 오류를 반복하는 모든 코드에도 영향을 미칠 것입니다.

안전한 해결 방법: P2PKH로 마이그레이션하세요

P2PKH 원리

안전한 대체 형식인   Pay-to-Public-Key-Hash(P2PKH)   는 공개 키 자체가 아닌 공개 키의 해시 값을 저장합니다.

텍스트

OP_DUP OP_HASH160 <pubkey_hash> OP_EQUALVERIFY OP_CHECKSIG

모든 암호화 작업은 해시 함수를 통해 수행되며, 양자 공격은 이에 대해 훨씬 덜 효과적입니다. 공개 키는 사용될 때만 노출되며 서명 유효성 검사에 사용되므로 노출 시간을 최소화합니다.  academy.binance+2

안전 코드 옵션

원래 취약점(P2PK):

자바스크립트:

return bscript.compile([a.pubkey, OPS.OP_CHECKSIG]);

고정 보안 변형(P2PKH):

자바스크립트:

return bscript.compile([
OPS.OP_DUP,
OPS.OP_HASH160,
bitcoin.crypto.hash160(a.pubkey), // хешируем публичный ключ
OPS.OP_EQUALVERIFY,
OPS.OP_CHECKSIG
]);

이 코드는 공개 키의 해시값에만 의존하는 출력을 생성하므로, 사용될 때까지 공개 키를 숨깁니다.  unchained+1

P2PKH로 마이그레이션할 때의 장점

  • 공개 키 노출 가능성이 크게 줄어들었습니다.
  • 양자 공격에 대한 저항력이 향상되었습니다.
  • 모든 비트코인 ​​지갑 및 인프라와 호환됩니다.

다음 단계 및 권장 사항

  • 자금 이체:   취약한 주소의 소유자는 모든 자금을 안전한 주소(P2PKH, P2WPKH, P2TR)로 이체(이동)해야 합니다.
  • 소프트웨어 업데이트:   새로운 거래에서 P2PK 출력을 사용하지 마십시오. 공개 키를 직접 저장하는 것을 피하십시오.
  • 양자 후 암호화로의 전환:   양자 내성 알고리즘 기반 솔루션 테스트 시작  arxiv+1

결론

P2PK 취약점은 비트코인 ​​공개키의 조기 노출과 관련된 역사적인 비트코인 ​​암호화 위험입니다. 안전한 해결책은 공개키가 사용될 때까지 숨겨지도록 보장하는 P2PKH 또는 더욱 최신의 양자 컴퓨팅 방어형 포맷으로 완전히 마이그레이션하는 것입니다. 최신 스크립팅 표준을 준수하는 것은 모든 암호화폐 솔루션의 기본 보안 요구 사항입니다.


최종 과학적 결론

검토 중인 P2PK(Pay-to-Public-Key) 구조의 심각한 취약성은 전체 비트코인 ​​생태계에 근본적인 보안 문제를 야기합니다. 블록체인 상에 공개 키가 직접 노출되면 이러한 주소는 차세대 공격의 표적이 되기 쉽습니다. 쇼어 알고리즘을 구현하는 양자 컴퓨팅의 등장으로 공개 키로부터 개인 키를 계산하는 것이 가능해지며, 공격자는 이러한 취약한 주소에 있는 모든 자금을 즉시 탈취할 수 있습니다. 양자 키 복구 공격(Quantum Key Recovery Attack on ECDSA Public Keys) 또는 양자 ECDSA 공격으로 알려진 이 공격은 초기 네트워크 참여자들의 과거 코인을 포함하여 전체 비트코인 ​​공급량의 수십 퍼센트에 달하는 비트코인에 전례 없는 위협을 가합니다. 더욱 심각한 것은 이 공격이 “지금 수집하고 나중에 복호화하는” 시나리오에 따라 실행될 수 있다는 점입니다. 공격자는 현재 대량의 공개 키를 수집하여 미래에 양자 컴퓨팅 기술을 이용해 취약한 모든 코인을 대규모로 공격할 수 있습니다.

따라서 가장 중요한 결론은 다음과 같습니다. 자금과 인프라가 향후 몇 년 안에 양자 내성 주소 형식으로 이전되고 보안 표준이 구현되지 않는 한, P2PK의 심각한 취약성과 양자 기술의 기하급수적 성장이 결합되어 대규모의 돌이킬 수 없는 자본 도난을 통해 비트코인 ​​화폐 생태계가 즉시 재부팅될 수 있으며, 이는 잊혀진 자금에만 영향을 미치는 것이 아니라 암호화 보안의 근본적인 기반에 대한 신뢰를 훼손할 것입니다.  sciencedirect+3


비공개: 84bitcoinjs-lib/blob/feat/logo-add/src/payments/embed.js
비트코인 p2data 함수의 암호화 취약점 연구 계획

심각한 취약성 유형

프로토타입 오염

비트코인 인프라용 자바스크립트 라이브러리의 취약점은 암호화폐 생태계에 가장 위험하고 파괴적인 위협 중 하나입니다. 이 취약점을 악용하면 공격자는 객체 프로토타입을 조작하여 애플리케이션의 모든 객체에 악의적인 속성을 삽입하고, 데이터 검증 시스템을 우회하고, 핵심 비즈니스 로직을 변경할 수 있으며, 경우에 따라서는 개인 키와 사용자 자금에 무단으로 접근하거나, 원격 코드 실행을 시작하거나, 대규모 자산 차단을 초래할 수도 있습니다.


심각한 위협 프로토타입 오염: 위험한 공격이 비트코인 ​​암호화폐의 보안을 파괴하는 방식


연구 논문: 자바스크립트 라이브러리 취약점을 통한 프로토타입 오염이 비트코인 ​​보안에 미치는 영향

주석

bitcoinjs-lib과 같은 자바스크립트 라이브러리는 현대 암호화폐 지갑 생태계에서 널리 사용됩니다. 본 논문에서는 프로토타입 오염이라는 심각한 취약점에 대해 논하고, 그 과학적 및 실제적 정의, 비트코인 ​​보안에 미치는 영향, 그리고 시스템의 암호화 보장을 훼손하기 위한 악용 가능성에 대해 살펴봅니다.

취약성의 과학적 정의

프로토타입 오염은 동적 언어(특히 JavaScript)에 특화된 취약점 유형으로, 공격자가 Object.prototype 프로토타입을 전역적으로 수정하여 애플리케이션 내 모든 객체의 프로토타입 체인에 악성 속성을 주입할 수 있도록 합니다. 이러한 공격은 여러 보안 연구 및 CWE 목록(CWE-1321)에서 해당 용어로 알려져 있습니다.  cve+3

비트코인 지갑의 맥락에서, 이 취약점은 사용자 객체와 내부 객체를 부주의하게 병합하는 경우(예: 필드 화이트리스트 없이 Object.assign을 사용하는 경우)에 악용됩니다. 이로 인해   사용자 객체에 proto  , 생성자 또는 프로토타입 키가 포함될 수 있습니다. 이 공격은 인증, 직렬화/역직렬화 규칙을 우회하고 최악의 경우 원격 코드 실행으로 이어질 수 있습니다.  habr+2

학명 및 CVE 번호

  • 공격 유형  : 프로토타입 오염 공격
  • 과학적 분류  : 프로토타입 오염물질(CWE-1321)
  • CVE의 유사 사례  : bitcoinjs-lib 및 유사한 JS 라이브러리의 경우, 이와 같은 유형의 취약점이 주기적으로 등록됩니다(예: lodash의 CVE-2018-3721, protobufjs의 CVE-2023-36665, ejs의 CVE-2024-33883, superjson의 CVE-2022-23631).  code-intelligence+3
  • 공격 유형  : 원격 코드 실행(RCE), 임의 상태 조작, 유효성 검사/인증 우회

비트코인에 대한 실질적인 영향

bitcoinjs-lib을 사용하는 지갑, 서비스 또는 결제 시스템에서 프로토타입 오염이 악용될 경우 다음과 같은 공격 벡터가 발생합니다.

  • 원격 코드 또는 논리 조작  : 스크립트 작동 방식 수정, 거래 생성 또는 서명, 내부 검사 우회 등을 통해 공격자가 사용자를 대신하여 거래에 서명/생성할 수 있습니다.
  • 사기성 이체, 자금 손실  : 악의적인 자산 주입은 수신자 주소, 금액, 서명 조건 검증 원칙을 위반하여 암호화폐 도난으로 이어질 수 있습니다.
  • DoS 공격 및 자금 동결  : 공격자는 프로토타입을 수정하여 출금을 차단하거나 코인을 영구적으로 동결하는 잘못된 출력 스크립트를 생성할 수 있습니다.

일반적인 공격 시나리오에서 공격자는 신중하게 선택한 객체(예: )를 서비스에 입력한   {__proto__: {validate: false}}후, p2data 함수(또는 유사한 함수)의 내부 보안 검사가 모든 새로운 객체에 대해 실패하게 되며, 여기에는 귀중한 자금이 포함된 거래도 포함됩니다.  portswigger+1

비트코인 생태계의 복잡성과 중요성

비트코인 지갑에서 프로토타입 오염에 노출되는 수준은 두 가지 요인 때문에 매우 중요합니다.

  • 동적 자바스크립트 코드에서 데이터 객체의 소스/구조에 대한 제어 부족;
  • Object.global 프로토타입이 수정될 경우 악성 로직이 모든 작업 및 사용자에게 광범위하게 확산될 가능성이 있습니다.

이러한 유형의 취약점은 지갑 보안을 완전히 무너뜨릴 수 있으며, 취약한 서비스를 통해 운영되는 사용자 지갑에서 대량의 비트코인이 도난당할 가능성을 높입니다.

이 범주에 속하는 알려진 CVE의 예

현재 bitcoinjs-lib 라이브러리 자체에 대해 등록된 개별 CVE는 없지만, 이 패턴의 영향을 받는 코드는 CWE-1321 및 유사한 알려진 CVE의 기준을 완전히 충족합니다.  cve+2

과학적 결론 및 권고사항

프로토타입 오염은 암호화폐 지갑의 소프트웨어 구성 요소에 대한 가장 위험한 공격 유형 중 하나입니다. 이러한 취약점을 방지하려면 다음 사항을 고려해야 합니다.

  • 키 목록(화이트리스트)을 사용하여 입력 매개변수를 필터링합니다.
  • 사용자 정의 개체에 Object.assign 또는 이와 유사한 연산을 직접 사용하지 마십시오.
  • 프로토타입  , 생성자, 프로토타입 처리를 제외합니다   .
  • 정기적으로 코드를 감사하고 라이브러리를 최신 버전으로 업데이트하세요.

프로토타입 오염 취약성은 개인 키 관리, 분산 서명의 핵심 논리를 훼손하고 악용 과정에서 필연적으로 자산 손실을 초래할 가능성이 있기 때문에 매우 심각합니다.  miggo+3

공격 유형:   프로토타입 오염(CWE-1321)
국제 분류:   CVE-2018-3721, CVE-2023-36665, CVE-2024-33883, CVE-2022-23631 (라이브러리에 따라 다름).  sonarsource+2

비트코인에 미치는 영향:   지갑 보안 침해, 개인 키 유출, 검증 로직 우회, 자금 도난 또는 동결, 원격 코드 실행(RCE).


암호화 취약점

p2data 코드의 암호화 취약점 분석

안녕하세요! bitcoinjs-lib 라이브러리에서 제공된 함수 코드를 자세히 분석한 결과   p2data , 몇 가지 잠재적인 암호화 취약점과 보안 문제가 발견되었습니다. 자세한 분석 내용은 다음과 같습니다.

심각한 취약점

20번째 줄: Object.assign을 통한 프로토타입 오염

자바스크립트:

opts = Object.assign({ validate: true }, opts || {});

개인 키 유출 위험  : 이 문자열은 프로토타입 오염 공격에 취약합니다. 공격자는   opts특수하게 조작된 객체를 키와 함께 전달하여   __proto__프로토타입 Object.prototype을 오염시킬 수 있습니다. 비트코인 ​​거래 맥락에서 이는  코드 인텔리전스+2 로 이어질 수 있습니다.

  • 데이터 유효성 검사 로직 변경
  • 보안 검사 우회
  • 암호화 정보 유출 가능성
비공개: 84bitcoinjs-lib/blob/feat/logo-add/src/payments/embed.js
https://github.com/keyhunters/bitcoinjs-lib/blob/feat/logo-add/src/payments/embed.js

35번째 줄: 안전하지 않은 데이터 연결

자바스크립트:

return bscript.compile([OPS.OP_RETURN].concat(a.data));

데이터 유출 위험  : 사전 검증 없이 배열을 연결하면   a.data 악성 데이터가 비트코인 ​​스크립트에 삽입될 수 있습니다. OP_RETURN은 임의의 데이터를 비트코인 ​​블록체인에 삽입할 수 있도록 허용하므로, 제어되지 않은 연결은  포크로그(forklog)를 생성할 수 있습니다.

  • 거래에 악성 코드를 삽입하는 행위
  • 거래 데이터 조작
  • 이러한 데이터를 처리하는 지갑에 대한 잠재적 공격
비공개: 84bitcoinjs-lib/blob/feat/logo-add/src/payments/embed.js

39번째 줄: 길이 유효성 검사 없이 역컴파일

자바스크립트:

return bscript.decompile(a.output).slice(1);

버퍼 오버플로우 위험  : 함수가   bscript.decompile() 길이가 정의되지 않은 배열을 반환할 수 있으며, 해당 메서드는   slice(1) 확인 없이 실행됩니다. 이는 잠재적으로 위험합니다. (  ledgerjournal 참조)

  • 아웃 오브 바운드로 이어질 수 있습니다.
  • DoS 공격의 기회를 만들어냅니다.
  • 암호화 작업의 맥락에서 볼 때, 이는 잘못된 데이터 처리로 이어질 수 있습니다.

48번째 줄: 스택 비교 시 타이밍 공격

자바스크립트:

if (a.data && !(0, types_1.stacksEqual)(a.data, o.data))

암호화 정보 유출 위험  : 이 함수는   stacksEqual 특히 암호화 데이터를 비교할 때 타이밍 공격에 취약할 수 있습니다. 비트코인의 경우, 이는  파이어블록(fireblocks) 때문에 매우 중요합니다.

  • 비교 시점은 데이터 내용에 대한 정보를 드러낼 수 있습니다.
  • 개인 키의 일부를 복구하는 데 사용할 수 있습니다.
  • 정보 유출을 위한 우회 경로를 만듭니다.

52번째 줄: Object.assign 재사용

자바스크립트:

return Object.assign(o, a);

결과 객체 오염 위험  : 두 번째 사용 사례는   Object.assign 공격자가 반환된 객체를 조작할 수 있는 프로토타입 오염의 추가적인 기회를 제공합니다.  코드 인텔리전스

33행과 37행: 지연 속성

자바스크립트:

lazy.prop(o, 'output', () => { ... });
lazy.prop(o, 'data', () => { ... });

제어되지 않는 실행 위험  : 지연 평가 속성은 특히  sentinelone과 같은 경우 동적으로 평가될 때 취약점을 생성할 수 있습니다.

  • 함수는 제어할 수 없는 시점에 호출됩니다.
  • 실행 컨텍스트가 손상되었을 수 있습니다.
  • 멀티스레드 접근 시 경쟁 조건이 발생할 수 있습니다.

역사적 맥락

bitcoinjs-lib 라이브러리는 심각한 암호화 취약점 이력이 있다는 점에 유의해야 합니다. 특히, Randstorm 취약점(CVE-2023-33242)은 의사 난수 생성 문제로 인해 2011년에서 2015년 사이에 생성된 지갑에 영향을 미쳤습니다. 현재 코드는 키 생성과 직접적인 관련은 없지만, 아키텍처적인 보안 문제가 여전히 존재할 수 있습니다.  investing+1

문제 해결을 위한 권장 사항

  1. Object.assign을   더 안전한 대안으로 바꾸세요.
  2.   모든 수신 데이터에 유효성 검사를 추가합니다.
  3.   암호화 데이터에는 상수 시간 비교를 사용하십시오.
  4.   처리되는 데이터 의 크기를 제한하십시오.
  5.   모든 종속성에 대한 취약점을 감사합니다.

가장 중요한 라인은   20, 35, 39, 48, 52번째  라인으로, 이 라인들은 비트코인 ​​거래의 암호화 보안에 대한 직접적인 공격 경로를 제공합니다.


보정

연구 논문: p2data 비트코인 ​​스크립트 구현 시 발생하는 암호화 취약점 및 이를 제거하는 확실한 방법

소개

최신 암호화 소프트웨어 라이브러리에서 취약점 보호는 키, 거래 및 사용자 자산의 보안을 보장하는 데 필수적입니다. 이러한 취약점 중 하나는 데이터 배열을 사용한 객체 및 연산의 잘못된 처리로, 개인 키 또는 거래 무결성이 손상될 수 있습니다. 이 글에서는 bitcoinjs-lib 라이브러리의 p2data 함수에서 발견되는 이러한 취약점의 예시와 오류의 특성, 그리고 안전하고 신뢰할 수 있는 해결책을 제시합니다.

취약점의 특성: 소스 코드 분석

p2data 함수의 원래 구현에는 다음과 같은 몇 가지 문제점이 있습니다.

  • 유사한 객체 병합 패턴을 이용하면   Object.assign(o, a) 공격자는 프로토타입 오염을 유발할 수 있습니다. 키가 포함된 객체가 전송될 때   __proto__ 전역 프로토타입이 수정되어 시스템 객체를 포함한 모든 JavaScript 객체의 속성이 변경됩니다. 이는 유효성 검사 로직을 우회하고 키 정보 및 지갑 로직을 더욱 손상시키는 공격으로 이어지는 직접적인 공격 경로입니다.  github+1
  • 타이밍에 취약한 함수를 사용하여 데이터 배열을 비교하고, 응답 시간 차이를 식별하는 이진 배열 비교를 통해 누설 측 채널( LSC) 을 탐지하는 데 활용할 수 있습니다. 
  • 입력 제어가 제대로 이루어지지 않은 상태에서 지연 평가(lazy.prop)를 사용하면 속성 접근 시 함수를 동적으로 실행하여 예측할 수 없는 오류가 발생하고 공격에 취약한 진입점이 생길 수 있습니다.

취약점은 어떻게 발생하는가(공격 메커니즘)?

  1. 공격자는 특정 유형의 입력 객체를 준비하고   {__proto__: {admin: true}} 이를 함수에 전달합니다   Object.assign. 이렇게 하면 중요한 유효성 검사 및 데이터 저장 시스템을 포함하여 실행 시스템 전체의 객체 프로토타입이 변경됩니다.  portswigger+2
  2. 사용자가 수정된 환경과 상호 작용하면 공정한 유효성 검사 로직이 더 이상 작동하지 않게 됩니다. 예를 들어, 검증 옵션이 비활성화되거나 잘못된 데이터가 유효성 검사를 통과하게 됩니다.
  3. 지갑이 외부 스크립트(예: 타사에서 제공하는 OP_RETURN 출력)를 처리하는 경우, 이러한 데이터가 제어되지 않고 연결되면 잘못되었거나 악의적인 데이터가 주입될 수 있으며, 이 데이터는 개인 키로 서명될 수 있습니다.
  4. 비상수 알고리즘을 사용하는 취약한 스택 비교는 공격자가 응답 시간을 기반으로 데이터를 추측할 수 있도록 허용하며, 이는 특히 서명 검증에 매우 위험합니다  .

믿을 수 있는 해결책

간략한 권장 사항

  • 사용자 객체와 구성 객체를 병합하는 데 사용하지 마십시오   Object.assign . 허용된 필드만 안전하게 복사하는 방식을 사용하는 것이 좋습니다.
  •  들어오는 객체에 __proto__,   constructor,   형식의 키를 허용하지 마십시오   .prototype
  • 모든 데이터 구조는 사용하기 전에 반드시 유효성을 검사해야 합니다.
  • 배열과 버퍼를 중요한 부분에서 비교할 때는 상수 시간 알고리즘을 사용하십시오.
  • 외부 데이터에 대해 동적 getter/setter(지연 응답 속성)를 사용하지 마십시오.

p2data의 안전한 구현

자바스크립트:

function secureMerge(target, source, allowedKeys) {
for (const key of allowedKeys) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
if (
key !== '__proto__' &&
key !== 'prototype' &&
key !== 'constructor'
) {
target[key] = source[key];
}
}
}
return target;
}

function constantTimeEqual(buf1, buf2) {
if (buf1.length !== buf2.length) return false;
let result = 0;
for (let i = 0; i < buf1.length; i++) {
result |= buf1[i] ^ buf2[i];
}
return result === 0;
}

// Безопасная версия p2data:
function p2data_secure(a, opts) {
if (!a.data && !a.output) throw new TypeError('Not enough data');
opts = secureMerge({validate: true}, opts || {}, ['validate']);
// ... (продолжается аналогично, все операции только с whitelisted полями)
// Вместо Object.assign(o, a): только разрешённые поля
const allowedKeys = ['network', 'output', 'data'];
const o = secureMerge({name: 'embed', network: a.network || networks_1.bitcoin}, a, allowedKeys);

Object.defineProperty(o, 'output', {
get() {
if (!a.data) return;
// строгая валидация данных перед компиляцией!
if (!Array.isArray(a.data) || !a.data.every(Buffer.isBuffer)) {
throw new TypeError('Invalid data');
}
return bscript.compile([OPS.OP_RETURN].concat(a.data));
},
enumerable: true,
});

Object.defineProperty(o, 'data', {
get() {
if (!a.output) return;
const chunks = bscript.decompile(a.output);
if (chunks !== OPS.OP_RETURN)
throw new TypeError('Invalid output: not OP_RETURN');
// строгий контроль размеров и типов
return chunks.slice(1).filter(Buffer.isBuffer);
},
enumerable: true,
});

// Безопасное сравнение
if (opts.validate) {
if (a.output) {
const chunks = bscript.decompile(a.output);
if (chunks !== OPS.OP_RETURN) throw new TypeError('Output is invalid');
if (!chunks.slice(1).every(Buffer.isBuffer)) throw new TypeError('Output is invalid');
if (
a.data &&
!constantTimeEqual(
Buffer.concat(a.data),
Buffer.concat(o.data)
)
)
throw new TypeError('Data mismatch');
}
}
return o;
}

이러한 접근 방식은 다음을 보장합니다.

  • 프로토타입 오염 및 사용자 물체를 통한 주입으로부터 보호
  • 모든 데이터에 대한 엄격한 표준 검증 및 필터링,
  • 측면 누출 채널을 차단하는 정시간 모드에서만 어레이를 비교합니다.
  • 취약한 동적 getter/setter의 부재.

향후 공격을 방지하기 위한 솔루션

  • 정적 및 동적 코드 감사 구현 (예: eslint + 특수 플러그인).  attacksafe+1
  • 핵심 구성 요소에 대해서는 허용된 데이터만 사용하도록 제한합니다.
  • 사용하는 라이브러리를 지속적으로 업데이트하고 새 릴리스에서 CVE를 감사합니다.
  • 최신 언어 도구 활용:   Object.assign 플랫폼에서 허용하는 경우 객체 스프레드 대신 객체 스프레드를 사용하거나 수동 필드 필터링을 사용합니다.  eslint+1
  • 사용자 데이터와 기술 데이터를 유형 및 스키마 수준에서 구분합니다.

결론

암호화 보안은 복잡한 수학뿐 아니라 엄격한 엔지니어링 설계 규칙을 준수하는 것도 중요합니다. p2data 함수에서 볼 수 있듯이, 객체 처리에 있어 아주 작은 부주의조차도 전체 암호화 인프라에 치명적인 결과를 초래할 수 있습니다. 2025년에는 안전하고 엄격하게 통제된 입력 처리 방식, 상수 시간 알고리즘, 그리고 화이트리스트 사용이 암호화 소프트웨어의 필수 요소가 될 것입니다.  github+3


최종 과학적 결론

비트코인 인프라용 자바스크립트 라이브러리에서 발견된 심각한 프로토타입 오염  취약점은 암호화폐 생태계에 가장 위험하고 파괴적인 위협 중 하나입니다. 이 취약점을 악용하면 공격자는 객체의 프로토타입을 조작하여 애플리케이션의 모든 객체에 악의적인 속성을 삽입하고, 데이터 검증 시스템을 우회하고, 핵심 비즈니스 로직을 변경할 수 있습니다. 또한, 경우에 따라 개인 키와 사용자 자금에 무단으로 접근하거나, 원격 코드 실행을 시작하거나, 대규모 자산 차단을 초래할 수도 있습니다.

비트코인 암호화폐 환경에서 이러한 공격은 거래 및 지갑에 대한 완전한 통제력 상실, 사용자 자금의 대규모 유출, 접근 규칙 우회, 위조 또는 오류 서명을 통한 자산 탈취로 이어질 수 있습니다. 프로토타입 공격은 전체 실행 환경을 감염시키기 때문에 위험합니다. 변조된 프로토타입 하나만으로도 모든 애플리케이션 수준과 취약한 코드와 연결된 모든 지갑의 보안이 파괴될 수 있습니다.

과학적 기준으로   프로토타입 오염 공격(CWE-1321) 으로 분류   되고 다른 라이브러리의 CVE 번호로 등록된 이 취약점은 암호화폐의 금융 핵심에 대한 직접적이고 강력한 공격 벡터입니다.

결론:   엄격한 보안 코딩 원칙 준수, 화이트리스트, 데이터 필터링 및 지속적인 감사만이 전 세계 사용자 및 서비스에 치명적인 결과를 초래할 수 있는 근본적인 위험으로부터 비트코인을 보호할 수 있습니다. 디지털 자산 시대에 이러한 취약점은 단순한 버그가 아니라 전체 암호화 생태계의 무결성을 위협하는 요소이며, 최대한의 주의를 기울이고 즉시 제거해야 합니다.  usenix+4


85bitcoinjs-lib/blob/feat/logo-add/src/payments/p2ms.js

거래 유연성

OP_CHECKMULTISIG 연산자의 취약점이 매우 중요한 이유는 비트코인 ​​프로토콜에서 가장 악랄하고 파괴적인 공격 중 하나인 거래 변조 공격(공식 명칭은 디지털 서명 위조 공격, CVE-2025-29774)을 가능하게 했기 때문입니다. 다중 서명 스크립트에서 더미 요소를 잘못 처리함으로써 공격자는 개인 키에 접근하지 않고도 동일한 거래의 겉보기에는 합법적이지만 실제와 똑같은 대체 버전을 생성할 수 있었습니다.


OP_CHECKMULTISIG 취약점 및 트랜잭션 변조 공격: 비트코인 ​​보안에 대한 위험한 암호화 문제


연구 논문: 심각한 취약점 OP_CHECKMULTISIG가 비트코인 ​​암호화폐 보안에 미치는 영향

소개

비트코인 암호화폐는 엄격한 디지털 서명 검증 메커니즘(ECDSA)을 기반으로 하며, 이는 거래의 진위성과 인증을 보장합니다. 비트코인 ​​스크립트의 기본 구성 요소 중 하나는 OP_CHECKMULTISIG 연산자를 통해 구현되는 다중 서명(multisig)입니다. 그러나 이 연산자 구현상의 과거 오류로 인해 전체 시스템의 보안을 위협하는 심각한 취약점이 발생했습니다.


취약성 발생 메커니즘

기술적인 이유

OP_CHECKMULTISIG는 M개의 서명과 N개의 공개 키를 제거하고 디지털 검증을 수행하도록 지정되었지만, 구현에 버그가 있습니다. 연산자가 스택에서 요소를 하나 더 제거하는 오류(오프바이원 버그)가 발생한 것입니다. 이를 해결하기 위해 개발자들은 scriptSig.bitcoin의 첫 번째 위치에 더미 요소를 도입했습니다.  엄격한
제한이 도입되기 전에는 이 요소가 OP_0과 같은지 확인하는 검사가 없었습니다.

공격 잠재력

공격자는 서명과 개인 키의 유효성을 침해하지 않고 더미 요소의 값을 변경하여 동일한 입력 및 출력 매개변수를 갖지만 식별자가 다른 새로운 유효한 트랜잭션을 얻을 수 있습니다(  ). 이러한 현상을 트랜잭션 변조 가능성txid 이라고 합니다     :  bips+1

  • 지갑과 거래소에서 관련 거래(자녀가 부모를 위해 결제하는 경우, 자동 결제 처리 등) 간의 연결이 끊어졌습니다.
  • 백인 거래소 사건은 공격자가 이 취약점을 악용하여 종속 거래 구조를 교체한 사례입니다.

공격 분류

공격의 과학적 명칭

  • 거래 변조 공격
  • 거래 가변성에 대한 공격

이러한 취약성은 다음과 같은 것들의 기반이 되었습니다:

  • 디지털 서명 위조 공격   (Digital Signature Forgery Attack)  pikabu+3

CVE 식별자

이 취약점에는 공식 식별자가 있습니다.

  • CVE-2025-29774   – 디지털 서명 위조 및 다중 서명 취약점과 관련된 취약점으로, 개인 키를 알지 못해도 유효한 RawTX를 생성할 수 있는 기능을 포함합니다.  github+4
  • 또한     SIGHASH_SINGLE 및 특정 멀티시그 핸들러를 통한 공격과 관련된 취약점 변종  인 CVE-2025-29775 도 언급되었습니다. keyhunters+2

공격 메커니즘 및 결과

  1. 더미 요소 수정  : 공격자는 입력 스크립트의 첫 번째 요소를 변경하여 동일한 거래의 새 버전을 생성합니다.
  2. 새로운 거래 ID를 얻는 것  : 이는 식별자의 예측 가능성과 하위 거래 처리 논리를 무너뜨려 기만적인 서비스가 판칠 수 있는 길을 열어줍니다.  bitcoin+1
  3. 서명 위조  : 특정 시나리오에서는 소유자의 개인 키 없이 유효한 스크립트 서명(RawTX)을 위조할 수 있으며, 이로 인해 무단 지출이 발생할 수 있습니다.  cryptodeeptech+3
  4. 멀티시그 지갑에 대한 위협  : 특수하게 설계된 체인은 시스템이 더미 요소의 정확성을 확인하지 않을 경우(NULLDUMMY 위반) 멀티시그 지갑에서 자금을 인출할 수 있습니다.

사례 및 취약성 분석

실제 공격에서의 악용

  • Copay 해킹, 2023  : 위조된 서명이 포함된 비표준 scriptSig를 사용하여 공격자는 표준 검사를 우회하고 승인 없이 UTXO를 출력할 수 있었습니다.  (keyhunters)
  • 거래소 및 서비스  : 유동성 문제로 인해 초기 버전의 지갑과 거래소에서 많은 자금이 손실되었습니다.  bits+1

보호를 위한 권장 사항

BIP-147

NULLDUMMY 규칙(BIP-147)의 도입으로  이 취약점의 변형 가능성이 완전히 제거되었습니다.

  • OP_0만   더미 요소  bips 로 사용
  • 다른 값을 사용하면 모든 노드에서 스크립트가 무효화됩니다.

현대적 관행

  • SegWit/Taproot 및 MuSig2로의 전환은 잠재적인 공격 표면을 최소화하기 위한 것입니다.
  • scriptSig의 NULLDUMMY 규정 준수 및 SIGHASH_SINGLE 취약점 악용 방지 여부를 감사하고 자동으로 확인합니다.

결론

OP_CHECKMULTISIG라는 심각한 취약점은 비트코인 ​​보안에 막대한 영향을 미쳐 거래 변조 공격은 물론 디지털 서명 위조까지 가능하게 했습니다. 이 취약점의 과학적 명칭은   거래 변조 공격   (또는   디지털 서명 위조 공격  )이며, CVE 데이터베이스에는   CVE-2025-29774   와   CVE-2025-29775 로 등록 되어 있습니다  . 
BIP-147의 도입과 현대적인 검증 방식 덕분에 이러한 유형의 공격을 막을 수 있었고, 다중 서명과 전체 비트코인 ​​생태계의 보안을 확보할 수 있었습니다.


85bitcoinjs-lib/blob/feat/logo-add/src/payments/p2ms.js
https://github.com/keyhunters/bitcoinjs-lib/blob/feat/logo-add/src/payments/p2ms.js

암호화 취약점

P2MS 코드의 암호화 취약점 분석

제시된 Pay-to-Multisig(P2MS)용 TypeScript/JavaScript 코드에는 비트코인에서 해당 연산 코드 구현과 관련된 기존의 암호화 취약점이 포함되어 있습니다   OP_CHECKMULTISIG .

주요 취약점: OP_CHECKMULTISIG의 오프셋 오류

암호화 취약점은     입력 스크립트가 처리되는 98~100번째 줄 에 있습니다.

자바스크립트:

lazy.prop(o, 'input', () => {
if (!a.signatures) return;
return bscript.compile([OPS.OP_0].concat(a.signatures)); // Строка 100 - уязвимость
});

취약성의 본질

이 줄에는 원래 비트코인 ​​코어 구현에서 알려진 오프코드(opcode)에 영향을 미치는 1의 오차를 수정하는 내용이 포함되어 있습니다   OP_CHECKMULTISIG. 해당 취약점은  developer.bitcoin+2 입니다.

  1. 역사적 오류  :   OP_CHECKMULTISIG 원래 구현에서 비트코인은 개발자가 필요로 하는 것보다 스택에서 한 요소를 더 소비합니다.  developer.bitcoin+2
  2. 더미 요소OP_0 : 이 오류를 수정하기 위해  서명 스크립트(scriptSig) 시작 부분에   더미 요소를 추가해야 합니다.   cryptodeeptech+2
  3. 공격 가능성  : BIP-147 이전에는 이 더미 요소가 임의의 값을 가질 수 있어 거래 변조 가능성에 대한 공격 벡터가 생성되었습니다(  bips+1).
85bitcoinjs-lib/blob/feat/logo-add/src/payments/p2ms.js
https://github.com/keyhunters/bitcoinjs-lib/blob/feat/logo-add/src/payments/p2ms.js

관련 보안 취약점

1. 거래 가변성에 대한 공격 (98-100행)

더미 요소에 대한 적절한 유효성 검사가 없으면 공격자는 다음과 같은 공격을 할 수 있습니다.

2. 서명 유효성 검사 문제 (26-32행)

해당 함수는   isAcceptableSignature 유효하지 않은 시그니처를 허용할 수 있습니다.

자바스크립트:

function isAcceptableSignature(x) {
return (
bscript.isCanonicalScriptSignature(x) ||
(opts.allowIncomplete && x === OPS.OP_0) !== undefined // Потенциальная уязвимость
);
}

이러한 논리로 인해 특정 조건에서 유효하지 않은 서명이 허용될 수 있습니다.

3. 공개 키 노출 위험 (67~85행)

멀티시그 스크립트는 본질적으로 모든 공개 키를 평문으로 노출하므로 다음과 같은 취약점을 갖습니다.

현대적 보호 조치

BIP-147 (NULLDUMMY)

BIP-147이 도입됨에 따라 더미 요소는     빈 바이트 배열  이어야 하므로OP_0 ( ), 변조 공격의 주요 경로가 제거되었습니다.  bips+1

안전 권고사항

  1. 더미 요소 유효성 검사  : 더미 요소가 동일하다는 것을 엄격하게 검증합니다. OP_0
  2. 최신 포맷 사용 : 블록스트림 보안  강화를 위해 P2WSH 또는 P2TR로 전환 
  3. 양자역학적 방어 솔루션  : MuSig 및 기타 최신  블록스트림 방식을 고려해 보세요.

따라서 코드의 주요 암호화 취약점은 100번째 줄에 집중되어 있으며, 여기서 입력 스크립트는 필요한 더미 요소로 구성되어   OP_0과거의 오류를 보정합니다   OP_CHECKMULTISIG.


보정

85bitcoinjs-lib/blob/feat/logo-add/src/payments/p2ms.js

연구 논문: 비트코인 ​​OP_CHECKMULTISIG 암호화 취약점 및 안전한 완화 방법

소개

비트코인에서 멀티시그는 주소에서 자금을 지출할 때 여러 개의 개인 키를 요구하여 자금 보안을 강화하는 데 널리 사용됩니다. 가장 인기 있는 방식 중 하나는 스크립트 연산자 `@Mof-N`을 통해 구현되는 M-of-N 멀티시그입니다   OP_CHECKMULTISIG. 그러나 이 연산자 구현상의 과거 버그로 인해 프로토콜의 트랜잭션 변조 공격 및 기타 보안 위협에 대한 복원력이 약화되는 심각한 취약점이 발생했습니다.  bitcoin+1


취약점 발생 상황에 대한 설명

OP_CHECKMULTISIG의 작동 방식

표준 P2MS(Pay-to-Multisig) 스크립트의 구조는 다음과 같습니다.

텍스트m <pubkey1> ... <pubkeyN> n OP_CHECKMULTISIG

이러한 방식으로 자금을 사용하려면 Sig 스크립트에 서명과 특수 더미 요소(스택에 있는 가상의 값)가 포함되어야 합니다.

텍스트OP_0 <signature1> ... <signatureM>

더미 요소는 원래 비트코인 ​​코어 구현의 버그 때문에 발생합니다. 해당 버그로 인해   OP_CHECKMULTISIG 스택에서 제거해야 할 요소보다 하나 더 많은 요소가 제거됩니다. 결과적으로 이 요소는 스크립트가 올바르게 작동하도록 “더미” 요소로 사용됩니다.  learnmeabitcoin+1

취약성의 본질

초기 구현에서는 더미 요소의 값을 어떤 방식으로도 검사하지 않았습니다. 임의의 바이트 값이 될 수 있었습니다. 이로 인해 거래 변조 가능성이 생겼습니다. 공격자는 서명과 키 자체는 변경하지 않고 더미 요소만 변경할 수 있었고,  결과적으로txid 개인 키에 접근하지 않고도 거래 식별자( )를 변경할 수 있었습니다. 

결과:

  • 서명 제어 우회.   동일한 서명을 사용하여 서로 다른 거래 ID(txid)를 가진 여러 유효한 거래를 생성할 수 있는 기능.
  • 거래 수명주기 전반에 걸쳐 혼란이 발생했습니다.   연계 거래, 자식 거래의 부모 거래 대금 지급 방식, 상호 의존적인 결제 체인 등이 마비되었습니다.
  • 서비스 공격.   거래소와 지갑은 거래 ID 치환 공격을 받아 거래 추적이 불가능해졌습니다.

견고한 수정: NULLDUMMY 규칙(BIP-147)

네트워크를 보호하고 위협을 제거하기 위해 합의 규칙 수정(BIP-147)이 구현되었습니다.

  • NULLDUMMY 요구 사항:   더미 요소로는 빈 바이트(OP_0) 이외의 다른 값을 사용하는 것이 엄격히 금지됩니다.
  • 이 규칙을 위반하면 스크립트가 즉시 무효화됩니다. 서명이 올바르더라도 모든 노드에서 거래가 거부됩니다.
  • 이 규칙은 SegWit 및 비 SegWit 멀티시그 스크립트 모두에 적용되었습니다.  비트코인

타입스크립트/자바스크립트로 구현한 안전한 검사 예시

자바스크립트:

function validateDummyElement(inputScript) {
// inputScript: Buffer со скриптом
const components = bscript.decompile(inputScript);
if (components.length === 0 || components !== OPS.OP_0) {
throw new Error('Invalid dummy element: must be OP_0');
}
// безопасно продолжаем обработку подписей
}

안전한 입력 스크립트 생성

자바스크립트function buildInputScript(signatures) {
  // Добавляет строго OP_0 в начало массива подписей
  return bscript.compile([OPS.OP_0, ...signatures]);
}

향후 공격을 방지하기 위한 최상의 보안 사례

  1. 필수 더미 요소 검사  : inputScript의 첫 번째 요소가 항상 OP_0(NULLDUMMY)인지 확인하십시오.
  2. 개발 중 다중 서명 스크립트 감사  : BIP-147을 지원하는 표준화된 구현만 사용하십시오.
  3. 최신 형식으로의 전환(SegWit, Taproot/MuSig2):
    • SegWit에서는 더미 요소 또한 빈 byte[]여야 하므로 변조 가능성이 더욱 최소화됩니다.
    • Taproot와 MuSig2는 모든 공개 키를 공개하지 않고도 다중 서명을 허용하며 공격 표면이 더 적습니다.
  4.  스택 전반에 걸쳐 예외 상황을 포함하여 진입 및 종료 시나리오의 정확성을 테스트합니다 .
  5. 검증된 다중 서명 기능을 갖춘 라이브러리   (예: bitcoinjs-lib, btclib)를 사용하십시오.

결론

OP_CHECKMULTISIG 연산자의 스택 처리에서 발생한 사소해 보이는 오류(오프바이원)가 비트코인 ​​보안의 가장 유명한 취약점 중 하나를 야기했습니다. 강력한 합의 메커니즘과 BIP-147의 즉각적인 구현 덕분에 변조 가능성이 제거되어 이 공격 경로가 영구적으로 차단되었습니다. 향후
안정성을 더욱 강화하기 위해서는 최신 표준을 준수하고 차세대 안전한 다중 서명 기술을 사용하는 것이 좋습니다.


최종 과학적 결론

OP_CHECKMULTISIG 연산자에서 발견된 취약점의 엄청난 중요성은 이 취약점이 비트코인 ​​프로토콜에 대한 가장 악랄하고 파괴적인 공격 중 하나인 거래 변조 공격(공식 번호 CVE-2025-29774인 디지털 서명 위조 공격이라고도 함)의 길을 열었다는 데 있습니다. 다중 서명 스크립트에서 더미 요소를 잘못 처리함으로써 공격자는 개인 키에 접근하지 않고도 동일한 거래의 겉보기에는 합법적이지만 실제로는 유효한 대체 버전을 생성할 수 있었습니다. 이 취약점은 블록체인의 명확성, 불변성 및 신뢰성 원칙을 훼손하고, 거래소에서의 자금 손실, 거래 추적 불가능성, 결제 체인 악용으로 이어졌습니다.  cryptodeeptech+4

역사적으로 OP_CHECKMULTISIG 버그는 사소해 보이는 구현 오류 하나가 세계에서 가장 유명한 암호화폐의 근본적인 보안 기반을 어떻게 손상시킬 수 있는지 보여주는 사례가 되었습니다. 과학적으로 검증된 스크립트 검증 프로토콜, 엄격한 표준(BIP-147 NULLDUMMY) 및 최신 보안 조치의 도입으로 비로소 이 치명적인 취약점을 해결할 수 있었습니다. 이 버그와의 싸움에서 얻은 경험은 암호학 및 블록체인 공학 교과서에 명확한 증거로 영원히 기록되었습니다. 즉, 탈중앙화 시스템의 세계에서는 아주 작은 결함이라도 전체 금융 생태계에 치명적인 결과를 초래할 수 있다는 것입니다.  bitcoin+4


  1. https://blog.bitmex.com/ru_ru-dapps-or-only-bitcoin-transactions-the-2014-debate/
  2. https://habr.com/ru/articles/817237/
  3. https://pikabu.ru/@CryptoDeepTech
  4. https://21ideas.org/epubs/grokaem-tekhnologiyu-bitcoin.pdf
  5. https://en.bitcoin.it/wiki/OP_CHECKMULTISIG
  6. https://polynonce.ru/sighash-single-attack/
  7. https://blog.sedicomm.com/2020/09/14/analitik-rasskazal-pravdu-ob-uyazvimosti-v-bitcoin-core-spetsialist-po-zashhite-informatsii-v-telecommunications-sistemah-i-setyah-tashkent/
  8. https://pikabu.ru/tag/YouTube%20(%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B0),%D0%90%D1%80%D0%B1%D0%B8%D1%82%D1%80%D0%B0%D0%B6%20%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B2%D0%B0%D0%BB%D1%8E%D1%82%D1%8B
  9. https://cryptodeeptech.ru/digital-signature-forgery-attack/
  10. https://forum.bits.media/index.php?%2Fblogs%2Fentry%2F3549-digital-signature-forgery-attack-%D0%BA%D0%B0%D0%BA-%D1%83%D1%8F%D0%B7%D0%B2%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8-cve-2025-29774-%D0%B8-%D0%B1%D0%B0%D0%B3-sighash_single-%D1%83%D0%B3%D1%80%D0%BE%D0%B6%D0%B0%D1%8E%D1%82-%D0%BC%D1%83%D0%BB %D1%8C%D1%82%D0%B8%D0%BF%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D0%BD%D1%8B%D0%BC-% D0%BA%D0%BE%D1%88%D0%B5%D0%BB%D1%8C%D0%BA%D0%B0%D0%BC-%D0%BC%D0%B5%D1%82%D 0%BE%D0%B4%D1%8B-%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8-%D1%81-% D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%BC%D0%B8-rawtx%2F
  11. https://pikabu.ru/story/kak_uyazvimosti_cve202529774_i_bag_sighash_single_ugrozhayut_multipodpisnyim_koshelkam_seti_bitkoin_s_poddelnyimi_rawtx_chast_3_12995204
  12. https://github.com/demining/디지털 서명 위조 공격
  13. https://keyhunters.ru/hidden-risks-of-multi-signature-bitcoin-wallets-analysis-of-copay-vulnerability-via-sighash_single-attack-digital-signature-forgery-attack-vulnerabilities-such-as-cve-2025-29774-and-cve-2025-29775/
  14. https://bips.dev/62/

과학적 출처


  1. https://en.bitcoin.it/wiki/OP_CHECKMULTISIG
  2. https://learnmeabitcoin.com/technical/script/p2ms/
  3. https://ftp.zhirov.kz/books/IT/Python/Python%20%D0%B4%D0%BB%D1%8F%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD %D0%B8%D1%8F%20%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B2%D0%B0%D0%BB%D1%8E% D1%82%20(%D0%94%D0%B6%D0%B8%D0%BC%D0%BC%D0%B8%20%D0%A1%D0%BE%D0%BD%D0%B3).pdf
  4. https://pikabu.ru/tag/YouTube,%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D1%8F
  5. https://21ideas.org/epubs/mastering-lightning-network.pdf
  6. https://21ideas.org/epubs/grokaem-tekhnologiyu-bitcoin.pdf
  7. https://pikabu.ru/tag/YouTube%20(%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B0),%D0%90%D1%80%D0%B1%D0%B8%D1%82%D1%80%D0%B0%D0%B6%20%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B2%D0%B0%D0%BB%D1%8E%D1%82%D1%8B
  8. https://bytwork.com/articles/multisig
  9. https://www.bitvault.sv/blog/bitcoin-multisig-setup-complete-security-guide
  10. https://veronicatee.hashnode.dev/multisignature-transactions-in-bitcoin-an-overview
  11. https://teletype.in/@menaskop/UTXO-smart-contracts
  12. https://bitcointalk.org/index.php?topic=38903.0
  13. https://habr.com/ru/companies/distributedlab/articles/415757/
  14. https://github.com/bitcoin/bips
  15. https://docs.f2c.dev/Oris_Lab/Blockchain_And_Decentralized_Systems_p2.pdf
  16. https://pkg.go.dev/github.com/btcsuite/btcd/txscript
  17. https://cryptonisation.com/crypto-wallets-with-multi-signature-multisig/
  18. https://bips.dev
  19. https://bcoin.io/guides/multisig-tx.html
  20. https://polynonce.ru/sighash-single-attack/
  1. https://developer.bitcoin.org/reference/transactions.html
  2. https://bips.dev/147/
  3. https://developer.bitcoin.org/devguide/contracts.html?highlight=script
  4. https://dimecore-docs.dimecoinnetwork.com/en/latest/docs/guide/transactions-standard-transactions.html
  5. https://cryptodeeptech.ru/digital-signature-forgery-attack/
  6. https://joncave.co.uk
  7. https://bips.dev/62/
  8. https://forklog.com/en/chaincode-labs-sizes-up-the-quantum-threat-to-bitcoin/
  9. https://blog.blockstream.com/the-risks-of-expressive-smart-contracts-lessons-from-the-latest-ethereum-hack/
  10. https://veronicatee.hashnode.dev/multisignature-transactions-in-bitcoin-an-overview
  11. https://www.blocktrainer.de/en/blog/die-stolperfallen-von-bitcoin-multisig-wallets
  12. https://en.bitcoin.it/wiki/OP_CHECKMULTISIG
  13. https://cointelegraph.com/explained/multisig-cold-wallets-how-secure-are-they-really
  14. https://www.soroushjp.com/2014/12/20/bitcoin-multisig-the-hard-way-understanding-raw-multisignature-bitcoin-transactions/
  15. https://learnmeabitcoin.com/technical/script/p2ms/
  16. https://www.uniblock.dev/blog/what-i-learned-about-hacking-multi-signature-wallets
  17. https://www.nervos.org/knowledge-base/what_is_OPCAT_(explainCKBot)
  18. https://www.totalsig.com/blog/how-multsig-wallet-works
  19. https://cryptorobotics.ai/news/hidden-vulnerabilities-multi-sig-cold-storage-crypto-exchanges/
  20. https://www.nccgroup.com/us/research-blog/a-brief-review-of-bitcoin-locking-scripts-and-ordinals/
  21. https://cronfa.swan.ac.uk/Record/cronfa60178/Download/60178__25491__cf880e484fd94516b2ef2fb9e21cc884.pdf
  22. https://www.cobo.com/post/the-bybit-breach-why-multi-sig-alone-isn-t-enough
  23. https://bitcointalk.org/index.php?topic=5510148.0
  24. https://x.com/alemaz98/status/1897553541142630716
  25. https://cantina.xyz/blog/a-guide-to-multi-sig-security-in-2025-from-simple-exploits-to-system-wide-compromises
  26. https://www.checksig.com/CheckSig-Bitcoin-Custody-Protocol-January-2023.pdf
  27. https://docs.bsvblockchain.org/bsv-academy/introduction-to-bitcoin-script/chapter-4-simple-scripts/04-pay-to-multisig-p2ms
  28. https://www.intelligenttechchannels.com/2025/03/06/how-bybits-multi-signature-crypto-wallet-was-compromised/
  29. https://pkg.go.dev/github.com/btcsuite/btcd/txscript
  30. https://github.com/demining/디지털 서명 위조 공격
  31. https://bitcointalk.org/index.php?topic=5271566.0
  32. https://en.bitcoin.it/wiki/약점
  33. https://forum.bits.media/index.php?%2Fblogs%2Fentry%2F3549-digital-signature-forgery-attack-%D0%BA%D0%B0%D0%BA-%D1%83%D1%8F%D0%B7%D0%B2%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8-cve-2025-29774-%D0%B8-%D0%B1%D0%B0%D0%B3-sighash_single-%D1%83%D0%B3%D1%80%D0%BE%D0%B6%D0%B0%D1%8E%D1%82-%D0%BC%D1%83%D0%BB %D1%8C%D1%82%D0%B8%D0%BF%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D0%BD%D1%8B%D0%BC-% D0%BA%D0%BE%D1%88%D0%B5%D0%BB%D1%8C%D0%BA%D0%B0%D0%BC-%D0%BC%D0%B5%D1%82%D 0%BE%D0%B4%D1%8B-%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8-%D1%81-% D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%BC%D0%B8-rawtx%2F
  34. https://papers.ssrn.com/sol3/Delivery.cfm/SSRN_ID3184130_code2090306.pdf?abstractid=3184130&mirid=1
  35. https://arxiv.org/pdf/2203.03054.pdf
  36. https://arxiv.org/pdf/1706.00916.pdf
  37. https://arxiv.org/html/2507.21085v1
  38. https://docs.bsvblockchain.org/network-topology/nodes/sv-node/chronicle-release
  39. https://en.bitcoin.it/wiki/Script
  40. https://developer.bitcoin.org/devguide/transactions.html?highlight=script
  41. https://academy.binance.com/en/articles/an-introduction-to-bitcoin-script
  42. https://docs.dash.org/tl/stable/docs/core/guide/transactions-transaction-malleability.html
  43. https://bitcointalk.org/index.php?topic=5262177.0
  44. https://en.bitcoin.it/wiki/BIP_0141
  45. https://chemaclass.com/blog/programmable-money/

과학적 출처


  1. https://en.bitcoin.it/wiki/OP_CHECKMULTISIG
  2. https://bips.dev/62/
  3. https://pikabu.ru/story/kak_uyazvimosti_cve202529774_i_bag_sighash_single_ugrozhayut_multipodpisnyim_koshelkam_seti_bitkoin_s_poddelnyimi_rawtx_chast_3_12995204
  4. https://github.com/demining/디지털 서명 위조 공격
  5. https://cryptodeeptech.ru/digital-signature-forgery-attack/
  6. https://forum.bits.media/index.php?%2Fblogs%2Fentry%2F3549-digital-signature-forgery-attack-%D0%BA%D0%B0%D0%BA-%D1%83%D1%8F%D0%B7%D0%B2%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8-cve-2025-29774-%D0%B8-%D0%B1%D0%B0%D0%B3-sighash_single-%D1%83%D0%B3%D1%80%D0%BE%D0%B6%D0%B0%D1%8E%D1%82-%D0%BC%D1%83%D0%BB %D1%8C%D1%82%D0%B8%D0%BF%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D0%BD%D1%8B%D0%BC-% D0%BA%D0%BE%D1%88%D0%B5%D0%BB%D1%8C%D0%BA%D0%B0%D0%BC-%D0%BC%D0%B5%D1%82%D 0%BE%D0%B4%D1%8B-%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8-%D1%81-% D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%BC%D0%B8-rawtx%2F
  7. https://keyhunters.ru/hidden-risks-of-multi-signature-bitcoin-wallets-analysis-of-copay-vulnerability-via-sighash_single-attack-digital-signature-forgery-attack-vulnerabilities-such-as-cve-2025-29774-and-cve-2025-29775/
  8. https://delvingbitcoin.org/t/cve-2024-38365-public-disclosure-btcd-findanddelete-bug/1184
  9. https://www.ibm.com/support/pages/node/7238739
  10. https://www.certora.com/blog/bybit-hack-multisig-wallet-security
  11. https://developer.bitcoin.org/devguide/transactions.html?highlight=signature
  12. https://www.zerodayinitiative.com/advisories/published/2023/
  13. https://www.fireblocks.com/blog/mpc-vs-multi-sig/
  14. http://bitcoinwiki.org/wiki/script
  15. https://launchpad.net/ubuntu/jammy/+source/linux/+changelog
  16. https://cryptorobotics.ai/news/hidden-vulnerabilities-multi-sig-cold-storage-crypto-exchanges/
  17. https://ledgerjournal.org/ojs/ledger/article/download/101/93/613
  18. https://cwe.mitre.org/data/definitions/347.html
  19. https://bugs.launchpad.net/bugs/2048183
  20. https://www.bitpay.com/blog/multisig-wallet-security
85bitcoinjs-lib/blob/feat/logo-add/src/payments/p2ms.js
  1. https://coinshares.com/no-en/insights/research-data/burning-quantum-vulnerable-coins-is-a-bad-idea/
  2. https://blog.lopp.net/against-quantum-recovery-of-bitcoin/
  3. https://www.sciencedirect.com/science/article/pii/S2590005621000138
  4. https://coinshares.com/it/insights/research-data/bitcoin-and-the-quantum-computing-risk/
  5. https://postquantum.com/post-quantum/quantum-cryptocurrencies-bitcoin/
  6. https://www.ledger.com/de/academy/crypto-and-quantum-computing

중요 링크:

  • 양자 컴퓨팅: 비트코인에 대한 위협인가?  (원세이프)
  • : 공개키 해시(P2PKH)  트레저
  • 양자 후 암호학의 응용  arXiv
  • SEALSQ의 양자 내성 기술은 비트코인의 잠재적인 양자 취약점을 해결합니다.  (thequantuminsider)
  • 비트코인 스크립트 소개  academy.binance
  • 비트코인 주소 유형 비교: P2PKH, P2SH, P2WPKH  언체인드
  1. https://thequantuminsider.com/2024/12/24/sealsq-quantum-resistant-technology-tackles-potential-bitcoins-quantum-vulnerabilities/
  2. https://www.onesafe.io/blog/quantum-computing-bitcoin-security
  3. https://academy.binance.com/da-DK/articles/an-introduction-to-bitcoin-script
  4. https://www.sciencedirect.com/science/article/pii/S2590005621000138
  5. https://trezor.io/learn/advanced/standards-proposals/pay-to-public-key-hash-p2pkh
  6. https://www.unchained.com/blog/bitcoin-address-types-compared
  7. https://arxiv.org/pdf/2406.13258.pdf
  8. https://www.enisa.europa.eu/news/enisa-news/post-quantum-cryptography-anticipating-threats-and-preparing-the-future
  9. https://bitcoincashresearch.org/t/post-quantum-cryptography/845/22
  10. https://archlending.com/blog/bitcoin-address-types
  11. https://github.com/andkom/php-bitcoin-address
  12. https://learnmeabitcoin.com/technical/script/p2pk/
  13. https://github.com/openblockchains/programming-bitcoin-script
  14. https://learnmeabitcoin.com/technical/script/p2pkh/
  15. https://bitcointalk.org/index.php?topic=2605402.0
  16. https://komodoplatform.com/en/academy/p2pk-pay-to-pubkey/
  17. https://mindweb.hashnode.dev/비트코인에서 스크립트 잠금 및 잠금 해제
  18. https://komodoplatform.com/en/academy/p2pkh-pay-to-pubkey-hash/
  19. https://learnmeabitcoin.com/technical/transaction/output/scriptpubkey/
  1. https://www.onesafe.io/blog/quantum-computing-bitcoin-security
  2. https://bitcoinmagazine.com/technical/quantum-computing-and-bitcoin-security
  3. https://coinshares.com/it/insights/research-data/bitcoin-and-the-quantum-computing-risk/
  4. https://www.ledger.com/de/academy/crypto-and-quantum-computing
  5. https://postquantum.com/post-quantum/quantum-cryptocurrencies-bitcoin/
  6. https://cointelegraph.com/news/quantum-computing-satoshi-bitcoin-vulnerability
  7. https://academy.binance.com/en/articles/an-introduction-to-bitcoin-script
  8. https://discovery.ucl.ac.uk/id/eprint/10063353/1/iacr.pdf
  9. https://www.reddit.com/r/crypto/comments/120uiop/does_publishing_a_public_key_lower_the_security/
  10. https://www.nccgroup.com/us/research-blog/a-brief-review-of-bitcoin-locking-scripts-and-ordinals/
  11. https://www.sealsq.com/investors/news-releases/sealsq-quantum-resistant-technology-tackles-potential-bitcoins-quantum-vulnerabilities
  12. https://forklog.com/en/chaincode-labs-sizes-up-the-quantum-threat-to-bitcoin/
  13. https://blog.lopp.net/against-quantum-recovery-of-bitcoin/
  14. https://learnmeabitcoin.com/technical/script/p2pk/
  15. https://www.certik.com/resources/blog/private-key-public-risk
  16. https://river.com/learn/terms/p/p2pk/
  17. https://komodoplatform.com/en/academy/p2pkh-pay-to-pubkey-hash/
  18. https://komodoplatform.com/en/academy/p2pk-pay-to-pubkey/
  19. https://trezor.io/learn/advanced/standards-proposals/pay-to-public-key-hash-p2pkh
  20. https://github.com/openblockchains/programming-bitcoin-script
  21. https://blog.coinshares.com/quantum-securing-bitcoin-really-isnt-that-hard-250d16157cb9
  22. https://bitcointalk.org/index.php?topic=5465605.0
  23. https://bglaw.eu/articles/is-your-bitcoin-wallet-safe-from-the-quantum-threat/
  24. https://docs.bsvblockchain.org/bsv-academy/introduction-to-bitcoin-script/chapter-4-simple-scripts/01-pay-to-public-key-p2pk
  25. https://www.fireblocks.com/blog/how-blockchains-will-evolve-for-the-quantum-era/
  26. https://coinshares.com/no-en/insights/research-data/burning-quantum-vulnerable-coins-is-a-bad-idea/
  27. https://www.sciencedirect.com/science/article/pii/S2590005621000138
  28. https://www.nadcab.com/blog/bitcoin-script
  29. https://forklog.com/en/quantum-computers-could-crack-bitcoin-in-five-years-scientist-warns/
  30. https://papers.ssrn.com/sol3/Delivery.cfm/5324094.pdf?abstractid=5324094&mirid=1

출처:

  1. https://coinshares.com/it/insights/research-data/bitcoin-and-the-quantum-computing-risk/
  2. https://www.fireblocks.com/blog/how-blockchains-will-evolve-for-the-quantum-era/
  3. https://cointelegraph.com/explained/why-a-hacker-turned-ceo-believes-quantum-tech-could-break-bitcoin
  4. https://www.sealsq.com/investors/news-releases/sealsq-quantum-resistant-technology-tackles-potential-bitcoins-quantum-vulnerabilities
  5. https://www.ledger.com/de/academy/crypto-and-quantum-computing
  6. https://www.sciencedirect.com/science/article/pii/S2590005621000138
  7. https://royalsocietypublishing.org/doi/10.1098/rsos.180410
  8. https://www.lrqa.com/en/cyber-labs/flaw-in-putty-p-521-ecdsa-signature-generation-leaks-ssh-private-keys/
  9. https://www.fireblocks.com/blog/lindell17-abort-vulnerability-technical-report/
  10. https://www.reddit.com/r/crypto/comments/1c54e1h/cve202431497_secret_key_recovery_of_nist_p521/
  11. https://forklog.com/en/chaincode-labs-sizes-up-the-quantum-threat-to-bitcoin/
  12. https://www.reddit.com/r/Buttcoin/comments/1mjtxrk/quantum_computing_and_cracking_bitcoinsignatures/
  13. https://www.enisa.europa.eu/news/enisa-news/post-quantum-cryptography-anticipating-threats-and-preparing-the-future
  14. https://arxiv.org/pdf/2406.13258.pdf
  15. https://komodoplatform.com/en/academy/p2pk-pay-to-pubkey/
  16. https://research.kudelskisecurity.com/2023/03/06/polynonce-a-tale-of-a-novel-ecdsa-attack-and-bitcoin-tears/
  17. https://www.reddit.com/r/CryptoCurrency/comments/r6o2vq/satoshis_1_million_bitcoin_will_be_hacked/
  18. https://polynonce.ru/analyzing-malleable-signatures-and-key-exposure-risks-in-bitcoins-ecdsa-protocol/
  19. https://jfrog.com/blog/cve-2022-21449-psychic-signatures-analyzing-the-new-java-crypto-vulnerability/
  20. https://github.com/topics/ecdsa-cryptography?l=html&o=asc
  21. https://www.sciencedirect.com/science/article/abs/pii/S0167739X17330030

코드의 40번째 줄은 return a.output.slice(1, -1);   공개 키 추출 지점으로, 비트코인에 사용되는 ECDSA 암호화에 대한 양자 공격의 직접적인 경로를 만듭니다.

이 도표는 왜 이 취약점이 암호화 커뮤니티와 비트코인 ​​프로토콜 개발자들의 즉각적인 관심을 필요로 하는지 명확하게 보여줍니다.

 암호해독

By