ECDSA 취약한 논스 공격 및 CSPRNG 주입 공격 – 치명적인 난수 생성기 취약점 및 개인 키 공격: 비트코인 ​​암호화폐에 대한 보안 위협

키헌터 작성 

위험한 ECDSA 논스 리플레이 공격: 비트코인 ​​난수 생성기의 심각한 취약점과 예방 방법  .  난수 생성기의 심각한 취약점 및 개인 키 공격: 비트코인 ​​암호화폐에 대한 보안 위협과 보호 방법  .


비트코인 JSON-RPC 클라이언트와 관련된 심각한 취약점은 대개 원격 프로시저 호출 및 인증 보안과 관련이 있습니다. 이러한 공격은 과학적 분류에서 다음과 같은 범주에 해당합니다.

  • 원격 코드 실행(RCE)
  • 접근 제어 오류,
  • 민감한 인증 데이터의 유출 또는 침해(자격 증명 노출).

특히, bitcoin-json-rpc-adapter 패키지에서 발견된 취약점은 라이브러리 내부에 악성 코드를 삽입하는 것으로 알려져 있으며, 이로 인해 서버 권한으로 제3자 코드가 실행될 수 있습니다. 이는 JSON-RPC 클라이언트 구성 요소에 대한 원격 코드 실행(RCE) 공격의 한 예입니다.

이러한 취약점에는 종종 공식적인 CVE(Common Vulnerabilities and Exposures) 식별자가 있습니다. 그러나 사용 가능한 데이터에는 bitcoin-json-rpc-adapter에 대한 특정 CVE 번호가 없습니다. 초기 검토 결과, 악성 코드를 오버레이하고 RPC를 공격하는 유사한 취약점이 다른 유사한 구성 요소에도 존재하며, 이는 CVE-2022-1585(bitcoin-json-rpc-adapter npm 라이브러리) 또는 이와 유사한 번호로 분류될 수 있습니다.  (vulert+1 )

과학 용어로 표현한 공격의 명칭

이러한 맥락에서 다음과 같은 표기법을 사용하는 것이 올바릅니다.

  • 원격 코드 실행(RCE)은 클라이언트 RPC 인터페이스의 취약점을 통해 임의 코드를 원격으로 실행하는 것입니다.
  • 자격 증명 유출 또는 노출 – RPC 자격 증명 유출.
  • 중간자 공격(MitM) – RPC 전송이 암호화 없이 이루어지는 경우.
  • 인젝션 공격 – 취약한 종속성을 통해 악성 코드를 삽입하고 실행하는 공격.

비트코인 보안에 대한 취약점의 영향

이러한 취약점을 악용하면 공격자는 다음과 같은 일을 할 수 있습니다.

  • 비트코인 노드를 완벽하게 제어하세요.
  • 승인되지 않은 거래를 실행하세요.
  • 개인 키 탈취,
  • 블록 기록을 수정합니다.
  • 소유자 몰래 지갑에서 자금을 인출하세요.

궁극적으로 이는 비트코인 ​​인프라와 암호화 자산의 보안에 심각한 위협을 가합니다.


특정 CVE 번호가 필요한 경우, NVD(nvd.nist.gov)와 같은 전문 CVE 데이터베이스 또는 사용 중인 라이브러리 플랫폼의 보안 권고 사항을 사용하여 라이브러리 버전과 관련 취약점을 검색하는 것이 좋습니다.


암호화 취약점

제시된 코드(비트코인 클라이언트용 Spring Boot 컨텍스트 구성 테스트)에서 빈 생성 및 연결 설정 테스트 코드 자체에는 명백한 암호화 취약점이 없습니다.

하지만 사용된 라이브러리 및 설정(예: org.tbk.bitcoin.jsonrpc) 수준에서 RPC 암호 및 키의 안전한 저장 및 전송에 취약점이 있을 수 있습니다. 이 테스트에서는 암호와 RPC 사용자를 문자열로 명시적으로 지정합니다.

자바:

.withPropertyValues(
...
"org.tbk.bitcoin.jsonrpc.rpcuser=test",
"org.tbk.bitcoin.jsonrpc.rpcpassword=test"
)

이처럼 비밀 정보를 명시적으로 하드코딩하는 것은 실제 환경에서 반복될 경우 다음과 같은 이유로 잠재적으로 위험할 수 있습니다.

  • 비밀번호는 설정 파일에 평문으로 저장됩니다.
  • 보안 채널(TLS)이 구성되지 않은 경우 RPC 액세스가 가로채일 수 있습니다.
  • 이러한 키를 보호하거나 주기적으로 변경하지 않으면 RPC 클라이언트가 손상될 수 있습니다.
52bitcoin-spring-boot-starter/blob/devel/bitcoin-regtest/bitcoin-regtest-autoconfigure/src/test/java/org/tbk/bitcoin/regtest/config/BitcoinRegtestAutoConfigurationTest.java
https://github.com/theborakompanioni/bitcoin-spring-boot-starter/blob/devel/bitcoin-regtest/bitcoin-regtest-autoconfigure/src/test/java/org/tbk/bitcoin/regtest/config/BitcoinRegtestAutoConfigurationTest.java

해당 암호화 취약점은 특정 테스트 문자열보다는 RPC 클라이언트의 잘못된 구성 및 사용과 관련이 있을 수 있습니다.

검색 결과에 따르면 bitcoin-json-rpc-adapter npm 패키지에서 심각한 취약점이 발견되었으며, 이 패키지가 사용될 경우 전체 시스템을 손상시킬 수 있는 악성 코드가 포함되어 있을 가능성이 있습니다. 만약 org.tbk.bitcoin.jsonrpc가 이 패키지 또는 유사한 패키지를 기반으로 한다면, 취약점은 사용자 테스트 코드가 아닌 라이브러리 자체에 있을 수 있습니다.

결과:

  • 제공된 자바 테스트 코드에는 명백한 암호화 취약점이 포함되어 있지 않습니다.
  • 취약점은 사용된 라이브러리(bitcoin-json-rpc-adapter) 및 RPC 암호 저장/전송 방식에서 발생할 수 있습니다.
  • 심각한 취약점은 검증되지 않았거나 손상된 버전의 json-rpc 클라이언트를 사용하는 것일 수 있습니다(예: bitcoin-json-rpc-adapter npm 패키지).  vulert+1

보정

아래는 비트코인 ​​JSON-RPC 클라이언트에서 취약점이 발생하는 원인, 해결 방법 및 보안 코드 예시, 그리고 향후 유사 공격 방지를 위한 권장 사항을 자세히 설명하는 연구 논문입니다.


ECDSA 취약한 논스 공격 및 CSPRNG 주입 공격 - 치명적인 난수 생성기 취약점 및 개인 키 공격: 비트코인 ​​암호화폐에 대한 보안 위협

Dockeyhunt 암호화폐 가격

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

사례 연구 개요 및 검증

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

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


ECDSA 취약한 논스 공격 및 CSPRNG 주입 공격 - 치명적인 난수 생성기 취약점 및 개인 키 공격: 비트코인 ​​암호화폐에 대한 보안 위협

www.seedkey.ru


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

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


ECDSA 취약한 논스 공격 및 CSPRNG 주입 공격 - 치명적인 난수 생성기 취약점 및 개인 키 공격: 비트코인 ​​암호화폐에 대한 보안 위협

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


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

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


ECDSA 취약한 논스 공격 및 CSPRNG 주입 공격 - 치명적인 난수 생성기 취약점 및 개인 키 공격: 비트코인 ​​암호화폐에 대한 보안 위협

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


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


0100000001b964c07b68fdcf5ce628ac0fffae45d49c4db5077fddfc4535a167c416d163ed000000008b483045022100a6f5426c4341ddd6134d894432c746cfb95b06689eeea5546c9863d7bbc6e6a2022051e26490fade349ffceded4927df48868f6265895412d123416c8cb56f3612f1014104da6f299662a7d7a0fde5eaba12005e8aa3ce5e156b4e170ec39507b5acb23ad0d0fa1cb299c5c1f0f0edbc0ccbfb6497725c25b0c6772d54f6defa606372d361ffffffff030000000000000000456a437777772e626974636f6c61622e72752f626974636f696e2d7472616e73616374696f6e205b57414c4c4554205245434f564552593a202420323435343438362e39315de8030000000000001976a914a0b0d60e5991578ed37cbda2b17d8b2ce23ab29588ac61320000000000001976a9148b03d333928ef9fc13f364debf0ed2705365506a88ac00000000

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


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

BingSec256k1: Secp256k1 취약점 공격 및 비트코인 ​​개인 키 복구를 위한 고급 암호 분석 도구

ECDSA 취약한 논스 공격 및 CSPRNG 주입 공격 - 치명적인 난수 생성기 취약점 및 개인 키 공격: 비트코인 ​​암호화폐에 대한 보안 위협
https://b8c.ru/BingSec256k1/

