키헌터 작성
이 코드에는 비밀 키나 개인 키를 유출할 수 있는 암호화 취약점이 없습니다. 그러나 잠재적으로 위험한 부분은 지갑을 생성하는 옵션 부분입니다.
자바:.put("disable_private_keys", Optional.of(false))
이는 개인 키가 비활성화되지 않았 음을 의미합니다 (즉, 지갑이 숨겨진 개인 키로 생성됨).

지갑 접근 보안이 미흡하거나 개인 키가 포함된 정보가 기록되는 경우 정보 유출이 발생할 수 있습니다.
이 메서드는 빈 매개변수를 포함하여 매개변수를 받는 createWalletIfNecessary메서드를 호출합니다 .bitcoinJsonRpcClient.send("createwallet", args)passphrase
자바.put("passphrase", Optional.empty())
지갑 암호화 암호(암호)가 없으면 개인 키의 보안이 취약해지고 공격자가 지갑에 접근할 경우 손상될 가능성이 있습니다.
요약하자면, 문제가 되는 부분은 다음과 같습니다.
자바.put("disable_private_keys", Optional.of(false)) // приватные ключи включены
.put("passphrase", Optional.empty()) // отсутствует пароль шифрования кошелька
만약 명백한 키 유출을 찾고 싶다면, 이 코드 조각에는 그러한 유출 흔적이 없지만, 취약한 키 보호(암호 부재)와 개인 키 포함은 잠재적인 보안 위협이 될 수 있습니다.
특정 위험에 관심이 있다면 비밀번호 없이 개인 키 저장 기능을 활성화한 지갑을 생성하는 데 주의를 기울이세요.
아래는 암호화 취약점의 원인, 해결 방법, 그리고 비트코인 개인 키 문제를 해결하기 위한 안전한 코드 예제를 자세히 설명하는 연구 논문입니다.

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

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

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

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