본 연구는 비트코인 ​​암호화폐에서 사용되는 secp256k1 타원 곡선 구현의 심각한 취약점을 악용하도록 특별히 설계된 고급 암호 분석 도구인 BingSec256k1 에 대한 종합적인 분석 을 제시합니다. 이 도구는 secp256k1 곡선 매개변수의 수학적 약점, ECDSA 논스 생성 취약점, 그리고 부적절한 키 검증 메커니즘을 이용하여 비트코인 ​​지갑에서 개인 키를 추출합니다. BingSec256k1은 CSPRNG 주입 공격, 취약한 논스 패턴, 그리고 타원 곡선 점 검증 결함을 체계적으로 악용함으로써 비트코인 ​​암호화 인프라의 구현 오류가 심각한 보안 문제를 야기함을 보여줍니다 .

소개

비트코인의 보안 아키텍처는 근본적으로 secp256k1 타원 곡선과 타원 곡선 디지털 서명 알고리즘(ECDSA)의 암호학적 강도에 의존합니다. 그러나 최근 암호 분석 연구에 따르면 secp256k1 구현에서 심각한 취약점이 발견되었으며, 이는 개인 키의 완전한 유출과 비트코인 ​​지갑에 대한 무단 접근으로 이어질 수 있습니다. BingSec256k1은 이러한 근본적인 약점을 악용하여 비트코인 ​​주소에서 개인 키를 복구하는 정교한 암호 분석 프레임워크입니다. (keyhunters+3 유튜브)

secp256k1 곡선은 수학적으로는 타당해 보이지만, 잘못된 매개변수 지정, 취약한 난수 생성, 그리고 불충분한 점 검증 메커니즘으로 인해 발생하는 구현상의 취약점을 가지고 있습니다. 이러한 취약점은 공격자가 타원 곡선 암호화의 이론적인 보안 보장을 우회할 수 있도록 하는 공격 경로를 제공합니다. keyhunters+2

BingSec256k1 아키텍처 및 심각한 취약점 악용

핵심 취약점 프레임워크

BingSec256k1은 secp256k1 구현의 특정 취약점을 표적으로 하는 다계층 취약점 악용 프레임워크를 통해 작동합니다. (arxiv+1 youtube)

타원 곡선 매개변수 악용: 이 도구는 타원 곡선 점들의 그룹을 정의하는 secp256k1 곡선 순서 상수 N의 잘못된 계산을 악용합니다. 구현에서 이 매개변수를 잘못 지정하면 유효 범위를 벗어난 개인 키가 생성됩니다. pikabu+2 youtube

ECDSA 논스 취약점 분석: BingSec256k1은 ECDSA 서명에서 논스 재사용, 취약한 논스 생성 및 예측 가능한 논스 패턴을 체계적으로 분석합니다. 이 도구는 Lenstra-Lenstra-Lovász(LLL) 방법을 사용하는 고급 격자 기반 알고리즘을 구현하여 여러 서명에서 동일한 논스가 사용될 때 개인 키를 복구합니다. github+4

CSPRNG 인젝션 공격: 이 프레임워크는 논스 생성에 사용되는 난수 생성기의 취약점을 대상으로 하며, 중요한 암호화 작업에 결정론적이거나 불충분하게 무작위적인 소스를 사용하는 구현을 악용합니다. keyhunters+2

공격의 수학적 기초

두 서명이 동일한 nonce 값을 공유하는 경우 BingSec256k1은 다음 수학적 관계를 사용하여 개인 키를 복구합니다: reddit+2

r 값이 같은 서명 (r, s₁)과 (r, s₂)이 주어졌을 때:

  • k = (H(m₁) – H(m₂)) / (s₁ – s₂) mod N
  • d = (s₁ · k – H(m₁)) / r mod N

여기서 k는 논스, d는 개인 키, H(m)은 메시지 해시, N은 곡선 차수를 나타냅니다. acm+2

편향된 논스(nonce)의 경우, BingSec256k1은 숨겨진 숫자 문제(HNP)를 해결하고 부분적인 논스 정보로부터 개인 키를 복구하기 위한 격자 축소 알고리즘을 구현합니다. arxiv+2

Secp256k1 구현상의 심각한 취약점

곡선 매개변수 및 검증 오류

잘못된 곡선 순서 계산: BingSec256k1은 곡선 순서 N이 잘못 계산되는 구현을 악용하여 ECDSA 유효성 검사에 실패하는 개인 키를 생성합니다. 연구에 따르면 잘못된 매개변수로 생성된 키의 약 50%가 무효화되어 키 복구에 악용될 수 있는 예측 가능한 패턴이 생성됩니다. bits+2 유튜브

점 압축 취약점: 이 도구는 압축된 점이 올바른 곡선 상에 있는지 검증하지 못하는 결함 있는 점 압축 알고리즘을 사용하는 구현을 대상으로 합니다. 이를 통해 인수분해 가능한 차수를 가진 트위스트 곡선에서 점을 주입할 수 있어 이산 로그 함수의 보안이 크게 저하됩니다. github+3

잘못된 곡선 지점 공격: BingSec256k1은 타원 곡선 지점을 제대로 검증하지 못하는 구현을 악용하여 보안 속성이 약한 잘못된 곡선의 지점을 주입할 수 있도록 합니다. 이 취약점은 특히 secp256k1-node에서 발견되었으며, 압축된 공개 키 검증이 누락되어 단 11개의 ECDH 세션만으로도 개인 키를 추출할 수 있었습니다. linkedin+1

역사적 및 시스템적 취약성

랜드스톰 취약점 유산: 이 도구는 취약한 BitcoinJS 구현을 사용하여 2011년에서 2016년 사이에 생성된 지갑을 악용할 수 있습니다. 이러한 구현은 난수성이 부족하여 약한 키를 생성합니다. 이러한 과거의 취약점은 여전히 ​​악용 가능한 영구적인 보안 침해를 나타냅니다 .

구현 통계: 분석 결과, 사용자 지정 ECDSA 구현의 약 68%에 개인 키 복구 공격을 가능하게 하는 매개변수 오류가 포함되어 있는 것으로 나타났으며, 이는 비트코인 ​​관련 소프트웨어 전반에 걸쳐 광범위한 취약성이 존재함을 시사합니다. ijcns.latticescipub+1

ECDSA 취약한 논스 공격 및 CSPRNG 주입 공격 - 치명적인 난수 생성기 취약점 및 개인 키 공격: 비트코인 ​​암호화폐에 대한 보안 위협

공격 방법론 및 개인 키 복구 프로세스

취약성 평가 및 악용

BingSec256k1의 공격 방법론은 다음을 포함합니다: iaeng+2

  1. 블록체인 서명 분석: 비트코인 ​​거래에서 ECDSA 서명을 체계적으로 수집 및 분석하여 논스 재사용 패턴을 식별합니다 .
  2. 격자 기반 암호해독: 편향되거나 부분적으로 유출된 논스로부터 개인 키를 복구하기 위한 LLL 알고리즘 구현 github+2
  3. 실시간 취약점 탐지: 취약한 서명을 즉시 악용하기 위해 새로운 거래를 지속적으로 모니터링합니다. keyhunters+1

수학적 활용 기법

이 도구는 여러 고급 암호 분석 기술을 사용합니다: arxiv+2

  • 논스 재사용 탐지: 여러 시그니처에서 동일한 r 값을 식별하는 효율적인 알고리즘
  • 편향된 논스 분석: 논스 생성에서 불충분한 무작위성을 감지하기 위한 통계적 분석
  • 사이드 채널 공격: 암호화 구현에서 논스 정보를 추출하기 위한 타이밍 및 전력 분석

보안 영향 및 영향 평가

비트코인 생태계의 심각한 위협

BingSec256k1의 기능은 비트코인 ​​보안에 심각한 영향을 미칠 수 있음을 보여줍니다: zenodo+1 유튜브

시스템적 인프라 취약성: 이 도구가 하드웨어 보안 모듈(HSM)과 기업용 지갑 구현을 악용할 수 있다는 점은 전문가 수준의 비트코인 ​​인프라조차 취약할 수 있음을 시사합니다. (keyhunters youtube)

대규모 지갑 침해 가능성: 자동화된 블록체인 스캔 기능으로 여러 비트코인 ​​주소를 동시에 공격하는 대규모 공격이 가능합니다. github+1

과거 지갑 노출 위험: 취약한 구현을 사용하여 생성된 지갑은 영구적으로 손상된 상태로 남아 있으며, 해당 도구의 기술을 사용하여 복구할 수 있습니다. pikabu+1 유튜브

실제 공격 시나리오

최근 발생한 암호화폐 보안 사고는 이러한 취약점의 실질적인 중요성을 보여줍니다: halborn+1

  • Anyswap 프로토콜 해킹(2021): ECDSA nonce 재사용 악용으로 개인 키 유출 및 상당한 재정적 손실 발생 (halborn)
  • PuTTY P-521 취약점(CVE-2024-31497): ECDSA 서명 생성 구현상의 결함으로 인해 개인 키가 유출될 수 있음을 보여줍니다 .

대응책 및 방어 전략

구현 보안 요구 사항

BingSec256k1 공격 으로부터 보호하기 위해 비트코인 ​​구현체는 dockeyhunt+2를 구현해야 합니다.

암호학적으로 안전한 난수 생성: 모든 논스 생성 연산에 하드웨어 기반 엔트로피 소스와 검증된 암호학적 안전 난수 생성기(CSPRNG)를 사용합니다. aptos+2

종합적인 점 유효성 검사: 모든 점이 적절한 수학적 속성을 가진 올바른 곡선 상에 있는지 확인하는 철저한 타원 곡선 점 유효성 검사. attacksafe+2

RFC 6979 준수: 강력한 보조 난수 생성 및 타이밍 공격 방지 기능을 갖춘 결정론적 ECDSA의 적절한 구현. notsosecure+1

방어적 암호화 관행

정기 보안 감사: 암호화 구현에 대한 체계적인 감사를 통해 secp256k1 매개변수 오류 및 유효성 검사 취약점을 식별합니다. nshielddocs.entrust+1

다중 서명 보호: 개인 키 자료를 분산시키고 암호화 실패 지점을 줄이기 위한 다중 서명 방식 구현. zenodo+1

키 순환 정책: 과거 취약점으로 인한 노출을 제한하기 위해 고가치 비트코인 ​​주소에 대한 정기적인 개인 키 순환. papers.ssrn+1

결론

BingSec256k1은 비트코인 ​​암호화폐 시스템에서 secp256k1 구현이 부적절할 경우 발생하는 심각한 보안 문제를 보여줍니다. 이 도구는 수학적 취약점, 취약한 nonce 생성, 그리고 불충분한 검증 메커니즘을 악용하여 취약한 비트코인 ​​지갑에서 개인 키를 체계적으로 복구할 수 있도록 합니다. 본 연구는 비트코인의 이론적인 암호학적 보안에도 불구하고, 구현상의 결함으로 인해 근본적인 보안 가정을 ​​위협하는 공격 벡터가 생성됨을 밝힙니다 .

secp256k1 구현 취약점이 광범위하게 퍼져 있으며, 약 68%의 맞춤형 ECDSA 구현에 영향을 미치는 것으로 추정되는 것은 즉각적인 조치가 필요한 시스템적 보안 위기를 나타냅니다. 2011년부터 2016년까지 지갑에 영향을 미친 과거의 취약점은 사용자 자금을 지속적으로 위협하는 영구적인 보안 침해를 의미합니다. ijcns.latticescipub+2 youtube

비트코인 생태계는 검증된 난수 생성, 엄격한 포인트 검증, 정기적인 보안 감사 등 안전한 암호화 방식을 포괄적으로 구현해야 합니다. 이러한 조치를 체계적으로 도입해야만 BingSec256k1과 같은 도구를 통해 입증된 정교한 암호 분석 공격으로부터 비트코인의 보안을 유지할 수 있습니다. dockeyhunt+2


비트코인 JSON-RPC 클라이언트의 암호화 취약점: 발생, 해결 및 예방

소개

비트코인 암호화폐 생태계에서 JSON-RPC(JavaScript Object Notation — Remote Procedure Call) 인터페이스는 클라이언트가 비트코인 ​​네트워크와 상호 작용하는 방식에서 핵심적인 역할을 하며, 블록, 지갑, 거래에 대한 정보를 얻고 관리하는 메커니즘을 제공합니다. 메시징 및 인증상의 취약점은 지갑의 완전한 손상과 자금 도난으로 이어질 수 있으므로 이 인터페이스의 보안은 매우 중요합니다.

이 글에서는 비트코인용 JSON-RPC 클라이언트 구현에서 발생하는 취약점의 특성, 구체적인 위협 사례, 원인 및 결과에 대해 논의하고, 안전한 코드 샘플과 공격 방지 방법을 제시합니다.

취약성 발생 메커니즘

비트코인 JSON-RPC 클라이언트의 취약점은 일반적으로 안전하지 않은 인증, 잘못된 데이터 처리, 그리고 RPC 명령의 보호되지 않은 전송으로 인해 발생합니다. 주요 취약점 메커니즘은 다음과 같습니다.

  • 자격 증명 하드코딩  : 대부분의 경우 암호와 RPC 액세스 키가 구성 파일이나 소스 코드에 하드코딩되어 있어 공격자가 노드의 제어 기능에 접근할 수 있습니다. 이 데이터가 탈취되면 공격자는 정당한 사용자를 대신하여 RPC 호출을 실행할 수 있습니다.
  • RPC 채널 암호화 부족  : 보호되지 않은 HTTP 프로토콜을 사용하여 RPC 연결을 구축하면 데이터(암호 포함)가 평문으로 전송됩니다. 이로 인해 중간자 공격(MITM)이 발생하여 명령이 가로채지고 수정될 수 있습니다.
  • 잘못된 JSON-RPC 입력 유효성 검사  : 클라이언트 또는 서버가 수신 요청을 제대로 처리하지 못하는 경우(예: 불충분한 유효성 검사), 공격자가 악의적인 호출을 하거나 권한 부여를 우회할 수 있습니다.
  • 취약한 라이브러리 및 구성 요소 사용  : 예를 들어, bitcoin-json-rpc-adapter npm 패키지에는 악성 코드가 삽입되어 실행 환경을 완전히 제어할 수 있도록 허용하는 알려진 취약점이 있습니다.
  • 암호화 및 암호화 오류  : wallet.dat 파일을 보호하기 위해 AES-CBC와 같은 알고리즘을 잘못 사용하면 비트 플리핑 및 패딩 오라클 공격이 발생하여 암호를 몰라도 개인 키를 복구할 수 있습니다.

취약점 악용의 결과

JSON-RPC 클라이언트에 대한 공격은 다음과 같은 결과를 초래합니다.

  • 지갑에 대한 무단 관리 및 자금 이체.
  • 대규모 자금 횡령 사건.
  • 블록체인 데이터의 완전한 삭제 또는 수정 가능성.
  • 거래 대체 및 무결성 공격.
  • 기반 시설 침해 및 악성 소프트웨어의 추가 확산.

알려진 취약점 중 하나는 랜드스톰 공격으로, 구형 BitcoinJS 암호화 라이브러리를 사용하여 공격자가 2011년부터 2015년 사이에 생성된 지갑의 비밀 키를 탈취할 수 있었습니다.

취약점을 안전하게 패치하는 방법: 개념 및 코드

1. 비밀을 안전하게 지키기

  • 로그인 정보와 비밀번호를 소스 코드 및 설정 파일에 평문으로 저장하지 마십시오.
  • 시크릿 관리자(Vault, AWS Secrets Manager) 또는 환경 변수를 사용하십시오.
  • 설정에 대한 접근을 제한합니다.

2. 전송 채널 암호화

  • 모든 RPC 연결에 HTTPS/TLS를 사용하십시오.
  • 서버 인증서를 확인하세요.
  • 가능한 한 양방향 인증을 사용하십시오.

3. 입력 데이터의 유효성 검사 및 필터링

  • 라이브러리를 사용하여 JSON-RPC 요청의 형식을 엄격하게 검증하십시오.
  • 의심스럽거나 승인되지 않은 명령을 실행하지 마십시오.

4. 업데이트 및 종속성 감사

  • 사용하는 라이브러리의 취약점을 모니터링하세요.
  • 정기적인 보안 감사를 실시하고 버그를 패치하십시오.

안전한 구성 저장소를 사용하는 수정된 RPC 클라이언트 구성 코드의 Java 예시

자바package org.tbk.bitcoin.regtest.config;

import org.consensusj.bitcoin.jsonrpc.BitcoinExtendedClient;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;

import javax.net.ssl.SSLContext;
import java.net.URI;

@Configuration
@ConfigurationProperties(prefix = "bitcoin.rpc")
public class BitcoinSecureConfig {

    private String host;
    private int port;
    private String username;
    private String password;
    private boolean useTls;

    // setters and getters for above variables

    @Bean
    public BitcoinExtendedClient bitcoinExtendedClient(Environment env) throws Exception {
        // Load sensitive data from environment variables (preferred way)
        String user = env.getProperty("BITCOIN_RPC_USER", this.username);
        String pass = env.getProperty("BITCOIN_RPC_PASSWORD", this.password);

        if (useTls) {
            // Example: setup SSL context for secure connection
            SSLContext sslContext = SSLContext.getDefault(); // customize as needed
            return new BitcoinExtendedClient(new URI(String.format("https://%s:%d", host, port)), user, pass, sslContext);
        } else {
            return new BitcoinExtendedClient(new URI(String.format("http://%s:%d", host, port)), user, pass);
        }
    }
}

참고사항:

  • 하드코딩 대신 환경 변수 BITCOIN_RPC_USER 및 BITCOIN_RPC_PASSWORD를 사용합니다.
  • TLS 연결을 지원합니다.
  • Spring을 통한 유효성 검사 및 중앙 집중식 구성 관리.

5. 추가 권장 사항

  • 비밀번호와 키를 정기적으로 변경하세요.
  • RPC 계정 권한을 최소화하십시오.
  • 방화벽을 사용하고 RPC 서버에 대해 IP 주소를 화이트리스트에 추가하십시오.
  • 보안 로그 및 의심스러운 활동 모니터링.
  • 개발자들이 암호화 기술을 안전하게 다룰 수 있도록 교육합니다.

결론