암호화폐 보안 연구 분야에서 BtCryptoFinder는 비트코인 지갑 구현의 취약점을 탐지하고 분석하도록 설계된 강력한 도구로 부상했습니다. 이 글에서는 BtCryptoFinder의 아키텍처를 자세히 살펴보고, 이 도구가 어떻게 핵심 취약점을 이용하여 개인 키를 추출하는지 설명하며, 대규모 지갑 복구 및 보안 완화에 미치는 영향에 대해 논의합니다.
추상적인
BtCryptoFinder는 JSON-RPC 인터페이스 퍼징 및 지갑 저장소 의미론 검사를 통해 비트코인 클라이언트의 암호화 설정 오류를 자동으로 찾아냅니다. 새롭게 발견된 취약점, 즉 개인 키 보호 비활성화와 암호화되지 않은 지갑 인스턴스화를 결합하면 공격자는 대상 노드에서 암호화되지 않은 키 정보를 강제로 추출할 수 있습니다. 본 논문에서는 이러한 취약점의 기본 메커니즘, 공격 워크플로 및 이러한 공격에 대한 지갑 배포 강화 방안을 제시합니다.
1. 서론
비트코인의 보안은 근본적으로 개인 키의 비밀 유지에 달려 있습니다. secp256k1 기반의 ECDSA와 같은 암호화 알고리즘은 여전히 강력하지만, 구현상의 오류로 인해 안전성이 위협받을 수 있습니다. BtCryptoFinder는 비트코인 JSON-RPC 엔드포인트와 지갑 파일 구조를 체계적으로 조사하여 개인 키를 노출시키는 잘못된 구성을 찾아냄으로써 이러한 취약점을 해결합니다.
2. BtCryptoFinder 개요
BtCryptoFinder는 세 가지 핵심 모듈을 통합한 확장 가능한 Python 프레임워크입니다.
- RPC 퍼저 : 매개변수 처리를 테스트하기 위해 형식이 잘못되었거나 경계값을 사용하는 RPC 호출(예:
createwallet)을 생성합니다. - Wallet Inspector : 디스크에 있는 지갑 파일을 분석하여 암호화되지 않은 키 블롭이나 주석 처리된 암호화 플래그를 찾습니다.
- 로깅 분석기 : 노드 로그를 모니터링하여 의도치 않은 키 덤프 또는 16진수로 인코딩된 비밀 정보가 포함된 디버그 추적 기록을 찾습니다.
모듈식 설계 덕분에 사용자 지정 페이로드를 사용하여 새롭게 나타나는 취약점을 공격할 수 있으며, 여러 regtest 또는 테스트넷 노드에서 일괄 스캔을 지원합니다.
3. “개인 키 비활성화” 취약점
createwalletJSON-RPC 호출을 다음과 같이 실행할 때 치명적인 결함이 발생합니다 .
텍스트disable_private_keys = false
passphrase = ""
이는 노드에게 개인 키 저장 기능은 활성화하되 암호화는 비활성화한 지갑을 생성하도록 지시합니다. 이러한 구성에서는 다음과 같습니다.
- 지갑의 키 파일은 평문으로 남아 있습니다.
- 호출
dumpwallet이나 디버그 로깅으로 인해 의도치 않게 모든 키 쌍이 노출될 수 있습니다. - 암호 확인 절차가 없으므로 인증된 RPC 클라이언트는 누구나 원시 개인 키를 가져올 수 있습니다.
4. BtCryptoFinder를 사용한 공격 워크플로
- 발견 단계
- BtCryptoFinder의 RPC 퍼저는
listwallets사용 가능한 지갑을 열거하는 메시지를 전송합니다. - 응답 메타데이터에서 취약한 지갑 구성이 감지되면 도구는 다음 단계로 진행합니다.
- BtCryptoFinder의 RPC 퍼저는
- 활용 단계
- 퍼저는 조작된 페이로드를 제출하여
createwallet빈 값을loadwallet보장합니다 .disable_private_keys=falsepassphrase - BtCryptoFinder는
dumpwalletJSON-RPC 채널을 통해 WIF 형식의 모든 개인 키를 직접 검색합니다.
- 퍼저는 조작된 페이로드를 제출하여
- 추출 단계
- 원시 키 자료는 노드의 UTXO 세트와 비교하여 검증되어 소유권을 확인합니다.
- BtCryptoFinder는 자동 자금 이체를 용이하게 하기 위해 복구된 키와 관련 주소를 CSV 파일로 출력합니다.
5. 지갑 복구 및 시스템적 위험에 미치는 영향
- 대규모 복구 : 공격자는 손상되었거나 악의적으로 구성된 노드를 제어하여 단 몇 분 만에 수천 개의 사용자 키를 탈취할 수 있으므로 자체 보관 솔루션에 대한 신뢰가 약화됩니다.
- Regtest/테스트넷 악용 : 비운영 네트워크조차도 자격 증명 재사용이나 피싱 공격에 악용될 수 있으며, 피해자가 키를 노출하도록 유도할 수 있습니다.
- 생태계 취약성 : 많은 지갑 프런트엔드가 동일한 RPC 매개변수에 의존하기 때문에 단일 라이브러리 문제가 다양한 비트코인 서비스 전반에 걸쳐 연쇄적인 영향을 미칠 수 있습니다.
6. 완화 전략
BtCryptoFinder 유형의 공격 및 그 근본적인 취약점에 대응하기 위해:
- 암호화 강제 : 모든 지갑 생성 루틴에서 기본적으로 비어 있지 않은 암호를 요구합니다.
- RPC 화이트리스트
createwallet: `get` , `get`loadwallet, `get`과 같은 JSON-RPC 메서드는dumpwallet보안 VPN 뒤에 있는 신뢰도가 높은 클라이언트로 제한합니다. - 지갑 접근 감사 : RPC 로그에서 발생하는 모든 오류
disable_private_keys=false를 모니터링하고 알림을 제공합니다 .passphrase="" - 라이브러리 업데이트 : Bitcoin Spring Boot Starter(및 유사한 래퍼)에 안전하지 않은 구성을 거부하도록 필수 검사를 통합했습니다.
7. 결론
BtCryptoFinder는 툴이 비트코인 지갑 시스템의 치명적인 구현 결함을 발견하고 악용하는 데 어떻게 활용될 수 있는지를 보여주는 대표적인 사례입니다. 개인 키 보호 기능이 비활성화되고 암호화가 적용되지 않아 발생하는 이 취약점은 엄격한 기본 설정과 지속적인 감사의 필요성을 강조합니다. 노드 운영자는 엄격한 암호문 적용과 강화된 RPC 제어를 통해 대규모 개인 키 추출을 차단하고 자체 보관형 비트코인 지갑의 무결성을 유지할 수 있습니다.
비트코인 개인 키의 암호화 취약점 분석 및 안전한 제거 방법
소개
개인 키와 공개 키 쌍은 비트코인과 같은 블록체인 시스템 보안의 핵심입니다. 개인 키 생성 또는 저장 과정에서의 취약점은 키 유출, 자금 손실, 그리고 생태계에 대한 신뢰도 하락으로 이어질 수 있습니다. 겉보기에는 간단해 보이지만, 암호화 기술의 구현 및 통합에는 엄격한 표준 준수와 핵심 정보 보호에 대한 세심한 관리가 필수적입니다.
이 글에서는 비트코인 개인 키 생성에 사용되는 타원 곡선 secp256k1의 매개변수를 잘못 정의하는 일반적인 오류를 분석합니다. 취약점의 메커니즘과 그 결과를 살펴보고, 코드 예제를 통해 안전하게 수정하는 방법을 설명합니다.
취약성 발생 메커니즘
비트코인은 엄격한 수학적 매개변수를 특징으로 하는 타원 곡선 secp256k1을 사용합니다. 핵심 매개변수 중 하나는 개인 키를 선택해야 하는 곡선 점 그룹 NNN의 순서입니다. 즉, 1≤k<N1 ≤ k < N1≤k<N입니다.
몇몇 오류가 있는 구현에서 NNN 상수가 잘못 지정되었습니다. 예를 들어, N=(1<<256)−0x14551231950B75FC4402DA1732FC9BEBFN = (1 << 256) — 0x14551231950B75FC4402DA1732FC9BEBFN=(1<<256)−0x14551231950B75FC4402DA1732FC9BEBF 와 같이 지정되었습니다.
올바른 값 대신 N=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141N = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141N=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141
이로 인해 개인 키가 유효하지 않은 범위, 즉 약 21282^{128}2128만큼 벗어난 값으로 생성됩니다. 결과적으로 약 50%의 키가 유효하지 않게 됩니다.
이 버그는 개인 키 유효성 검사 오류로도 나타나며, 이로 인해 지원되지 않는 키 쌍이 생성 및 사용될 수 있습니다. 이는 암호화 프로토콜의 무결성을 훼손하고 다음과 같은 여러 유형의 공격에 취약하게 만듭니다.
- 디지털 서명에 사용되는 값의 주요 충돌 및 예측 가능성;
- 반복적인 생성을 기반으로 한 공격을 통해 개인 키를 복구할 확률이 높아짐(생일 역설);
- 비트코인 네트워크와의 호환성 문제로 인해 거래가 거부되고 있습니다.
(2015년 HSM 하드웨어 모듈 공격과 같은) 과거 사례는 매개변수의 작은 오류조차도 심각한 자금 손실로 이어질 수 있음을 보여줍니다.
취약성의 결과
- 자금 손실 : 키 생성 오류가 발생하면 네트워크에서 지원되지 않는 키 또는 거래를 거부하여 소유자가 자금에 접근할 수 없게 될 수 있습니다.
- 보안 침해 : 공격자는 수학적 이상 현상을 악용하여 개인 키를 복구할 수 있습니다.
- 서비스 거부 공격 : 지원되지 않는 키를 감지한 노드는 거래를 거부하고 네트워크 기능을 저하시킬 수 있습니다.
취약점에 대한 안전한 패치
보안의 기본 원칙은 검증되고 표준화된 라이브러리(예: libsecp256k1)를 사용하고, SEC와 NIST에서 정의한 공식 타원 곡선 secp256k1 매개변수를 엄격히 준수하는 것입니다.
권장 단계
- NNN 곡선 매개변수 및 기타 상수의 정확성을 확인하십시오.
- [1,N−1][1, N-1][1,N−1] 범위의 암호학적으로 강력한 난수 생성기를 통해 개인 키 생성을 사용합니다.
- 개인 키에 대해 범위별 엄격한 유효성 검사를 구현하십시오.
- 강력한 암호화를 제공하고 개인 키에 대한 접근을 제한하십시오(예: 암호/문구 요구).
- 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 곡선 매개변수의 잘못된 정의와 개인 키 범위 위반은 자금 손실 및 보안 침해로 이어질 수 있는 심각한 취약점을 초래합니다.
취약점을 제거하기 위해서는 검증된 라이브러리와 표준을 사용하고, 개인 키의 안정적인 생성 및 검증을 보장하며, 엄격한 보안 조치로 키를 보호해야 합니다. 이러한 접근 방식을 구현하면 비트코인 및 유사한 블록체인 기술 기반 생태계의 신뢰성과 안정성을 유지할 수 있습니다.
아래는 비트코인 개인 키의 심각한 취약점이 보안에 미치는 영향, 해당 공격의 과학적 명칭, 그리고 CVE 번호 등록에 대해 설명하는 연구 논문입니다.
비트코인 보안에 대한 핵심 개인 키 취약점의 영향, 공격 유형 및 CVE 분류
소개
비트코인 보안 시스템은 암호화 자산에 대한 제어권을 제공하는 개인 키의 엄격한 관리에 기반합니다. 개인 키 생성 또는 검증 규칙을 위반하면 자금 손실부터 대규모 네트워크 공격 가능성에 이르기까지 심각한 문제가 발생할 수 있습니다.
개인 키의 하한값 검사가 미흡한 것과 관련된 심각한 취약점(CVE-2025-27840)이 보고되었습니다. 이 취약점은 비트코인 소프트웨어가 0 이하의 유효하지 않은 개인 키 사용을 허용하기 때문에 발생하며, 네트워크와 사용자 자산에 보안 위험을 초래합니다.
과학적 명칭 및 공격 유형
이 취약점은 “유효하지 않은 키 공격” 범주에 속합니다. 핵심은 개인 키 유효성 검사 과정에서 최소값 확인이 제대로 이루어지지 않아 0이나 음수와 같은 유효하지 않은 키 값을 사용할 수 있다는 점입니다.
이러한 키를 사용하면 공격자는 다음과 같은 기회를 얻게 됩니다.
- 암호화 보안 보장을 위반하는 특수 속성을 가진 서명을 생성합니다.
- 타인의 자금에 무단으로 접근하는 행위;
- 네트워크 노드에 오류 또는 논리적 오류를 발생시켜 서비스 거부를 초래합니다.
- 거래를 위조하고 블록체인의 무결성을 훼손합니다.
과학적으로, 이 취약점은 암호화 체계의 전제 조건 위반과 관련된 공격 유형, 특히 키 및 서명 유효성 검사의 정확성에 대한 공격(키 유효성 검사 취약점)으로 분류될 수 있습니다.
CVE 취약점 분류 및 번호
이 취약점은 NIST 취약점 데이터베이스에서 고유 식별자를 부여받았습니다.
- CVE-2025-27840 – 비트코인 개인 키 검증 기능의 심각한 취약점으로, 하한 검사가 없어 유효하지 않은(0 이하) 키가 사용될 수 있습니다.
등록 세부 정보에는 영향에 대한 설명이 포함됩니다.
- 유효하지 않은 키를 원격으로 사용할 가능성;
- 거래 보안 위반 및 자금 손실 위험;
- 서명 위조를 통한 공격 가능성.
비트코인 보안에 대한 취약점의 영향
이 취약점을 이용하면 공격자는 유효하지 않은 값으로 개인 키를 생성하여 검증 상한을 우회할 수 있습니다. 결과:
- 비트코인에서 사용되는 secp256k1 표준을 준수하지 않는 키를 생성하는 행위;
- 서명 검증 메커니즘 위반;
- 서명을 위조하고, 유효하지 않은 키를 사용하여 거래를 생성하는 능력;
- 네트워크 장애 및 노드 장애로 인한 네트워크에 대한 신뢰 상실;
- 취약한 코드를 사용하는 지갑이 해킹당할 경우 자금 손실이 발생할 수 있습니다.
공격 방지 및 해결을 위한 권장 사항
이러한 취약점을 방지하려면 다음을 수행해야 합니다.
- 개인 키의 하한값에 대한 필수 검사를 추가합니다. 키 값은 반드시 0보다 커야 합니다.
- secp256k1 키 유효성 검사를 올바르게 구현하는 검증된 암호화 라이브러리만 사용하십시오.
- 이러한 오류를 찾아내기 위해 코드 감사를 실시하고, 주요 검증 사항에 대한 자동화된 테스트를 제공합니다.
- 지갑 보호를 위해 다중 인증 및 추가 보안 조치를 구현하십시오.
- 이 취약점이 발견된 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은 비트코인 하드웨어 지갑의 심각한 취약점으로, 개인 키의 완전한 유출과 자금 손실로 이어질 수 있습니다. 이 위협의 규모는 취약한 마이크로컨트롤러의 광범위한 사용과 무선 연결을 통한 원격 제어 가능성 때문입니다.
결론적으로, 본 논문은 비트코인에서 개인 키의 잘못된 생성 및 검증과 관련된 심각한 암호화 취약점이 전체 암호화폐 생태계의 보안에 중대한 위협을 가한다는 점을 강조합니다. 주요 오류는 타원 곡선 그룹 secp256k1의 순서가 잘못 정의되어 허용 범위를 벗어난 유효하지 않은 키가 상당수 생성되는 것입니다.
이 취약점은 서명 호환성 문제, 네트워크상의 거래 거부, 수학적 공격(생일 역설 공격 포함)을 통한 개인 키 탈취 위험 등 광범위한 문제를 야기합니다. 과학적으로는 ‘유효하지 않은 키 공격’으로 분류됩니다.
이러한 오류가 소유자의 자금 전액 손실과 비트코인에 대한 신뢰도 하락으로 이어질 수 있다는 점이 중요한 위협 요소입니다. 이는 특히 하드웨어 지갑에 심각한 문제인데, CVE-2025-27840 사례에서 볼 수 있듯이 마이크로컨트롤러의 하드웨어 오류를 통한 공격 가능성 때문에 취약점이 더욱 악화되기 때문입니다.
안전한 솔루션은 암호화 표준을 엄격히 준수하고, 개인 키가 올바른 범위에 속하는지 의무적으로 확인하며, libsecp256k1과 같은 검증된 암호화 라이브러리를 사용하는 것으로 구성됩니다. 포괄적인 보안 조치를 구현하고 철저한 코드 감사를 수행해야만 이러한 심각한 취약점으로부터 보호하고 미래에도 비트코인의 신뢰성을 유지할 수 있습니다.
이러한 취약점은 암호화 프로토콜의 작은 오류조차도 금융 시스템에 치명적인 결과를 초래할 수 있음을 보여주며, 모든 수준에서 보안에 대한 지속적인 주의가 필요함을 시사합니다.
- https://pikabu.ru/story/private_key_debug_nekorrektnaya_generatsiya_privatnyikh_klyuchey_sistemnyie_uyazvimosti_bitkoina_chast_1_12755765
- https://www.kaspersky.ru/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/36592/
- https://www.itsec.ru/articles/upravlenie-uyazvimostyami-v-kriptokoshelkah
- https://www.ixbt.com/live/crypto/hakery-vseh-obmanut-ili-mozhno-li-vse-taki-slomat-sistemu-bitkoina.html
- https://top-technologies.ru/ru/article/view?id=37634
- https://forklog.com/news/eksperty-ugroza-kvantovoj-ataki-na-kriptovalyuty-preuvelichena
- https://cyberleninka.ru/article/n/metodika-analiza-dannyh-v-blokcheyn-sisteme-bitcoin
- https://coinsutra.com/ru/bitcoin-private-key/
- https://opennet.ru/56670/
- https://habr.com/ru/articles/430240/
위험을 최소화하기 위해서는 기기의 펌웨어를 신속하게 업데이트하고, 난수 생성 기능을 강화하며, 하드웨어 지갑에 다단계 보안 조치를 구현하는 것이 필수적입니다.
- https://forklog.com/news/in-chips-for-bitcoin-koshelkov-obnaruzhili-kriticheskuyu-uyazvimost
- https://www.binance.com/ar/square/post/23032270897889
- 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
- https://polynonce.ru/%D0%BD%D0%BE%D0%B2%D1%8B%D0%B9-%D1%80%D1%83%D0%B1%D0%B5%D0%B6-%D0%BA%D0%B8%D0%B1%D0%B5%D1%80%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D0%B8-%D0%BA%D0%BB%D1%8E%D1%87%D0%B5/
- https://cryptodeep.ru/quantum-attacks-on-bitcoin/
보다 자세한 기술 데모나 취약점 수정 코드가 필요하시면 요청 시 제공해 드릴 수 있습니다. cryptodeep+2
- https://cryptodeep.ru/bitcoin-bluetooth-attacks/
- 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
- https://forklog.com/news/in-chips-for-bitcoin-koshelkov-obnaruzhili-kriticheskuyu-uyazvimost
- https://pikabu.ru/story/kak_uyazvimosti_cve202529774_i_bag_sighash_single_ugrozhayut_multipodpisnyim_koshelkam_seti_bitkoin_s_poddelnyimi_rawtx_chast_3_12995204
- https://pikabu.ru/story/kriptoanaliz_bitkoina_uyazvimost_cve202527840_v_mikrokontrollerakh_esp32_podvergaet_risku_milliardyi_iotustroystv_cherez_wifi_i_bluetooth_12555320
- https://cryptodeep.ru/break-ecdsa-cryptography/
- https://habr.com/ru/companies/tomhunter/articles/885300/
- https://shard.ru/article/how_esp32_chip_vulnerability_compromises_blockchain_security
- https://habr.com/ru/articles/771980/
- https://service.securitm.ru/vm/vulnerability/fstec/show/BDU:2023-06146
특정 암호화 보호 방법이나 공격 사례에 대한 추가 정보가 필요한 경우, 보다 구체적인 연구 및 구현 측면을 고려할 수 있습니다. pikabu+1
- https://pikabu.ru/story/private_key_debug_nekorrektnaya_generatsiya_privatnyikh_klyuchey_sistemnyie_uyazvimosti_bitkoina_chast_1_12755765
- 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
- https://cyberleninka.ru/article/n/primenenie-blockchain-v-kriptovalyute-bitcoin-1
- https://cyberleninka.ru/article/n/analiz-blokcheyn-tehnologii-osnovy-arhitektury-primery-ispolzovaniya-perspektivy-razvitiya-problemy-i-nedostatki
- https://osp.ru/os/2025/02/13059629
- https://top-technologies.ru/ru/article/view?id=37634
- https://science-engineering.ru/ru/article/view?id=1247
- https://www.computerra.ru/318125/shifr-kotoryj-padet-kak-kvantovye-tehnologii-mogut-obnulit-kriptomir/
- https://onekey.so/blog/ru/ecosystem/crypto-and-quantum-computing-is-it-a-threat
- https://securitymedia.org/info/nadezhnye-shifry-kriptografiya-v-sovremennom-mire.html
org.tbk.bitcoin.regtest.config 패키지에 제공된 코드에는 비밀 키나 개인 키를 명시적으로 유출하는 부분이 없습니다. 이 코드는 regtest 네트워크용 비트코인 클라이언트를 구성하고 네트워크 검증을 수행하지만, 개인 키를 사용하는 작업은 포함하지 않습니다. BitcoinExtendedClient 클래스는 개인 키에 명시적으로 접근하지 않고 RPC 구성을 기반으로 생성됩니다.
핵심 사항:
- 올바른 네트워크가 사용되고 있는지 확인하는 regtest 작업은 다음 줄에서 수행됩니다.
자바String requiredNetworkId = NetworkParameters.ID_REGTEST;
String configuredNetworkId = rpcConfig.getNetParams().getId();
boolean isRegtest = configuredNetworkId.equals(requiredNetworkId);
- BitcoinExtendedClient 생성하기:
자바return new BitcoinExtendedClient(rpcConfig);
암호화 보안 취약점(예: 개인 키 유출)은 일반적으로 개인 키가 올바르게 생성, 저장 또는 전송되지 않을 때 발생합니다. 제공된 코드는 이러한 작업과 직접적인 관련이 없습니다.
일반적으로 취약점은 프로그램의 다른 부분, 즉 다음과 같은 곳에 있을 수 있습니다.
- RPC 구성 보안이 손상되었습니다(예: 권한 데이터가 저장된 rpcConfig에 대한 보호되지 않은 접근).
- 개인 키 또는 비밀 키는 평문으로 저장됩니다.
- 키 관리가 부적절하거나 안전하지 않은 채널을 통해 전송되고 있습니다.
개인 키를 사용하는 다른 코드 분석에 도움이 필요하시면 자세히 검토해 드리겠습니다. 현재로서는 이 코드 조각에서 명확한 암호화 취약점은 발견되지 않았습니다.
개인 키 생성 과정에서 발생하는 누출이나 오류, 예를 들어 secp256k1 취약점에서처럼 N 상수를 잘못 처리하는 문제(다른 취약점에서도 발생함)를 추적하는 방법에 관심이 있으시다면, 관련 정보를 제공해 드릴 수 있습니다. 검색 결과, 잘못된 키 생성 사례와 잘못된 상수를 오류 문자열 형태로 사용한 사례를 발견했습니다.
자바N = (1 << 256) - 0x14551231950B75FC4402DA1732FC9BEBF
secp256k1 표준에 따른 올바른 값 대신에:
자바N = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141
이 버그는 유효하지 않은 키 생성과 심각한 암호화 보안 취약점을 초래합니다. pikabu+1
결과적으로, 비트코인 regtest 클라이언트 구성 로직이 포함된 코드 라인에는 개인 키 유출과 같은 취약점이 없습니다. 암호화 취약점을 식별하려면 키 생성, 저장 또는 전송과 관련된 코드를 분석해야 하는데, 이 코드는 여기에 나와 있지 않습니다 .
아래는 비트코인 지갑의 개인 키 생성과 관련된 암호화 취약점의 특성, 발생 원인, 그리고 향후 유사 공격을 방지하기 위한 안전한 코드 예제를 포함한 권장 수정 사항을 자세히 설명하는 연구 논문입니다.
비트코인 개인 키 생성 과정의 암호화 취약점: 원인, 결과 및 안전한 해결책
소개
비트코인을 비롯한 암호화폐에서 개인 키는 금융 거래 보안과 자금 소유권의 기반입니다. 암호화 보호의 신뢰성은 개인 키의 무작위성과 예측 불가능성에 직접적으로 달려 있습니다. 개인 키 생성 또는 저장 과정에 취약점이 있을 경우 해킹으로 인한 자금 손실 위험이 발생할 수 있습니다.
취약성의 원인
주요 취약점 유형은 개인 키 생성 오류 와 관련이 있습니다 . 개인 키는 높은 엔트로피로 생성되는 특정 길이(비트코인의 경우 일반적으로 256비트)의 난수입니다.
실제로, 특히 초기 암호화폐 지갑 버전(2011년부터 2015년까지)에서는 의사 난수 생성 라이브러리가 사용되었습니다. 그중에서도 인기 있는 JavaScript 라이브러리인 BitcoinJS는 JSBN 라이브러리의 SecureRandom 함수를 사용했습니다. SecureRandom은 브라우저의 엔트로피 생성 함수를 이용했는데 window.crypto.random, 당시(2011-2013년)에는 많은 인기 브라우저에서 이 함수가 구현되어 있지 않았고 제대로 테스트되지도 않았기 때문에 문제가 발생했습니다. 결과적으로, 이 함수가 없으면 엔트로피가 증가하지 않고 예측 가능하고 무차별 대입 공격에 취약한 window.crypto.random불안정한 생성기에 의존하게 되었습니다 .Math.random
이는 생성된 키를 공격자가 쉽게 추측할 수 있음을 의미하며, 수백만 개의 지갑이 해킹될 위험에 노출될 수 있음을 뜻합니다.
취약성의 결과
해당 취약점으로 인해 실제 공격이 발생하고 영향을 받는 지갑에서 자금이 도난당했습니다. 언사이퍼드(Unciphered) 연구팀은 취약한 생성기를 분석하여 여러 취약한 지갑의 개인 키를 복구할 수 있었으며, 이를 통해 해당 문제를 악용할 수 있음을 확인했습니다.
보안 솔루션 및 취약점 수정
안전한 개인 키 생성 원칙
- 플랫폼에서 제공하는 암호학적으로 강력한 난수 생성기(CSPRNG)를 사용하십시오(예
java.security.SecureRandom: Java,System.Security.Cryptography.RandomNumberGenerator.NET,window.crypto.getRandomValues최신 브라우저). - 생성기를 사용하기 전에 생성기의 완성도와 적합성을 확인하십시오(예: 누락되었거나 안전하지 않을 수 있는 오래된 방법이나 기능에 의존하지 마십시오).
Math.random‘암호학적으로 강력한’ 또는 이와 유사한 일반적인 난수 생성기 사용을 피하십시오 .
자바에서 안전한 수정 방법의 예
SecureRandom오래되었거나 검증되지 않은 생성기 대신 암호학적으로 강력한 생성기인 Java 플랫폼용 생성기를 사용해야 합니다 .
자바import java.math.BigInteger;
import java.security.SecureRandom;
public class BitcoinKeyGenerator {
private static final SecureRandom secureRandom = new SecureRandom();
private static final int KEY_SIZE = 256;
/**
* Генерация приватного ключа в диапазоне [1, N-1] где N - порядок кривой secp256k1.
*/
public static BigInteger generatePrivateKey() {
// Порядок эллиптической кривой secp256k1
final BigInteger curveOrder = new BigInteger(
"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141", 16);
BigInteger privateKey;
do {
// Генерируем случайное число размером 256 бит
privateKey = new BigInteger(KEY_SIZE, secureRandom);
} while (privateKey.compareTo(BigInteger.ONE) < 0 || privateKey.compareTo(curveOrder) >= 0);
return privateKey;
}
public static void main(String[] args) {
BigInteger privKey = generatePrivateKey();
System.out.println("Сгенерированный приватный ключ: " + privKey.toString(16));
}
}
설명:
SecureRandom높은 엔트로피와 암호화 강도를 제공하는 객체가 사용됩니다 .- 키가 허용 범위(1부터 secp256k1 곡선의 차수에서 1을 뺀 값까지) 내에 있는지 확인하기 위한 검사가 수행됩니다.
- 이러한 접근 방식은 기존 구현 방식에서 흔히 발생하는 주요 예측 가능성 취약점을 방지합니다.
결론
비트코인 클라이언트의 개인 키 생성 과정에서의 취약점은 심각한 보안 위협을 초래하며, 취약한 라이브러리를 사용하여 제작된 지갑에 대한 실제 공격 사례들이 이를 입증하고 있습니다. 이러한 문제의 주요 원인은 안전하지 않거나 충분히 검증되지 않은 난수 생성기를 사용하는 데 있습니다.
암호학적으로 강력한 생성 방법 사용, 조건에 대한 신중한 검사, 그리고 오래된 API의 사용 거부는 이러한 유형의 취약점을 완전히 제거합니다. 안전한 프로그래밍과 라이브러리 및 종속성의 정기적인 업데이트는 비트코인 생태계에서 암호화 공격으로부터 보호하기 위한 핵심 조건입니다.
아래는 비트코인 암호화폐의 보안에 영향을 미치는 개인 키 생성 또는 검증 과정의 심각한 취약점에 대한 연구 논문, 공격의 과학적 명칭 및 설명, 그리고 CVE 식별자입니다.
비트코인 암호화폐 보안에 미치는 개인 키 생성의 심각한 취약점의 영향: 과학적 분석 및 CVE 식별
소개
비트코인은 탈중앙화된 암호화폐로서 개인 키의 암호학적 강도에 전적으로 의존합니다. 이 키를 통해 사용자는 거래에 서명하고 전자 자산을 관리할 수 있습니다. 개인 키 생성 또는 검증과 관련된 취약점은 네트워크 보안 침해 및 자금 탈취로 이어질 수 있습니다.
치명적인 취약점이 발생하는 과정과 공격에 미치는 영향
심각한 취약점은 대부분 개인 키 생성 오류 또는 허용 범위 경계에서 개인 키의 유효성을 제대로 검사하지 않아서 발생합니다.
특히, 프로그램 코드가 개인 키의 하한값을 정확하게 검사하지 못하는 경우 취약점이 발생합니다. 즉, 0이나 음수(수치 기준)의 키를 생성할 수 있게 되어, 이는 잘못되고 취약한 상태가 됩니다.
개인 키 검증 기능(예: has_invalid_privkey)의 버그로 인해 유효하지 않은 키를 사용할 수 있습니다. 이는 다음과 같은 문제를 야기할 수 있습니다.
- 공격자가 “나쁜” 키를 생성하고 사용하는 것은 비트코인 거래의 디지털 서명 보안을 위협합니다.
- 난수 생성기가 취약하거나 키 검증이 불충분한 경우, 공격자는 무차별 대입 방식을 사용하여 개인 키를 복구할 수 있습니다.
- 이러한 코드 오류를 악용한 사용자들의 자금 손실.
명시된 공격은 키 생성/검증에 대한 공격 유형에 속하며 과학적 명칭은 “낮은 개인 키 검증 공격” 또는 러시아어로 ” 유효하지 않은(낮은) 개인 키를 사용하는 공격” 입니다 .
공격의 과학적 명칭
이 취약점과 관련된 공격은 과학적으로 다음과 같이 분류됩니다.
- 잘못된 개인 키 공격 – 잘못 검증되었거나 유효하지 않은 개인 키를 사용하는 공격;
- 낮은 또는 0의 개인 키 공격 – 유효한 키로 인정될 수 없을 정도로 작거나 0인 키를 사용하는 공격입니다.
- 타원 곡선 암호 시스템(ECC) 에 대한 공격 , 특히 키 생성 및 검증 측면에서의 공격.
CVE 취약점 식별자
설명된 비트코인 개인 키 생성 및 검증 시스템의 취약점에 대해 CVE 데이터베이스에 다음 번호로 항목이 발견 및 등록되었습니다.
- CVE-2025-27840
이 CVE는 비트코인 하드웨어 지갑(예: Blockstream Jade)에 흔히 사용되는 ESP32 마이크로컨트롤러 아키텍처에서 발견된 심각한 취약점을 나타냅니다. 이 취약점은 다음과 같은 위험을 포함합니다.
- 개인 키를 원격으로 추출할 가능성;
- 하한값 검사 부족으로 인해 유효하지 않은 개인 키를 사용하고 있습니다.
- 키를 예측 가능하게 만드는 약한 의사 난수 생성기(PRNG);
- 거래 서명의 잠재적 대체 가능성.
이 취약점은 취약한 마이크로컨트롤러를 사용하는 수십억 개의 IoT 기기와 하드웨어 지갑에 엄청난 영향을 미치기 때문에 널리 주목받고 있습니다. shard+2
취약점이 비트코인 보안에 미치는 영향
이 취약점을 악용하면 공격자는 다음과 같은 작업을 수행할 수 있습니다.
- 무단으로 개인 키에 접근하여 비트코인 네트워크에서 피해자의 지갑을 즉시 제어할 수 있게 됩니다.
- 거래의 디지털 서명을 위조하여 자금 출처에 대해 네트워크를 속입니다.
- 디지털 자산을 저장하는 가장 안전한 솔루션으로 여겨지는 하드웨어 지갑을 공격하여 손상시키십시오.
- 지갑 소유자 몰래 자금을 인출하세요.
결과적으로 시스템 전체의 보안과 사용자 신뢰에 심각한 위협이 발생합니다.
결론
비트코인 개인 키 생성 및 검증과 관련된 심각한 취약점은 비트코인 네트워크의 보안에 치명적인 영향을 미칩니다. 이러한 취약점을 분석하고 수정하는 것은 디지털 자산을 보호하기 위해 매우 중요한 과제입니다.
ESP32 하드웨어 지갑의 마이크로컨트롤러 오류와 개인 키 검증 미흡을 지적하는 취약점 CVE-2025-27840은 소프트웨어 및 하드웨어 업데이트를 통해 반드시 수정해야 하는 심각한 문제의 구체적인 예입니다.
시스템의 안전한 운영을 보장하기 위해서는 개인 키의 경계를 엄격하게 검사하고, 암호학적으로 강력한 생성기를 사용하여 무효 개인 키 공격을 방지해야 합니다 .
이 글의 최종 결론은 다음과 같이 생생하고 의미심장하게 요약될 수 있습니다.
최종 결론
비트코인 생태계에서 개인 키 생성 및 검증 오류와 관련된 심각한 취약점이 전체 암호화폐의 보안에 중대한 위협을 가하고 있습니다. 특히, 타원 곡선 secp256k1의 매개변수 계산 오류, 그중에서도 NNN 점군 순서의 잘못된 결정은 유효하지 않은 키 생성을 초래하여 디지털 서명의 무결성을 손상시키고 네트워크에서 서명을 거부하게 만들 수 있습니다.
이 취약점은 ‘낮은 개인 키 검증 공격(Low Private Key Validation Attack) ‘이라는 위험하고 효과적인 공격을 가능하게 합니다 . 공격자는 유효하지 않거나 예측 가능한 키를 사용하여 사용자의 자금을 탈취하고 거래를 위조할 수 있습니다. 실제 시나리오에서 이러한 공격을 통해 개인 키를 추출하고 지갑에 대한 완전한 제어권을 확보하여 암호화폐를 훔칠 수 있습니다.
이 취약점은 CVE 데이터베이스에서 CVE-2025-27840 으로 식별되었으며 ESP32 마이크로컨트롤러를 사용하는 널리 배포된 하드웨어 솔루션에서 발견되어 잠재적 영향의 규모를 보여줍니다.
성공적인 보호를 위해서는 암호학적으로 강력한 난수 생성기를 사용하고 키 유효성 검사 기준을 엄격히 준수하여 [1,N−1][1, N-1][1,N−1] 범위를 벗어나는 값이 생성되지 않도록 해야 합니다. 이 취약점을 해결하는 것은 모든 암호 시스템 개발자에게 최우선 과제입니다.
기술적 엄격성, 검증, 그리고 지속적인 보안 업데이트가 결합되어야만 비트코인에 대한 신뢰를 유지하고, 이러한 심각한 취약점으로 인한 수백만 명의 사용자 손실을 막을 수 있습니다.
제시된 코드(비트코인 클라이언트용 Spring Boot 컨텍스트 구성 테스트)에서 빈 생성 및 연결 설정 테스트 코드 자체에는 명백한 암호화 취약점이 없습니다.
하지만 사용된 라이브러리 및 설정(예: org.tbk.bitcoin.jsonrpc) 수준에서 RPC 암호 및 키의 안전한 저장 및 전송에 취약점이 있을 수 있습니다. 이 테스트에서는 암호와 RPC 사용자를 문자열로 명시적으로 지정합니다.
자바.withPropertyValues(
...
"org.tbk.bitcoin.jsonrpc.rpcuser=test",
"org.tbk.bitcoin.jsonrpc.rpcpassword=test"
)
이처럼 비밀 정보를 명시적으로 하드코딩하는 것은 실제 환경에서 반복될 경우 다음과 같은 이유로 잠재적으로 위험할 수 있습니다.
- 비밀번호는 설정 파일에 평문으로 저장됩니다.
- 보안 채널(TLS)이 구성되지 않은 경우 RPC 액세스가 가로채일 수 있습니다.
- 이러한 키를 보호하거나 주기적으로 변경하지 않으면 RPC 클라이언트가 손상될 수 있습니다.
해당 암호화 취약점은 특정 테스트 문자열보다는 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 클라이언트에서 취약점이 발생하는 원인, 해결 방법 및 보안 코드 예시, 그리고 향후 유사 공격 방지를 위한 권장 사항을 자세히 설명하는 연구 논문입니다.
비트코인 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)
- 접근 제어 오류,
- 민감한 인증 데이터의 유출 또는 침해(자격 증명 노출).
특히, 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 데이터베이스 또는 사용 중인 라이브러리 플랫폼의 보안 권고 사항을 사용하여 라이브러리 버전과 관련 취약점을 검색하는 것이 좋습니다.
비트코인 JSON-RPC 클라이언트의 심각한 취약점에 대한 최종 과학적 검토에서는 일반적으로 원격 코드 실행(RCE)이라는 용어를 사용하는데, 이는 코드 삽입 및 자격 증명 유출과 관련이 있습니다. CVE 번호는 특정 취약 버전 소프트웨어에 대해 명확히 해야 합니다 .
이 글의 결론으로, 비트코인 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 인터페이스 공격에 대한 전반적인 상황을 종합적으로 고려해 볼 때, 포괄적인 보호 조치가 필요합니다. 즉, 안전한 통신 채널 사용, 적절한 유효성 검사 및 인증, 그리고 정기적인 소프트웨어 감사 및 업데이트가 요구됩니다.
따라서 비트코인과 그 생태계의 보안은 원격 코드 실행 및 서비스 거부 공격과 같은 치명적인 오류를 방지하는 데 직접적으로 달려 있으며, 이러한 공격은 개별 노드뿐만 아니라 전체 분산형 암호화폐 네트워크를 위협합니다.
이 코드에는 개인 키 유출이나 부적절한 처리와 관련된 명백한 암호화 취약점이 없습니다.
키 보안 또는 난수 생성과 관련된 암호화 위험에 관해서는 다음과 같습니다.
- 유효한 암호학적으로 안전한 생성기가 사용됩니다
SecureRandom(줄:
자바private final SecureRandom random = new SecureRandom();
- 개인 키 또는 비밀 키는 코드에 저장, 기록 또는 전송되지 않습니다.
따라서 이 코드 조각에는 암호화 취약점이 없습니다 .
취약점이 있을 것으로 예상되는 경우, 해당 취약점은 이 코드 외부, 예를 들어 RegtestMinerImplBitcoinClient의 구현이나 처리 방식, 또는 개인 키 처리가 구현된 다른 부분에 있을 수 있습니다.
연구 논문: 난수 생성기의 잘못된 사용으로 인한 암호화 취약점 및 이를 제거하는 안전한 방법
소개
암호학적으로 강력한 난수 생성(CSPRNG)은 안전한 암호화 시스템을 구축하는 데 있어 핵심적인 요소입니다. 개인 키, 토큰, 비밀번호 및 기타 비밀 데이터의 보안은 난수 생성 품질에 직접적으로 좌우됩니다. 난수 생성기를 부주의하거나 잘못 사용하면 엔트로피와 예측 가능성이 감소하여 공격자가 비밀 정보를 복구하고 암호화 도구에 무단으로 접근할 수 있는 취약점이 발생합니다.
취약성의 출현
암호화 취약점의 가장 일반적인 원인은 필요한 암호화 저항성과 높은 엔트로피를 제공하지 않는 난수 생성기를 사용하는 것과 관련이 있습니다. 특히, 어떤 경우에는 SecureRandom(Java) 클래스가 사용되지만 다음과 같은 경우 안전하지 않을 수 있습니다.
- 생성기는 낮은 엔트로피
seed, 예를 들어 밀리초 단위의 현재 시간이나 짧은 길이의 재료로 초기화되므로 선택 가능한 옵션의 공간이 크게 줄어듭니다. - RC4와 같이 오래되었거나 암호학적으로 안전하지 않은 알고리즘이 난수 생성 과정에 사용되어 생성된 난수의 통계적 특성이 저하됩니다.
Math.random()소프트웨어 논리 오류는 엔트로피가 현저히 낮은 안전하지 않은 의사 난수 생성기(예: JavaScript)에서 충돌을 일으킵니다 .- 개인 키 또는 비밀번호를 보호되지 않은 형태로 기록, 전송 또는 저장하는 행위.
취약점의 예로는 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 변수인데, 이 변수는 각 거래마다 고유하고 무작위적이어야 합니다. 만약 이 변수를 생성하는 난수 생성기가 취약하거나 예측 가능하다면, 공격자는 여러 서명을 분석하여 다음과 같은 결과를 얻을 수 있습니다.
- 사용자의 개인 키를 복구하세요.
- 그의 자금을 완전히 장악하세요.
- 피해자의 동의 없이 피해자를 대신하여 거래에 서명합니다.
이러한 유형의 취약점을 “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 암호화 라이브러리의 난수 생성기에서 발견된 취약점을 설명하며, 이러한 취약점을 악용하여 개인 키를 공격하는 사례가 있습니다.
비트코인 생태계에 대한 공격의 영향
공격자가 이 공격을 성공적으로 수행할 경우 다음과 같은 결과가 발생합니다.
- 취약한 지갑에서 비트코인을 훔치는 행위
- 암호 시스템에 대한 신뢰 상실
- 취약한 라이브러리와 마이크로컨트롤러를 사용하는 서비스의 중단
- 사용자와 기업 모두에게 금전적 손실을 초래합니다.
보호 및 예방
이러한 공격에 대응하기 위해 다음과 같은 조치가 취해집니다.
- 암호학적으로 강력한 엔트로피 소스(예
SecureRandom.getInstanceStrong(): Java)를 사용합니다. - RFC 6979에 따른 결정론적 논스 생성 알고리즘을 사용하여 리플레이 공격 및 정보 유출 위험을 줄입니다.
- 알려진 취약점을 제거하기 위해 소프트웨어 및 암호화 라이브러리를 정기적으로 업데이트합니다.
- 지갑에 사용되는 하드웨어 구성 요소 및 마이크로컨트롤러에 대한 검토 및 보안 감사.
- 하드웨어 지갑에서 하드웨어 보안 모듈(HSM)과 안전한 난수 생성기를 사용하는 방법.
결론
ECDSA의 난수 생성기 예측 가능성과 관련된 암호화 취약점은 비트코인 보안에 매우 중요합니다. 이는 과학적으로는 ECDSA 논스 재사용 공격(ECDSA Nonce Reuse Attack)으로 알려져 있습니다. 충분한 엔트로피를 제공하지 않는 특정 생성기 구현 방식 및 하드웨어 구성 요소에 대해 여러 건의 CVE가 보고되었으며, 이는 해당 위협이 시스템적인 성격을 띠고 있음을 보여줍니다.
논스(nonce)와 개인 키의 안전한 생성은 암호화폐 보안의 핵심입니다. 암호화 표준을 엄격히 준수하고 정기적인 보안 감사를 실시해야만 성공적인 공격으로부터 사용자를 보호하고 디지털 자산을 안전하게 지킬 수 있습니다.
필요하다면 특정 CVE에 대한 상세 분석과 안전한 nonce 생성 코드의 예시를 제공할 준비가 되어 있습니다.
- https://bluescreen.kz/niesiekrietnyi-kliuch-issliedovatieli-obnaruzhili-uiazvimosti-v-kriptokoshielkakh/
- https://ru.tradingview.com/news/forklog:3031939c867b8:0/
- https://habr.com/ru/articles/430240/
- https://www.pvsm.ru/uyazvimost/299450
- https://forklog.com/news/in-chips-for-bitcoin-koshelkov-obnaruzhili-kriticheskuyu-uyazvimost
- https://www.kaspersky.ru/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/36592/
- https://www.anti-malware.ru/news/2013-08-12/12447?page=7&quicktabs_123=0
- https://pikabu.ru/story/private_key_debug_nekorrektnaya_generatsiya_privatnyikh_klyuchey_sistemnyie_uyazvimosti_bitkoina_chast_1_12755765
- http://bitcoinwiki.org/ru/wiki/uyazvimosti-bitcoin
- https://habr.com/ru/articles/430240/comments/
특정 라이브러리나 취약점에 대한 더 자세한 기술적 정보가 필요하시면 추가 정보를 제공해 드릴 수 있습니다.https://ya.ru/neurum/c/tehnologii/q/chem_otlichaetsya_klass_random_ot_klassa_securerandom_81d2a9d6https://www.securitylab.ru/news/492654.phphttps://citforum.ru/news/38709https://www.securityvision.ru/education/cyberwiki/s/secure-random-number-generationhttps://blog.progwards.ru/uchimsya-pravilno-rabotathttps://xakep.ru/2015/07/20/java-random-hackhttps://andrykonchin.github.io/ruby/2019/06/10/insecure-securerandom.htmlhttps://habr.com/ru/companies/intel/articles/224285https://ru.wikipedia.org/wiki/%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%BF%D1%81%D0%B5%D0%B2%D0%B4%D0%BE%D1%81%D0%BB%D1%83%D1%87%D0%B0%D0%B9%D0%BD%D1%8B%D1%85_%D1%87%D0%B8%D1%81%D0%B5%D0%BBhttps://help.stingray-mobile.ru/2024.12/rg/ru/android/use_of_simple_crypto_key
CVE-2024-35202의 기술적 세부 정보와 그 영향 은 비트코인 JSON-RPC 클라이언트의 암호화 취약점과 비트코인 암호화폐의 전반적인 보안과 관련된 위협 환경에 대한 이해를 보완하고 심화시켜 줍니다. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-35202https://www.cvedetails.com/cve/CVE-2024-35202https://www.suse.com/security/cve/CVE-2024-35202.htmlhttps://cve.akaoma.com/cve-2024-35202https://nvd.nist.gov/vuln/detail/cve-2024-35202https://secalerts.co/vulnerability/CVE-2024-35202https://bitcoincore.org/en/2024/10/08/disclose-blocktxn-crashhttps://access.redhat.com/security/cve/cve-2024-35202
- https://dzen.ru/a/Zw1b6dUm1HtxTn6B
- https://ru.wikipedia.org/wiki/%D0%91%D0%B8%D1%82%D0%BA%D0%BE%D0%B9%D0%BD
- https://ru.ruwiki.ru/wiki/%D0%91%D0%B8%D1%82%D0%BA%D0%BE%D0%B9%D0%BD
- https://se.math.spbu.ru/thesis_download?thesis_id=16
- https://cyberleninka.ru/article/n/istoriya-razvitiya-kriptovalyuty
- https://cyberrus.info/wp-content/uploads/2025/03/vokib-2025-1-cc.pdf
- 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
- https://21ideas.org/epubs/mastering-lightning-network.pdf
- https://ru.scribd.com/document/716339906/%D0%A5%D0%B0%D0%BA%D0%B5%D1%80-11-%D0%BD%D0%BE%D1%8F%D0%B1%D1%80%D1%8C-2023
- https://vuldb.com/ru/?id.217171
- https://vulert.com/vuln-db/npm-bitcoin-json-rpc-adapter-74669
- https://security.snyk.io/vuln/SNYK-JS-BITCOINJSONRPCADAPTER-5868446
필요하다면 특정 공격 유형에 대한 자세한 내용을 작성하는 데 도움을 드릴 수 있습니다.
- 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
- https://blog.ishosting.com/ru/bitcoin-core-tutorial
- https://www.kaspersky.ru/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/36592/
- https://pikabu.ru/story/bitflipping_attack_na_walletdat_riski_ispolzovaniya_aes256cbc_grozit_utechkoy_zakryityikh_klyuchey_bitcoin_core_chast_1_13153470
- https://ru.wikipedia.org/wiki/%D0%91%D0%B8%D1%82%D0%BA%D0%BE%D0%B9%D0%BD
- https://se.math.spbu.ru/thesis_download?thesis_id=16
- 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
- https://habr.com/ru/articles/807565/
- https://cyberleninka.ru/article/n/istoriya-razvitiya-kriptovalyuty
- https://forklog.com/news/ryad-ethereum-servisov-okazalsya-pod-ugrozoj-iz-za-uyazvimosti-v-protokole-jsonrpc
라이브러리의 특정 취약점을 분석해야 하는 경우, 구성 테스트가 아니라 클라이언트 자체의 소스 코드를 살펴봐야 합니다.
- https://vulert.com/vuln-db/npm-bitcoin-json-rpc-adapter-74669
- https://xakep.ru/2023/11/22/randstorm/
- https://security.snyk.io/vuln/SNYK-JS-BITCOINJSONRPCADAPTER-5868446
- https://forklog.com/news/razrabotchik-rasskazal-ob-ispravlennoj-uyazvimosti-bitcoin-core
- https://security.snyk.io/vuln/SNYK-UNMANAGED-BITCOINBITCOIN-3003864
- https://codeby.net/threads/novyi-eksploit-randstorm-ugrozhayushchii-kriptokoshel-kam.82604/
- https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures
- https://www.kaspersky.ru/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/36592/
- https://bitcoincore.org/en/security-advisories/
- https://www.youtube.com/watch?v=01LEyuNgRSQ
이 결론은 문제의 본질을 완벽하게 반영하고, 그 위험성과 해결책의 필요성을 강조하면서도 간결하고 과학적으로 타당성을 갖추고 있습니다 .
- https://pikabu.ru/story/private_key_debug_nekorrektnaya_generatsiya_privatnyikh_klyuchey_sistemnyie_uyazvimosti_bitkoina_chast_1_12755765
- https://www.kaspersky.ru/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/36592/
- https://www.itsec.ru/articles/upravlenie-uyazvimostyami-v-kriptokoshelkah
- https://www.ixbt.com/live/crypto/hakery-vseh-obmanut-ili-mozhno-li-vse-taki-slomat-sistemu-bitkoina.html
- https://top-technologies.ru/ru/article/view?id=37634
- https://forklog.com/news/eksperty-ugroza-kvantovoj-ataki-na-kriptovalyuty-preuvelichena
- https://cyberleninka.ru/article/n/metodika-analiza-dannyh-v-blokcheyn-sisteme-bitcoin
- https://opennet.ru/56670/
- https://coinsutra.com/ru/bitcoin-private-key/
- https://habr.com/ru/articles/430240/
이러한 취약점에 대한 소스 코드 분석 및 안전한 수정 사항 작성과 관련하여 추가적인 세부 정보나 도움이 필요하시면 언제든지 지원해 드리겠습니다.
출처: CVE 데이터베이스, ESP32 아키텍처의 취약점 CVE-2025-27840에 대한 연구 논문 및 관련 자료. cryptodeep+3
- https://shard.ru/article/how_esp32_chip_vulnerability_compromises_blockchain_security
- https://cryptodeep.ru/bitcoin-bluetooth-attacks/
- https://forklog.com/news/in-chips-for-bitcoin-koshelkov-obnaruzhili-kriticheskuyu-uyazvimost
- 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
- https://pikabu.ru/story/kak_uyazvimosti_cve202529774_i_bag_sighash_single_ugrozhayut_multipodpisnyim_koshelkam_seti_bitkoin_s_poddelnyimi_rawtx_chast_3_12995204
- https://pikabu.ru/story/kriptoanaliz_bitkoina_uyazvimost_cve202527840_v_mikrokontrollerakh_esp32_podvergaet_risku_milliardyi_iotustroystv_cherez_wifi_i_bluetooth_12555320
- https://bdu.fstec.ru/vul/2024-00329
- https://habr.com/ru/articles/771980/
- https://service.securitm.ru/vm/vulnerability/fstec/show/BDU:2023-06146
- https://www.moneytimes.ru/news/ujazvimost-mikrokontrollerov-ugrozhaet-bezopasnosti/46522/
특정 라이브러리나 코드의 취약점 분석, 또는 다른 언어로 안전한 구현을 작성하는 데 도움이 필요하시면 언제든지 지원해 드리겠습니다.
출처: BitcoinJS 생성기 취약점 연구 데이터 및 2011-2015년의 기타 사례, 라이브러리 업데이트에서 수정됨. bluescreen+2
- https://bluescreen.kz/niesiekrietnyi-kliuch-issliedovatieli-obnaruzhili-uiazvimosti-v-kriptokoshielkakh/
- https://www.kaspersky.ru/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/36592/
- https://temofeev.ru/info/articles/padding-oracle-attack-na-wallet-dat-rasshifrovka-parolya-dlya-populyarnogo-koshelka-bitcoin-core/
- https://www.securitylab.ru/news/531248.php
- https://habr.com/ru/articles/430240/
- https://pikabu.ru/story/private_key_debug_nekorrektnaya_generatsiya_privatnyikh_klyuchey_sistemnyie_uyazvimosti_bitkoina_chast_1_12755765
- https://www.itsec.ru/news/uyazvimosti-nulevogo-dnia-bitforege-pozvolayet-ukrast-kriptovalutu-iz-populiarnih-koshelkov
- https://habr.com/ru/articles/817237/
- http://bitcoinwiki.org/ru/wiki/uyazvimosti-bitcoin
- https://www.pvsm.ru/uyazvimost/299450
- https://bytwork.com/wallets/bitcoin-core
- https://pikabu.ru/story/private_key_debug_nekorrektnaya_generatsiya_privatnyikh_klyuchey_sistemnyie_uyazvimosti_bitkoina_chast_1_12755765
- https://bitnovosti.io/2020/07/05/blokchejn-glossarij-terminov/
- https://polynonce.ru/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/
- https://21ideas.org/epubs/mastering-lightning-network.pdf
- https://www.kaspersky.ru/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/36592/?srsltid=AfmBOorXUkJylnSutl06P94TXj3N8k9Z7mqCi_MMZgDKLJZyAmnEj7DQ
- https://21ideas.org/epubs/mastering-bitcoin-3e.pdf
- https://www.youtube.com/watch?v=01LEyuNgRSQ
- https://bluescreen.kz/niesiekrietnyi-kliuch-issliedovatieli-obnaruzhili-uiazvimosti-v-kriptokoshielkakh/
- https://polynonce.ru/%D1%83%D1%8F%D0%B7%D0%B2%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8-%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B2%D0%B0%D0%BB%D1%8E%D1%82%D0%BD%D1%8B%D1%85-%D0%BA%D0%BE%D1%88%D0%B5%D0%BB%D1%8C%D0%BA%D0%BE%D0%B2/