비트코인 JSON-RPC 인터페이스는 블록체인 네트워크와 상호 작용하는 애플리케이션 및 서비스 운영에 매우 중요합니다. 인증, 데이터 전송 및 처리 과정에서 부주의가 발생하면 심각한 암호화 취약점이 발생하여 수백만 달러의 손실로 이어질 수 있습니다. 보안을 확보하기 위해서는 비밀 정보 저장, 채널 암호화, 데이터 필터링 및 구성 요소 업데이트에 있어 모범 사례를 준수해야 합니다.

제안된 안전한 클라이언트 구성 및 사용 패턴은 공격 위험을 최소화하는 안정적이고 안전한 서비스를 구축하기 위한 기반이 됩니다. 포괄적인 보안 접근 방식만이 위협에 대한 저항력과 디지털 자산의 안전을 확보할 수 있게 해줍니다.


결과:

이 글의 결론으로, 비트코인 ​​JSON-RPC 클라이언트에서 발견된 심각한 취약점은 원격 코드 실행(RCE) 위협이며, 이는 공격자가 RPC 인터페이스를 악용하여 비트코인 ​​노드에 대한 완전한 제어권을 획득할 수 있도록 한다는 점을 요약합니다.

이 취약점은 주로 자격 증명 하드 코딩, 안전한 전송 채널 부재, 취약한 라이브러리 사용과 관련이 있습니다. 이 취약점을 악용하면 무단 거래, 개인 키 탈취, 블록체인 무결성 침해로 이어져 비트코인 ​​암호화폐 자체의 보안과 신뢰를 위협할 수 있습니다.

과학 문헌에서는 이러한 공격을 접근 제어 위반을 통한 원격 코드 실행(RCE) 및 자격 증명 노출로 분류합니다. 이러한 취약점을 탐지하고 제거하려면 비밀 정보의 안전한 저장, TLS 사용, 입력 데이터 유효성 검사 및 구성 요소의 정기적인 업데이트와 같은 포괄적인 접근 방식이 필요합니다.

취약점을 적시에 패치하지 않고 보안 관행을 소홀히 하면 암호화폐 네트워크 운영을 방해하고 상당한 재정적 손실을 초래할 수 있는 고위험 공격이 발생할 수 있는 환경이 조성됩니다.

따라서 비트코인 ​​JSON-RPC 클라이언트의 보안을 확보하는 것은 전체 비트코인 ​​생태계의 지속가능성에 매우 중요한 요소이며, 이는 최신 암호화 표준 및 안전한 프로그래밍 방식에 대한 지속적인 감사와 구현의 필요성을 강조합니다.

이 연구는 연구원과 개발자들이 암호화폐 프로토콜 및 소프트웨어를 다룰 때 보안에 각별히 주의를 기울여야 한다는 점을 상기시키고 안내하는 역할을 합니다.

이 글의 마지막 결론 부분에서는 CVE-2024-35202 취약점에 대한 기술적 세부 정보를 포함합니다.


따라서 위에서 논의한 비트코인 ​​JSON-RPC 클라이언트의 심각한 취약점은 비트코인 ​​코어 25.0 이전 버전의 심각한 결함인 CVE-2024-35202를 통해 더욱 명확하게 드러납니다. 이 취약점은 원격 공격자가 해당 블록의 머클 트리에 포함되지 않은 트랜잭션을 담은 특수하게 조작된 blocktxn 메시지를 통해 서비스 거부(DoS) 공격을 일으킬 수 있도록 합니다.

기술적으로 이 취약점은 부분적으로 다운로드된 블록(PartiallyDownloadedBlock) 처리 로직의 오류와 관련이 있습니다. 짧은 트랜잭션 식별자가 충돌하는 경우, FillBlock 함수가 동일한 블록에 대해 두 번 호출되어 프로그램의 가정을 위반하고 노드 충돌을 일으킬 수 있습니다. 이는 비트코인 ​​네트워크의 안정성에 심각한 위협이 되며, 네트워크 전반에 걸쳐 의도적인 노드 파괴를 가능하게 합니다.

CVE-2024-35202 취약점은 네트워크 수준에서만 발생하며 사용자 권한이나 상호 작용을 필요로 하지 않아 심각성이 매우 높습니다(CVSS 7.5, 심각도 높음). 악의적인 행위는 분산 네트워크의 불안정화를 초래하고 인프라에 대한 신뢰를 상실하게 할 수 있습니다.

해당 취약점에 대한 수정 사항은 비트코인 ​​코어 버전 25.0에 도입되었으며, 중복 메시지의 적절한 처리와 상태 일관성 보장을 기반으로 합니다. 이 취약점은 비트코인 ​​인프라의 보안을 위해 지속적인 감사, 시기적절한 업데이트 구현, 그리고 유입되는 데이터에 대한 엄격한 통제가 필요함을 보여줍니다.

이 취약점 분석과 RPC 인터페이스 공격에 대한 전반적인 상황을 종합적으로 고려해 볼 때, 포괄적인 보호 조치가 필요합니다. 즉, 안전한 통신 채널 사용, 적절한 유효성 검사 및 인증, 그리고 정기적인 소프트웨어 감사 및 업데이트가 요구됩니다.

따라서 비트코인과 그 생태계의 보안은 원격 코드 실행 및 서비스 거부 공격과 같은 치명적인 오류를 방지하는 데 직접적으로 달려 있으며, 이러한 공격은 개별 노드뿐만 아니라 전체 분산형 암호화폐 네트워크를 위협합니다.


비트코인 JSON-RPC 클라이언트의 심각한 원격 코드 실행(RCE) 취약점: 공격 메커니즘, 암호화폐 보안에 미치는 영향 및 방어 방법

비트코인은 암호화 기본 요소들을 기반으로 하며, 그중에서도 암호학적으로 강력한 난수 생성은 매우 중요합니다. 개인 키와 고유한 디지털 서명 매개변수를 생성하는 데 사용되는 이 난수들은 무단 접근과 자금 도난으로부터 네트워크를 보호합니다. 그러나 난수 생성기의 약점과 오류는 비트코인 ​​네트워크와 사용자를 공격하는 데 악용될 수 있는 취약점으로 이어집니다.

취약점 설명 및 비트코인에 미치는 영향

비트코인 암호화 보안의 핵심 요소는 ECDSA 디지털 서명 알고리즘의 kkk 변수인데, 이 변수는 각 거래마다 고유하고 무작위적이어야 합니다. 만약 이 변수를 생성하는 난수 생성기가 취약하거나 예측 가능하다면, 공격자는 여러 서명을 분석하여 다음과 같은 결과를 얻을 수 있습니다.

  • 사용자의 개인 키를 복구하세요.
  • 그의 자금을 완전히 장악하세요.
  • 피해자의 동의 없이 피해자를 대신하여 거래에 서명합니다.

이러한 유형의 취약점을 “ECDSA 난수 재사용 또는 예측 가능성”이라고 하며, 서명에 대한 수학적 분석을 통해 개인 키 복구 공격을 수행할 수 있도록 합니다.

공격의 과학적 명칭

이 공격은 ECDSA에서 반복되거나 예측 가능한 논스를 사용하는 서명에 대한 공격 유형에 속하며, “ECDSA 논스 재사용 공격” 또는 “ECDSA 약한 논스 공격”이라는 과학적 명칭을 가지고 있습니다.

이 취약점은 2013년 Nils Schneider가 이러한 문제를 악용하는 방법을 처음으로 상세히 설명한 이후로 과학 출판물에 잘 기록되고 연구되어 왔습니다. 이러한 취약점 분석을 통해 공격자는 kkk의 반복 값과 알려진 서명 값(r,s)(r, s)(r,s)을 기반으로 서명을 비교하여 개인 키 ddd를 계산할 수 있습니다.

CVE 취약점 식별자

ECDSA 알고리즘 자체의 취약점은 보편적인 CVE 식별자를 갖고 있지 않지만, 비트코인 ​​지갑과 암호화 라이브러리에서 사용되는 특정 난수 생성기 구현에는 종종 개별적인 CVE 식별자가 부여됩니다. 예를 들면 다음과 같습니다.

  • CVE-2025-27840은 비트코인 ​​하드웨어 지갑에 사용되는 ESP32 마이크로컨트롤러의 심각한 취약점으로, 난수 생성기의 엔트로피가 낮아 해커가 키를 추측하고 원격으로 거래에 서명할 수 있도록 허용합니다.
  • 최근 몇 년 동안 보고된 여러 CVE는 인기 있는 Java, JavaScript 및 C 암호화 라이브러리의 난수 생성기에서 발견된 취약점을 설명하며, 이러한 취약점을 악용하여 개인 키를 공격하는 사례가 있습니다.

비트코인 생태계에 대한 공격의 영향

공격자가 이 공격을 성공적으로 수행할 경우 다음과 같은 결과가 발생합니다.

  • 취약한 지갑에서 비트코인을 훔치는 행위
  • 암호 시스템에 대한 신뢰 상실
  • 취약한 라이브러리와 마이크로컨트롤러를 사용하는 서비스의 중단
  • 사용자와 기업 모두에게 금전적 손실을 초래합니다.

보호 및 예방

이러한 공격에 대응하기 위해 다음과 같은 조치가 취해집니다.

  1. 암호학적으로 강력한 엔트로피 소스(예   SecureRandom.getInstanceStrong() : Java)를 사용합니다.
  2. RFC 6979에 따른 결정론적 논스 생성 알고리즘을 사용하여 리플레이 공격 및 정보 유출 위험을 줄입니다.
  3. 알려진 취약점을 제거하기 위해 소프트웨어 및 암호화 라이브러리를 정기적으로 업데이트합니다.
  4. 지갑에 사용되는 하드웨어 구성 요소 및 마이크로컨트롤러에 대한 검토 및 보안 감사.
  5. 하드웨어 지갑에서 하드웨어 보안 모듈(HSM)과 안전한 난수 생성기를 사용하는 방법.

결론

ECDSA의 난수 생성기 예측 가능성과 관련된 암호화 취약점은 비트코인 ​​보안에 매우 중요합니다. 이는 과학적으로는 ECDSA 논스 재사용 공격(ECDSA Nonce Reuse Attack)으로 알려져 있습니다. 충분한 엔트로피를 제공하지 않는 특정 생성기 구현 방식 및 하드웨어 구성 요소에 대해 여러 건의 CVE가 보고되었으며, 이는 해당 위협이 시스템적인 성격을 띠고 있음을 보여줍니다.

논스(nonce)와 개인 키의 안전한 생성은 암호화폐 보안의 핵심입니다. 암호화 표준을 엄격히 준수하고 정기적인 보안 감사를 실시해야만 성공적인 공격으로부터 사용자를 보호하고 디지털 자산을 안전하게 지킬 수 있습니다.


필요하다면 특정 CVE에 대한 상세 분석과 안전한 nonce 생성 코드의 예시를 제공할 준비가 되어 있습니다.


암호화 취약점

이 코드에는 개인 키 유출이나 부적절한 처리와 관련된 명백한 암호화 취약점이 없습니다.

키 보안 또는 난수 생성과 관련된 암호화 위험에 관해서는 다음과 같습니다.

  • 암호학적으로 안전한 유효한 생성기가 사용됩니다   SecureRandom (줄:
자바:

private final SecureRandom random = new SecureRandom();
  • 개인 키 또는 비밀 키는 코드에 저장, 기록 또는 전송되지 않습니다.
53bitcoin-spring-boot-starter/blob/devel/bitcoin-regtest/bitcoin-regtest-core/src/integTest/java/org/tbk/bitcoin/regtest/ScheduledRegtestMinerTest.java

구현 과정에서   RegtestMinerImplBitcoinClient 또는 개인 키를 다루는 다른 곳에서 작업을 수행합니다.


수정하기 위해

연구 논문: 난수 생성기의 잘못된 사용으로 인한 암호화 취약점 및 이를 제거하는 안전한 방법

소개

암호학적으로 강력한 난수 생성(CSPRNG)은 안전한 암호화 시스템을 구축하는 데 있어 핵심적인 요소입니다. 개인 키, 토큰, 비밀번호 및 기타 비밀 데이터의 보안은 난수 생성 품질에 직접적으로 좌우됩니다. 난수 생성기를 부주의하거나 잘못 사용하면 엔트로피와 예측 가능성이 감소하여 공격자가 비밀 정보를 복구하고 암호화 도구에 무단으로 접근할 수 있는 취약점이 발생합니다.

취약성의 출현

암호화 취약점의 가장 일반적인 원인은 필요한 암호화 저항성과 높은 엔트로피를 제공하지 않는 난수 생성기를 사용하는 것과 관련이 있습니다. 특히, 어떤 경우에는   SecureRandom (Java) 클래스가 사용되지만 다음과 같은 경우 안전하지 않을 수 있습니다.

  1. 생성기는 낮은 엔트로피   seed, 예를 들어 밀리초 단위의 현재 시간이나 짧은 길이의 재료로 초기화되므로 선택 가능한 옵션의 공간이 크게 줄어듭니다.
  2. RC4와 같이 오래되었거나 암호학적으로 안전하지 않은 알고리즘이 난수 생성 과정에 사용되어 생성된 난수의 통계적 특성이 저하됩니다.
  3. Math.random() 소프트웨어 논리 오류는 엔트로피가 현저히 낮은 안전하지 않은 의사 난수 생성기(예: JavaScript)에서 충돌을 일으킵니다   .
  4. 개인 키 또는 비밀번호를 보호되지 않은 형태로 기록, 전송 또는 저장하는 행위.

취약점의 예로는 JavaScript의 jsbn.js와 같은 라이브러리의 이전 버전이나 SecureRandom이 낮은 엔트로피 값으로 초기화된 애플리케이션에서 찾아볼 수 있습니다. 이러한 경우 무차별 대입 공격을 통해 개인 키를 비교적 짧은 시간 안에 쉽게 해킹할 수 있습니다.

올바른 해결책이자 안전한 선택

이러한 취약점을 제거하기 위해서는 다음 원칙들을 엄격히 준수해야 합니다.

  • 암호학적으로 안전하고, 분포가 좋으며, 충분한 엔트로피를 가진 난수 생성기만 사용하십시오. Java에서는   java.security.SecureRandom 수동 초기화 없이   seed 또는 신뢰할 수 있는 엔트로피 소스를 사용하지 않고 이러한 조건을 충족하는 것이 좋습니다.
  • seed 시스템 시간(밀리초)과 같이 엔트로피가 낮은 데이터는 절대로 이런 용도로 사용하지 마십시오   .
  • 암호화 기능에 사용되는 라이브러리의 업데이트 및 수정 사항을 소홀히 하지 마십시오.
  • 개인 키를 평문으로 기록하거나 전송하지 마십시오.
  • 검증된 암호화 API 및 표준을 사용하여 키와 토큰을 생성하세요.

안전한 자바 코드의 예:

자바:

import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.util.Base64;

public class SecureKeyGenerator {

private static final int KEY_SIZE_BYTES = 32;

public static String generateSecureKey() {
try {
// Создаем генератор случайных чисел, опирающийся на сильный источник энтропии
SecureRandom secureRandom = SecureRandom.getInstanceStrong();

byte[] keyBytes = new byte[KEY_SIZE_BYTES];
secureRandom.nextBytes(keyBytes);

// Возвращаем ключ в Base64 для удобства хранения/передачи
return Base64.getEncoder().encodeToString(keyBytes);

} catch (NoSuchAlgorithmException e) {
// Обработка невозможности получить сильный генератор
throw new RuntimeException("SecureRandom instance not available", e);
}
}

public static void main(String[] args) {
String secureKey = generateSecureKey();
System.out.println("Secure Key: " + secureKey);
}
}

이 예시에서는 다음과 같습니다.

  • 이 방법은   SecureRandom.getInstanceStrong()시스템에서 사용 가능한 가장 안정적인 발전기에 접근할 수 있도록 해줍니다.
  • 별도의 설정이 수행되지 않으므로   seed엔트로피가 낮은 값을 사용할 위험이 없습니다.
  • 주어진 길이의 키 생성은 암호학적 안정성을 유지하면서 수행됩니다.
  • 개인 정보는 평문으로 기록되지 않고 안전하게 암호화된 형식으로 전송됩니다.

또한 특정 환경에서의 난수 생성기 구현을 추가적으로 제어하는 ​​것이 좋습니다(예: JVM 구성 확인). 암호학에 대한 깊은 경험이 없는 한, 자체적인 난수 생성 솔루션을 사용하는 것은 피해야 합니다.

결론

잘못된 난수 생성기 사용과 관련된 암호화 취약점은 시스템 보안에 심각한 위협이 됩니다. 엔트로피 감소로 인해 무차별 대입 공격 및 개인 키 유출 가능성이 높아지기 때문입니다. 표준적이고 신뢰할 수 있는 암호화 생성기 사용, 모범 사례 준수, 그리고 정기적인 구성 요소 업데이트는 이러한 공격의 위험을 크게 줄여줍니다.

이 보안 코드 예제는 일반적인 함정을 피하면서 Java에서 암호학적으로 강력한 키를 올바르게 생성하는 방법을 보여줍니다. 이러한 지침을 따르면 취약점을 예방하고 개인 정보 보호 및 정보 무결성을 장기적으로 보장할 수 있습니다.


해당 과학 논문의 최종 결론은 다음과 같습니다.

ECDSA 디지털 서명 알고리즘에서 난수 kkk(nonce)를 반복적이거나 예측 가능하게 사용하는 것과 관련된 암호화 취약점은 비트코인 ​​암호화폐에 대한 가장 심각한 보안 위협 중 하나입니다. 이 취약점을 이용하면 공격자는 동일한 nonce를 사용하는 두 개 이상의 서명을 분석하여 사용자의 개인 키를 완전히 복원할 수 있습니다. 개인 키가 유출되면 무단 거래 생성, 비트코인 ​​도난 및 막대한 금전적 손실로 이어질 수 있습니다.

과학적으로 이 공격은 ECDSA 논스 재사용 공격(ECDSA Nonce Reuse Attack)으로 알려져 있습니다. 비트코인 ​​지갑 및 암호화 라이브러리에서 난수 생성기를 구현할 때 논스의 고유성과 무작위성을 충분히 보장하지 않는 경우 이 공격에 취약하며, 이는 신중한 암호화 설계 및 감사의 필요성을 보여줍니다.

과거에 성공적으로 발생한 공격 사례들을 보면 이러한 취약점으로 인해 사용자들이 수백만 달러 상당의 암호화폐 손실을 입은 경우가 이미 존재합니다. 이는 RFC 6979에 따른 결정론적 논스 생성 및 암호학적으로 강력한 난수 생성기 사용과 같은 강력한 암호화 표준을 적용하는 것이 얼마나 중요한지 보여줍니다.

비트코인 및 기타 암호화폐의 보안을 확보하려면 암호화 프로토콜을 엄격히 준수하고, 소프트웨어와 하드웨어를 정기적으로 업데이트하고 감사하며, 시대에 뒤떨어지고 취약한 난수 생성 방식을 폐기해야 합니다. 이것이 바로 사용자의 개인 키와 디지털 자산을 완전히 탈취할 수 있는 공격으로부터 사용자를 보호하는 유일한 방법입니다.


무효 키 공격 – secp256k1 개인 키 검증의 심각한 취약점과 무효 키 위협: 비트코인 ​​암호화폐 보안에 대한 위험한 공격

아래는 비트코인 ​​개인 키의 심각한 취약점이 보안에 미치는 영향, 해당 공격의 과학적 명칭, 그리고 CVE 번호 등록에 대해 설명하는 연구 논문입니다.


비트코인 보안에 대한 핵심 개인 키 취약점의 영향, 공격 유형 및 CVE 분류

소개

비트코인 보안 시스템은 암호화 자산에 대한 제어권을 제공하는 개인 키의 엄격한 관리에 기반합니다. 개인 키 생성 또는 검증 규칙을 위반하면 자금 손실부터 대규모 네트워크 공격 가능성에 이르기까지 심각한 문제가 발생할 수 있습니다.

개인 키의 하한값 검사가 미흡한 것과 관련된 심각한 취약점(CVE-2025-27840)이 보고되었습니다. 이 취약점은 비트코인 ​​소프트웨어가 0 이하의 유효하지 않은 개인 키 사용을 허용하기 때문에 발생하며, 네트워크와 사용자 자산에 보안 위험을 초래합니다.

과학적 명칭 및 공격 유형

이 취약점은 “유효하지 않은 키 공격” 범주에 속합니다. 핵심은 개인 키 유효성 검사 과정에서 최소값 확인이 제대로 이루어지지 않아 0이나 음수와 같은 유효하지 않은 키 값을 사용할 수 있다는 점입니다.

이러한 키를 사용하면 공격자는 다음과 같은 기회를 얻게 됩니다.

  • 암호화 보안 보장을 위반하는 특수 속성을 가진 서명을 생성합니다.
  • 타인의 자금에 무단으로 접근하는 행위;
  • 네트워크 노드에 오류 또는 논리적 오류를 발생시켜 서비스 거부를 초래합니다.
  • 거래를 위조하고 블록체인의 무결성을 훼손합니다.

과학적으로, 이 취약점은 암호화 체계의 전제 조건 위반과 관련된 공격 유형, 특히 키 및 서명 유효성 검사의 정확성에 대한 공격(키 유효성 검사 취약점)으로 분류될 수 있습니다.

CVE 취약점 분류 및 번호

이 취약점은 NIST 취약점 데이터베이스에서 고유 식별자를 부여받았습니다.

  • CVE-2025-27840 – 비트코인 ​​개인 키 검증 기능의 심각한 취약점으로, 하한 검사가 없어 유효하지 않은(0 이하) 키가 사용될 수 있습니다.

등록 세부 정보에는 영향에 대한 설명이 포함됩니다.

  • 유효하지 않은 키를 원격으로 사용할 가능성;
  • 거래 보안 위반 및 자금 손실 위험;
  • 서명 위조를 통한 공격 가능성.

비트코인 보안에 대한 취약점의 영향

이 취약점을 이용하면 공격자는 유효하지 않은 값으로 개인 키를 생성하여 검증 상한을 우회할 수 있습니다. 결과:

  • 비트코인에서 사용되는 secp256k1 표준을 준수하지 않는 키를 생성하는 행위;
  • 서명 검증 메커니즘 위반;
  • 서명을 위조하고, 유효하지 않은 키를 사용하여 거래를 생성하는 능력;
  • 네트워크 장애 및 노드 장애로 인한 네트워크에 대한 신뢰 상실;
  • 취약한 코드를 사용하는 지갑이 해킹당할 경우 자금 손실이 발생할 수 있습니다.

공격 방지 및 해결을 위한 권장 사항

이러한 취약점을 방지하려면 다음을 수행해야 합니다.

  1. 개인 키의 하한값에 대한 필수 검사를 추가합니다. 키 값은 반드시 0보다 커야 합니다.
  2. secp256k1 키 유효성 검사를 올바르게 구현하는 검증된 암호화 라이브러리만 사용하십시오.
  3. 이러한 오류에 대한 코드 감사를 수행하고 자동화된 키 검증 테스트를 제공합니다.
  4. 지갑 보호를 위해 다중 인증 및 추가 보안 조치를 구현하십시오.
  5. 이 취약점이 발견된 ESP32 기반 마이크로컨트롤러 및 스마트 키를 업데이트하십시오.

결론

취약점 CVE-2025-27840은 비트코인 ​​개인 키의 하한 검증이 부족하다는 점에서 심각한 위험을 초래합니다. 이는 ‘유효하지 않은 키 공격(Invalid Key Attack)’으로 분류되며, 암호화 자산의 탈취 및 전체 블록체인 커뮤니티의 보안 저하로 이어질 수 있습니다. 이러한 오류를 신속하게 탐지하고 수정하는 것은 물론, 검증된 암호화 라이브러리와 모범적인 개발 사례를 활용하면 이 심각한 취약점과 관련된 위협을 최소화할 수 있습니다.


취약점 CVE-2025-27840은 비트코인 ​​하드웨어 지갑, 특히 IoT 기기 및 하드웨어 암호화폐 지갑(예: Blockstream Jade)에 널리 사용되는 ESP32 마이크로컨트롤러를 사용하는 지갑에 심각한 위협을 가합니다.

하드웨어 지갑에 대한 위협의 규모

  • 취약한 ESP32 마이크로컨트롤러는 Wi-Fi 및 블루투스 연결에 사용되며, 펌웨어 업데이트를 통해 공격자가 원격으로 장치를 감염시키고 제어할 수 있도록 합니다.
  • 이 취약점은 공격자가 무단으로 거래에 서명하고 개인 키를 탈취할 수 있도록 허용하며, 이는 결국 통제 중인 비트코인의 손실로 이어집니다.
  • 해당 장치는 서명을 생성하는 데 사용되는 의사 난수 생성기(PRNG)의 엔트로피가 부족하여 공격자가 무차별 대입 공격으로 키를 쉽게 알아낼 수 있습니다.
  • 공격자는 유효하지 않은 개인 키를 생성하고, 비트코인 ​​서명을 위조하고, 소규모 그룹 공격을 사용하여 개인 키를 추출하고, 타원 곡선 암호화(ECC) 연산을 조작할 수 있습니다.
  • 분석 결과, ECC 곡선의 Y 좌표의 모호성을 악용하여 가짜 공개 키를 생성하는 것이 가능하다는 것이 밝혀졌습니다.
  • 이 취약점은 수십억 개의 IoT 기기에 영향을 미치므로, 문제의 전 세계적인 규모와 개인 지갑뿐만 아니라 암호화폐 산업의 상당 부분에 잠재적인 위험을 초래할 수 있음을 보여줍니다.

결론

CVE-2025-27840은 비트코인 ​​하드웨어 지갑의 심각한 취약점으로, 개인 키의 완전한 유출과 자금 손실로 이어질 수 있습니다. 이 위협의 규모는 취약한 마이크로컨트롤러의 광범위한 사용과 무선 연결을 통한 원격 제어 가능성 때문입니다.

위험을 최소화하기 위해서는 기기의 펌웨어를 신속하게 업데이트하고, 난수 생성 기능을 강화하며, 하드웨어 지갑에 다단계 보안 조치를 구현하는 것이 필수적입니다.


암호화 취약점

이 코드에는 비밀 키나 개인 키를 유출할 수 있는 암호화 취약점이 없습니다. 그러나 잠재적으로 위험한 부분은 지갑을 생성하는 옵션 부분입니다.

자바:

.put("disable_private_keys", Optional.of(false))

이는 개인 키가   비활성화되지 않았 음을 의미합니다   (즉, 지갑이 숨겨진 개인 키로 생성됨).

54bitcoin-spring-boot-starter/blob/devel/bitcoin-regtest/bitcoin-regtest-core/src/main/java/org/tbk/bitcoin/regtest/BitcoindRegtestTestHelper.java
https://github.com/theborakompanioni/bitcoin-spring-boot-starter/blob/devel/bitcoin-regtest/bitcoin-regtest-core/src/main/java/org/tbk/bitcoin/regtest/BitcoindRegtestTestHelper.java

지갑 접근 보안이 미흡하거나 개인 키가 포함된 정보가 기록되는 경우 정보 유출이 발생할 수 있습니다.

이 메서드는    빈 매개변수를 포함하여 매개변수를 받는   createWalletIfNecessary 메서드를 호출합니다   .bitcoinJsonRpcClient.send("createwallet", args)passphrase

자바:

.put("passphrase", Optional.empty())

지갑 암호화 암호(암호)가 없으면 개인 키의 보안이 취약해지고 공격자가 지갑에 접근할 경우 손상될 가능성이 있습니다.

요약하자면, 문제가 되는 부분은 다음과 같습니다.

자바:

.put("disable_private_keys", Optional.of(false)) // приватные ключи включены
.put("passphrase", Optional.empty()) // отсутствует пароль шифрования кошелька

만약 명백한 키 유출을 찾고 싶다면, 이 코드 조각에는 그러한 유출 흔적이 없지만, 취약한 키 보호(암호 부재)와 개인 키 포함은 잠재적인 보안 위협이 될 수 있습니다.

특정 위험에 관심이 있다면 비밀번호 없이 개인 키 저장 기능을 활성화한 지갑을 생성하는 데 주의를 기울이세요.


보정

아래는 암호화 취약점의 원인, 해결 방법, 그리고 비트코인 ​​개인 키 문제를 해결하기 위한 안전한 코드 예제를 자세히 설명하는 연구 논문입니다.


비트코인 개인 키의 암호화 취약점 분석 및 안전한 제거 방법

소개

개인 키와 공개 키 쌍은 비트코인과 같은 블록체인 시스템 보안의 핵심입니다. 개인 키 생성 또는 저장 과정에서의 취약점은 키 유출, 자금 손실, 그리고 생태계에 대한 신뢰도 하락으로 이어질 수 있습니다. 겉보기에는 간단해 보이지만, 암호화 기술의 구현 및 통합에는 엄격한 표준 준수와 핵심 정보 보호에 대한 세심한 관리가 필수적입니다.

이 글에서는 비트코인 ​​개인 키 생성에 사용되는 타원 곡선 secp256k1의 매개변수를 잘못 정의하는 일반적인 오류를 분석합니다. 취약점의 메커니즘과 그 결과를 살펴보고, 코드 예제를 통해 안전하게 수정하는 방법을 설명합니다.

취약성 발생 메커니즘

비트코인은 엄격한 수학적 매개변수를 특징으로 하는 타원 곡선 secp256k1을 사용합니다. 핵심 매개변수 중 하나는 개인 키를 선택해야 하는 곡선 점 그룹 NNN의 순서입니다. 즉, 1≤k<N1 ≤ k < N1≤k<N입니다.

몇몇 오류가 있는 구현에서 상수 NNN이 잘못 지정되었습니다. 예를 들어 다음과 같습니다.

N=(1<<256)−0x14551231950B75FC4402DA1732FC9BEBF

N = (1 << 256) — 0x14551231950B75FC4402DA1732FC9BEBF

N=(1<<256)−0x14551231950B75FC4402DA1732FC9BEBF

올바른 값 대신에

N=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141

N = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141

N=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141

이로 인해 개인 키가 유효하지 않은 범위, 즉 약 21282^{128}2128만큼 벗어난 값으로 생성됩니다. 결과적으로 약 50%의 키가 유효하지 않게 됩니다.

이 버그는 개인 키 유효성 검사 오류로도 나타나며, 이로 인해 지원되지 않는 키 쌍이 생성 및 사용될 수 있습니다. 이는 암호화 프로토콜의 무결성을 훼손하고 다음과 같은 여러 유형의 공격에 취약하게 만듭니다.

  • 디지털 서명에 사용되는 값의 주요 충돌 및 예측 가능성;
  • 반복적인 생성을 기반으로 한 공격을 통해 개인 키를 복구할 확률이 높아짐(생일 역설);
  • 비트코인 네트워크와의 호환성 문제로 인해 거래가 거부되고 있습니다.

(2015년 HSM 하드웨어 모듈 공격과 같은) 과거 사례는 매개변수의 작은 오류조차도 심각한 자금 손실로 이어질 수 있음을 보여줍니다.

취약성의 결과

  • 자금 손실  : 키 생성 오류가 발생하면 네트워크에서 지원되지 않는 키 또는 거래를 거부하여 소유자가 자금에 접근할 수 없게 될 수 있습니다.
  • 보안 침해  : 공격자는 수학적 이상 현상을 악용하여 개인 키를 복구할 수 있습니다.
  • 서비스 거부 공격  : 지원되지 않는 키를 감지한 노드는 거래를 거부하고 네트워크 기능을 저하시킬 수 있습니다.

취약점에 대한 안전한 패치

보안의 기본 원칙은 검증되고 표준화된 라이브러리(예: libsecp256k1)를 사용하고, SEC와 NIST에서 정의한 공식 타원 곡선 secp256k1 매개변수를 엄격히 준수하는 것입니다.

권장 단계

  1. NNN 곡선 매개변수 및 기타 상수의 정확성을 확인하십시오.
  2. [1,N−1][1, N-1][1,N−1] 범위의 암호학적으로 강력한 난수 생성기를 통해 개인 키 생성을 사용합니다.
  3. 개인 키에 대해 범위별 엄격한 유효성 검사를 구현하십시오.
  4. 강력한 암호화를 제공하고 개인 키에 대한 접근을 제한하십시오(예: 암호/문구 요구).
  5. HD 지갑에는 검증된 암호화 라이브러리와 BIP-32/39/44 표준을 사용하십시오.

적절한 유효성 검사를 거쳐 개인 키를 생성하는 안전한 Java 코드 예제

자바:

import java.math.BigInteger;
import java.security.SecureRandom;

public class SecurePrivateKeyGenerator {

// Порядок secp256k1
private static final BigInteger SECP256K1_N = new BigInteger(
"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141", 16);

private static final SecureRandom secureRandom = new SecureRandom();

public static BigInteger generatePrivateKey() {
BigInteger privateKey;
do {
privateKey = new BigInteger(256, secureRandom);
} while (privateKey.compareTo(BigInteger.ONE) < 0 || privateKey.compareTo(SECP256K1_N) >= 0);
return privateKey;
}

public static boolean isValidPrivateKey(BigInteger privateKey) {
return privateKey != null
&& privateKey.compareTo(BigInteger.ONE) >= 0
&& privateKey.compareTo(SECP256K1_N) < 0;
}
}

이 코드는 개인 키가 정확한 범위 내에서 생성되도록 보장하며, 키의 유효성을 검사하는 기능도 제공합니다. 이를 통해 지원되지 않거나 잘못된 키의 사용을 방지하여 암호화 공격의 위험을 줄입니다.

결론

블록체인 시스템의 암호화 보안은 수학적 및 소프트웨어 표준을 엄격히 준수하는 데 기반합니다. secp256k1 곡선 매개변수의 잘못된 정의와 개인 키 범위 위반은 자금 손실 및 보안 침해로 이어질 수 있는 심각한 취약점을 초래합니다.

취약점을 제거하기 위해서는 검증된 라이브러리와 표준을 사용하고, 개인 키의 안정적인 생성 및 검증을 보장하며, 엄격한 보안 조치로 키를 보호해야 합니다. 이러한 접근 방식을 구현하면 비트코인 ​​및 유사한 블록체인 기술 기반 생태계의 신뢰성과 안정성을 유지할 수 있습니다.


결과:

결론적으로, 본 논문은 비트코인에서 개인 키의 잘못된 생성 및 검증과 관련된 심각한 암호화 취약점이 전체 암호화폐 생태계의 보안에 중대한 위협을 가한다는 점을 강조합니다. 주요 오류는 타원 곡선 그룹 secp256k1의 순서가 잘못 정의되어 허용 범위를 벗어난 유효하지 않은 키가 상당수 생성되는 것입니다.

이 취약점은 서명 호환성 문제, 네트워크상의 거래 거부, 수학적 공격(생일 역설 공격 포함)을 통한 개인 키 탈취 위험 등 광범위한 문제를 야기합니다. 과학적으로는 ‘유효하지 않은 키 공격’으로 분류됩니다.

이러한 오류가 소유자의 자금 전액 손실과 비트코인에 대한 신뢰도 하락으로 이어질 수 있다는 점이 중요한 위협 요소입니다. 이는 특히 하드웨어 지갑에 심각한 문제인데, CVE-2025-27840 사례에서 볼 수 있듯이 마이크로컨트롤러의 하드웨어 오류를 통한 공격 가능성 때문에 취약점이 더욱 악화되기 때문입니다.

안전한 솔루션은 암호화 표준을 엄격히 준수하고, 개인 키가 올바른 범위에 속하는지 의무적으로 확인하며, libsecp256k1과 같은 검증된 암호화 라이브러리를 사용하는 것으로 구성됩니다. 포괄적인 보안 조치를 구현하고 철저한 코드 감사를 수행해야만 이러한 심각한 취약점으로부터 보호하고 미래에도 비트코인의 신뢰성을 유지할 수 있습니다.

이러한 취약점은 암호화 프로토콜의 작은 오류조차도 금융 시스템에 치명적인 결과를 초래할 수 있음을 보여주며, 모든 수준에서 보안에 대한 지속적인 주의가 필요함을 시사합니다.

  1. https://pikabu.ru/story/private_key_debug_nekorrektnaya_generatsiya_privatnyikh_klyuchey_sistemnyie_uyazvimosti_bitkoina_chast_1_12755765
  2. https://www.kaspersky.ru/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/36592/
  3. https://www.itsec.ru/articles/upravlenie-uyazvimostyami-v-kriptokoshelkah
  4. https://www.ixbt.com/live/crypto/hakery-vseh-obmanut-ili-mozhno-li-vse-taki-slomat-sistemu-bitkoina.html
  5. https://top-technologies.ru/ru/article/view?id=37634
  6. https://forklog.com/news/eksperty-ugroza-kvantovoj-ataki-na-kriptovalyuty-preuvelichena
  7. https://cyberleninka.ru/article/n/metodika-analiza-dannyh-v-blokcheyn-sisteme-bitcoin
  8. https://coinsutra.com/ru/bitcoin-private-key/
  9. https://opennet.ru/56670/
  10. https://habr.com/ru/articles/430240/

보다 자세한 기술 데모나 취약점 수정 코드가 필요하시면 요청 시 제공해 드릴 수 있습니다.  cryptodeep+2

  1. https://cryptodeep.ru/bitcoin-bluetooth-attacks/
  2. https://forum.bits.media/index.php?%2Fblogs%2Fentry%2F3489-%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7-%D0%B1%D0%B8%D1%82%D0%BA%D 0%BE%D0%B8%D0%BD%D0%B0-%D1%83%D1%8F%D0%B7%D0%B2%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D 1%8C-cve-2025-27840-%D0%B2-%D0%BC%D0%B8%D0%BA%D1%80%D0%BE%D0%BA%D0%BE%D0%BD%D1%8 2%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80%D0%B0%D1%85-esp32-%D0%BF%D0%BE%D0%B4%D0%B 2%D0%B5%D1%80%D0%B3%D0%B0%D0%B5%D1%82-%D1%80%D0%B8%D1%81%D0%BA%D1%83-%D0%BC%D0%B 8%D0%BB%D0%BB%D0%B8%D0%B0%D1%80%D0%B4%D1%8B-iot-%D1%83%D1%81%D1%82%D1%80%D0%BE% D0%B9%D1%81%D1%82%D0%B2-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-wi-fi-%D0%B8-bluetooth%2F
  3. https://forklog.com/news/in-chips-for-bitcoin-koshelkov-obnaruzhili-kriticheskuyu-uyazvimost
  4. https://pikabu.ru/story/kak_uyazvimosti_cve202529774_i_bag_sighash_single_ugrozhayut_multipodpisnyim_koshelkam_seti_bitkoin_s_poddelnyimi_rawtx_chast_3_12995204
  5. https://pikabu.ru/story/kriptoanaliz_bitkoina_uyazvimost_cve202527840_v_mikrokontrollerakh_esp32_podvergaet_risku_milliardyi_iotustroystv_cherez_wifi_i_bluetooth_12555320
  6. https://cryptodeep.ru/break-ecdsa-cryptography/
  7. https://habr.com/ru/companies/tomhunter/articles/885300/
  8. https://shard.ru/article/how_esp32_chip_vulnerability_compromises_blockchain_security
  9. https://habr.com/ru/articles/771980/
  10. https://service.securitm.ru/vm/vulnerability/fstec/show/BDU:2023-06146

특정 암호화 보호 방법이나 공격 사례에 대한 추가 정보가 필요한 경우, 보다 구체적인 연구 및 구현 측면을 고려할 수 있습니다.  pikabu+1

  1. https://pikabu.ru/story/private_key_debug_nekorrektnaya_generatsiya_privatnyikh_klyuchey_sistemnyie_uyazvimosti_bitkoina_chast_1_12755765
  2. https://forum.bits.media/index.php?%2Fblogs%2Fentry%2F3526-private-key-debug-%D0%BD%D0%B5%D0%BA%D0%BE%D1%80%D1%80%D0%B5%D0%BA%D1%82%D0%BD%D0%B0%D1%8F-%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F- %D0%BF%D1%80%D0%B8%D0%B2%D0%B0%D1%82%D0%BD%D1%8B%D1%85-%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%B9-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D1%8B%D0%B5-%D1%83%D1%8F%D0%B7%D0%B2%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0% B8-%D0%B8-%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8-%D0%B2-%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD %D0%B8%D0%B8-%D0%BF%D0%BE%D1%80%D1%8F%D0%B4%D0%BA%D0%B0-%D1%8D%D0%BB%D0%BB%D0%B8%D0%BF%D1%82%D0%B8%D1%8 7%D0%B5%D1%81%D0%BA%D0%BE%D0%B9-%D0%BA%D1%80%D0%B8%D0%B2%D0%BE%D0%B9-secp256k1-%D1%83%D0%B3%D1%80%D0%BE %D0%B7%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%8D%D0%BA%D0%BE%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B-bitcoin%2F
  3. https://cyberleninka.ru/article/n/primenenie-blockchain-v-kriptovalyute-bitcoin-1
  4. https://cyberleninka.ru/article/n/analiz-blokcheyn-tehnologii-osnovy-arhitektury-primery-ispolzovaniya-perspektivy-razvitiya-problemy-i-nedostatki
  5. https://osp.ru/os/2025/02/13059629
  6. https://top-technologies.ru/ru/article/view?id=37634
  7. https://science-engineering.ru/ru/article/view?id=1247
  8. https://www.computerra.ru/318125/shifr-kotoryj-padet-kak-kvantovye-tehnologii-mogut-obnulit-kriptomir/
  9. https://onekey.so/blog/ru/ecosystem/crypto-and-quantum-computing-is-it-a-threat
  10. https://securitymedia.org/info/nadezhnye-shifry-kriptografiya-v-sovremennom-mire.html

 암호해독

CVE-2024-35202의 기술적 세부 정보와 그 영향 은 비트코인 ​​JSON-RPC 클라이언트의 암호화 취약점과 비트코인 ​​암호화폐의 전반적인 보안과 관련된 위협 환경에 대한 이해를 보완하고 심화시켜 줍니다. 

  1. https://www.cvedetails.com/cve/CVE-2024-35202/
  2. https://www.suse.com/security/cve/CVE-2024-35202.html
  3. https://cve.akaoma.com/cve-2024-35202
  4. https://nvd.nist.gov/vuln/detail/cve-2024-35202
  5. https://secalerts.co/vulnerability/CVE-2024-35202
  6. https://bitcoincore.org/en/2024/10/08/disclose-blocktxn-crash/
  7. https://access.redhat.com/security/cve/cve-2024-35202
  8. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-35202
  1. https://dzen.ru/a/Zw1b6dUm1HtxTn6B
  2. https://ru.wikipedia.org/wiki/%D0%91%D0%B8%D1%82%D0%BA%D0%BE%D0%B9%D0%BD
  3. https://ru.ruwiki.ru/wiki/%D0%91%D0%B8%D1%82%D0%BA%D0%BE%D0%B9%D0%BD
  4. https://se.math.spbu.ru/thesis_download?thesis_id=16
  5. https://cyberleninka.ru/article/n/istoriya-razvitiya-kriptovalyuty
  6. https://cyberrus.info/wp-content/uploads/2025/03/vokib-2025-1-cc.pdf
  7. https://pikabu.ru/tag/%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,%D0%91%D0%B8%D1%82%D0%BA%D0%BE%D0%B8%D0%BD%D1%8B
  8. https://21ideas.org/epubs/mastering-lightning-network.pdf

필요하다면 특정 공격 유형에 대한 자세한 내용을 작성하는 데 도움을 드릴 수 있습니다.

  1. https://www.datawallet.com/ru/%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B2%D0%B0%D0%BB%D1%8E%D1%82%D0%B0/how-to-fix-internal-json-rpc-error-metamask
  2. https://blog.ishosting.com/ru/bitcoin-core-tutorial
  3. https://www.kaspersky.ru/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/36592/
  4. https://pikabu.ru/story/bitflipping_attack_na_walletdat_riski_ispolzovaniya_aes256cbc_grozit_utechkoy_zakryityikh_klyuchey_bitcoin_core_chast_1_13153470
  5. https://ru.wikipedia.org/wiki/%D0%91%D0%B8%D1%82%D0%BA%D0%BE%D0%B9%D0%BD
  6. https://se.math.spbu.ru/thesis_download?thesis_id=16
  7. https://yellow.com/ru/research/%D0%BC%D0%BE%D0%B6%D0%B5%D1%82-%D0%BB%D0%B8-bitcoin-layer-2-%D1%81%D0%BE%D0%BF%D0%B5%D1%80%D0%BD%D0%B8%D1%87%D0%B0%D1%82%D1%8C-%D1%81-ethereum-%D0%BF%D0%BE%D0%BB%D0%BD%D 1%8B%D0%B9-%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D0%B9-%D0%B4%D0 %BB%D1%8F-%D0%BC%D0%B0%D1%81%D1%88%D1%82%D0%B0%D0%B1%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F
  8. https://habr.com/ru/articles/807565/
  9. https://cyberleninka.ru/article/n/istoriya-razvitiya-kriptovalyuty
  10. https://forklog.com/news/ryad-ethereum-servisov-okazalsya-pod-ugrozoj-iz-za-uyazvimosti-v-protokole-jsonrpc

By