키헌터 작성
비트코인 지갑 관리 시스템에서 개인 키 유출과 관련된 암호화 취약점은 사용자 자산과 암호화폐 네트워크 전체에 심각한 공격으로 이어질 수 있습니다. 이러한 유형의 공격을 과학적으로는 “개인 키 침해(Private Key Compromise)”라고 합니다. 공격자가 개인 키에 접근하여 자금 관리 및 거래 서명에 대한 완전한 통제권을 확보하게 되면 이는 근본적인 보안 위협이 됩니다. phemex+1
비트코인 공격에 미치는 심각한 취약점의 영향
비트코인에서 개인 키는 거래에 서명하고 자금 소유권을 확인하는 유일한 도구입니다. 이 키가 유출되면 자산에 대한 통제권을 잃게 됩니다. 공격자는 손쉽게 유효한 거래를 생성하고 임의의 주소로 자금을 인출할 수 있습니다. 다중 서명 지갑(멀티시그)의 경우, 필요한 키 개수(예: 3개 중 2개)만 유출되어도 서명을 완전히 위조할 수 있으며, 이는 자금 탈취로 이어집니다.
또한, 키가 유출되면 개별 사용자뿐만 아니라 해당 키가 관리 제어 또는 블록 잠금에 사용되는 경우 인프라 전체가 위험에 처하게 됩니다. 이는 다음과 같은 결과를 초래합니다.
- 지갑에 대한 통제력을 완전히 잃는 것;
- 수백만 달러에 달하는 잠재적 재정적 손실;
- 취약한 키 처리 방식을 사용하는 서비스에 대한 신뢰 위반;
- 개인 정보나 키가 공개될 경우 대규모 소셜 엔지니어링 공격의 가능성이 있습니다.
공격의 과학적 명칭 및 분류
암호학에서 개인 키를 획득하고 사용하는 것을 기반으로 하는 공격은 개인 키 유출 공격 또는 키 누출 공격 으로 분류됩니다 . 또한 이러한 취약점은 다음과 같은 다른 유형의 공격의 근본적인 원인이 되는 경우가 많습니다.
- 리플레이 공격 – 키가 유출되면 공격자는 서명된 거래를 다시 전송할 수 있습니다.
- 중간자 공격(MITM 공격) – 개인 키가 전송 또는 저장 중에 가로채이는 경우.
- 무단 거래 위조는 소유자의 동의 없이 거래 내역을 위조하는 행위입니다.
CVE 번호 사용 가능 여부
현재 CVE 취약점 데이터베이스에는 개인 키 유출에 대한 단일하고 보편적인 CVE가 존재하지 않습니다 . 이는 특정 소프트웨어 취약점이라기보다는 고전적인 보안 구현 결함에 가깝기 때문입니다.
하지만 개인 키 유출이나 관련 사건의 특정 사례는 핵심 구성 요소의 구현 오류(예: 지갑, 라이브러리, 애플리케이션 또는 서비스 보호의 취약점)와 관련된 취약점인 경우 별도의 CVE를 가질 수 있습니다. 예를 들면 다음과 같습니다.
- 널리 사용되는 비트코인 라이브러리의 취약점;
- 지갑 또는 API 해킹과 관련된 CVE 공개 자료;
- 암호화 프로토콜이나 암호화 과정의 오류로 인해 키가 노출된 경우.
과학 출판물 및 보고서에서 CVE는 특정 공격 벡터와 관련하여 발견되며, 핵심 침해 자체는 단일한 범용 CVE 번호로 분류되지 않고 심각한 보안 위협으로 설명됩니다.
요약
- 개인 키가 유출되는 암호화 취약점은 개인 키 유출 공격으로 이어집니다 .
- 이러한 공격의 결과는 자금 통제력 상실, 재정적 손실 및 네트워크 보안 침해입니다.
- 이 취약점 범주에 대한 단일 CVE는 없지만, 특정 사고는 별도의 CVE로 보고될 수 있습니다.
- 이를 방지하기 위해서는 엄격한 기밀 유지 및 핵심 보호 조치를 적용해야 하며, 이는 개인 키를 공개적으로 출력하거나 전송하는 것을 배제합니다.
출처:
- 암호화폐 개인 키 유출 및 공격에 대한 뉴스 및 분석 기사 (rbc+1)
- 암호화에서 개인 키 유출 공격 분류 pikabu
- 암호화 플랫폼 보안 보고서 및 사고 기록 forklog+2
- https://forklog.com/news/hakery-vzlomali-lockbit-i-opublikovali-dannye-60-000-bitkoin-adresov
- https://forklog.com/news/utechki-kyc-dannyh-priveli-k-rostu-napadenij-na-kriptoinvestorov
- https://www.binance.com/ru/square/post/28149784809018
- https://phemex.com/ru/news/article/private_key_breach_affects_nearly_200_wallets_cause_unknown_10001
- https://pikabu.ru/story/bitflipping_attack_na_walletdat_riski_ispolzovaniya_aes256cbc_grozit_utechkoy_zakryityikh_klyuchey_bitcoin_core_chast_2_13153514
- https://www.rbc.ru/crypto/news/685ea64c9a7947de65e03d13
- https://www.itsec.ru/articles/ataka-51-i-ustojchivost-blokchejna-bitkoina
- https://www.coindesk.com/ru/markets/2025/07/05/8b-btc-movements-may-have-been-preceded-by-covert-bitcoin-cash-test
- https://2bitcoins.ru/hakery-atakuyut-pokupatelej-wlfi/
- https://pikabu.ru/story/bitflipping_attack_na_walletdat_riski_ispolzovaniya_aes256cbc_grozit_utechkoy_zakryityikh_klyuchey_bitcoin_core_chast_1_13153470
아래는 파이썬 코드 보안 관점에서 암호 시스템에서 비밀 키 유출 취약점이 발생하는 방식과 이유에 대한 연구 논문과, 이러한 취약점을 해결하는 안전하고 상세한 샘플 코드입니다.
암호화 취약점은 일반적으로 비밀 키 유출과 관련이 있으며, 이에 대한 안전한 해결책을 제시합니다.
소개
암호학은 데이터의 기밀성, 무결성 및 진위성을 보장하는 과학으로, 디지털 공간에서 정보를 보호하는 데 널리 사용됩니다. 그러나 최신 암호화 알고리즘을 사용하더라도 구현 오류, 특히 개인 키 및 니모닉 구문(시드 구문)과 같은 민감한 정보의 부적절한 저장 및 처리로 인해 취약점이 발생할 수 있습니다 .
암호 시스템에서 가장 심각한 취약점 중 하나는 개인 키 유출로, 이는 시스템 전체의 보안을 위협합니다. 본 예시에서는 다중 서명 비트코인 지갑을 생성 및 관리하는 파이썬 프로그램 코드를 살펴보고, 비밀 데이터의 안전하지 않은 로깅으로 인해 발생하는 취약점을 분석합니다.
취약성의 원인
제시된 코드에서는 니모닉 구문과 개인 키가 함수를 사용하여 콘솔 화면에 출력됩니다 . 이는 콘솔 로그가 저장되거나 공격자에 의해 열람되거나 실수로 공개될 수 있으므로 키의 개인 정보print()유출 위험을 초래합니다.- 안전한 키 저장 및 전송 메커니즘 부족
: 안전한 저장 메커니즘(예: 하드웨어 지갑, 안전한 메모리 저장소 또는 암호화된 컨테이너 사용)이 없으면 비밀 데이터가 암호화되지 않은 상태로 메모리에 저장되어 제한 없이 출력될 수 있습니다. - 인적 요인:
코드가 지속적으로 키 또는 시드를 출력하는 경우, 사용자 또는 개발자는 디버깅, 테스트 또는 악용 과정에서 의도치 않게 민감한 데이터를 노출할 수 있습니다. - 개인 키를 직접 처리하는 방식은
코드에서 HDKey의 개인 키를 WIF 형식으로 직접 변환하여 출력하는 것으로, 이는 암호화 키의 안전한 처리 원칙에 명백히 위배됩니다.
취약성의 결과
개인 키가 유출되면 공격자는 사용자의 자금을 완전히 장악하게 됩니다. 다중 서명 지갑의 경우, 서명을 위조하여 암호화폐를 탈취할 수 있습니다. 시드 구문이 유출되면 지갑을 복구할 수 있지만, 동시에 연결된 모든 키에 대한 제어권도 잃게 됩니다.
취약점을 안전하게 해결하는 방법
보안을 강화하려면 개인 키를 공개적으로 출력하거나 저장하는 것을 방지해야 합니다. 주요 권장 사항은 다음과 같습니다.
- 개인 키와 니모닉 구문을 로그나 콘솔에 출력하지 마십시오 . 비밀 정보는 보호된 메모리 영역을 절대 벗어나서는 안 됩니다.
- 암호화된 컨테이너, 하드웨어 지갑 또는 보안 스토리지 모듈(HSM)을 사용하여 키를 저장합니다 .
- 개인 키를 노출하지 않고 장치 간에 공개 키를 교환하기 위해 안전한 프로토콜을 사용합니다 .
- 사용자에게 보안에 대한 교육을 제공하고 민감한 정보 노출의 위험성을 설명하십시오 .
개인 키를 출력하지 않고 안전한 저장소를 사용하는 수정된 코드입니다.
파이썬# Безопасная генерация ключей без вывода приватных данных
from bitcoinlib.wallets import wallet_exists, Wallet
from bitcoinlib.mnemonic import Mnemonic
from bitcoinlib.keys import HDKey
WALLET_NAME = "Multisig-2of3"
NETWORK = 'testnet'
KEY_STRENGTH = 128
SIGNATURES_REQUIRED = 2
WITNESS_TYPE = 'segwit'
if not wallet_exists(WALLET_NAME):
cosigners = [
('Offline PC', 'bip32', 'password'),
('Online PC', 'bip32', ''),
('Paper backup', 'single', ''),
]
key_lists = {}
for cosigner in cosigners:
words = Mnemonic().generate(KEY_STRENGTH)
password = ''
if cosigner[2] == 'password':
password = input(f"Please enter password for cosigner '{cosigner}': ")
seed = Mnemonic().to_seed(words, password)
# Генерация HDKey, не выводим приватные ключи
hdkey = HDKey.from_seed(seed, network=NETWORK, key_type=cosigner[1], witness_type=WITNESS_TYPE)
if cosigner[1] == 'bip32':
public_account = hdkey.public_master_multisig(witness_type=WITNESS_TYPE)
else:
public_account = hdkey
# Сохраняем в key_lists только публичные ключи для совместного использования
for w in cosigners:
if cosigner == w:
addkey = hdkey # приватный ключ хранится локально, не выводится
else:
addkey = public_account.public()
if w not in key_lists:
key_lists[w] = []
if addkey not in key_lists[w]:
key_lists[w].append(addkey)
# Создание мультиподписного кошелька с приватными ключами локально, без вывода
offline_wallet = Wallet.create(WALLET_NAME, key_lists['Offline PC'], sigs_required=SIGNATURES_REQUIRED,
witness_type=WITNESS_TYPE, network=NETWORK)
offline_wallet.new_key()
print("Multisig wallet created securely. Private keys are not displayed.")
else:
# Работа с уже созданным кошельком, без вывода приватных ключей
from bitcoinlib.config.config import BCL_DATABASE_DIR
online_wallet = Wallet(WALLET_NAME, db_uri=BCL_DATABASE_DIR + '/bitcoinlib.tmp.sqlite')
online_wallet.utxos_update()
online_wallet.info()
수정된 버전에서는 다음과 같습니다.
- 개인 키와 니모닉 구문은 콘솔에 출력되지 않습니다.
- 개인 키는 HDKey 객체에 저장된 후 지갑에 저장되며, 외부로 노출되지 않습니다.
- 기기 간에는 공개 키만 전송됩니다.
- 비밀번호는 사용자가 직접 입력하며 로그에 저장되지 않습니다.
공격에 대한 보호 및 예방
- 엄격한 정보 보안 규칙을 수립하고 개인 키가 생성 및 저장되는 시스템에 대한 접근을 제한합니다.
- 개인 키 내보내기를 허용하지 않는 하드웨어 지갑을 사용하는 경우.
- 기밀 정보 유출 방지를 위한 코드 감사 및 수정.
- 개발자와 사용자에게 안전한 키 관리 방법에 대해 교육합니다.
- 공개 키를 전송할 때 안전한 프로토콜을 사용합니다.

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

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

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

블록체인 메시지 디코더: www.bitcoinmessage.ru
유효한 개인 키를 확보한 후, 팀은 지갑 제어권을 확인하기 위해 검증 거래를 수행했습니다. 이러한 거래는 개념 증명을 보여주는 동시에 복구된 자금의 대부분을 합법적인 반환 절차에 사용할 수 있도록 구성되었습니다. 전체 과정은 투명하게 문서화 되었으며 , 거래 기록은 비트코인 블록체인에 영구적으로 기록되어 취약점 악용 가능성과 성공적인 복구 방법론에 대한 불변의 증거로 활용되었습니다.
0100000001b964c07b68fdcf5ce628ac0fffae45d49c4db5077fddfc4535a167c416d163ed000000008a4730440220147fc6b6815c9ae0132d7943bfeff70e8d004386ad491c6bfc2bdd5729daceef022077d31165b1ff09913e1c97bedb791e61663336f915dd2126bfbc2cbebb2a5aea014104603a599358eb3b2efcde03debc60a493751c1a4f510df18acf857637e74bdbaf6e123736ff75de66b355b5b8ea0a64e179a4e377d3ed965400eff004fa41a74effffffff030000000000000000466a447777772e626974636f6c61622e72752f626974636f696e2d7472616e73616374696f6e205b57414c4c4554205245434f564552593a20242033333434363739352e38355de8030000000000001976a914a0b0d60e5991578ed37cbda2b17d8b2ce23ab29588ac61320000000000001976a914334a75f1d3bbefa5b761e5fa53e60bce2a82287988ac00000000
암호 분석 도구는 비트코인 지갑 소유자의 요청에 따른 공인 보안 감사뿐만 아니라 암호 분석 , 블록체인 보안 및 개인 정보 보호 분야의 학술 및 연구 프로젝트, 그리고 소프트웨어 및 하드웨어 암호화폐 저장 시스템 모두에 대한 방어 애플리케이션을 위해 설계되었습니다.
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 결함과 이로 인한 지갑 개인 키 노출 문제를 다루고 있음을 알 수 있습니다. |
PrivKeyGenesis: 비트코인 지갑의 개인 키 유출 취약점을 악용하는 도구

PrivKeyGenesis는 비트코인 지갑 구현에서 개인 키 유출 취약점을 자동으로 악용하도록 설계된 고급 암호 분석 프레임워크입니다. 사이드 채널 분석, 안전하지 않은 키 저장소 감사, 그리고 표적화된 RPC 인증 우회 기술을 결합하여 PrivKeyGenesis는 취약한 지갑 시스템에서 개인 키를 복구하거나 재구성할 수 있습니다. 이 글에서는 PrivKeyGenesis의 아키텍처를 소개하고, 비트코인 라이브러리에서 개인 키 유출 취약점이 발생하는 방식을 분석하며, 키를 추출하고 분실 또는 잠긴 지갑에 대한 접근 권한을 복원하는 도구의 공격 방법을 분석합니다. 마지막으로, 이러한 공격을 완화하고 사용자 자산을 보호하기 위한 방어 전략을 논의합니다.
1. 서론
비트코인의 보안 모델은 개인 키의 기밀성과 무결성에 전적으로 의존합니다. 공격자가 사용자의 개인 키를 획득하면 자금에 대한 무제한적인 제어권을 얻고 자산을 되돌릴 수 없게 이전할 수 있습니다. 지갑 소프트웨어의 구현 결함, 예를 들어 부적절한 RPC 인증, 안전하지 않은 메모리 처리 또는 민감한 데이터의 과도한 로깅은 개인 키 유출이나 접근 제어 우회를 가능하게 할 수 있습니다. PrivKeyGenesis는 이러한 결함을 대상으로 하여 이러한 취약점의 심각한 영향을 보여주고, 강력한 키 관리 방식의 필요성을 강조합니다.
2. PrivKeyGenesis 개요
PrivKeyGenesis는 세 가지 핵심 모듈로 구성됩니다.
- 누출 스캐너
- 지갑 바이너리 및 소스 코드에서 키 또는 시드를 출력하는 안전하지 않은 로깅 호출(예:
print, )을 감사합니다.console.log - 하드코딩된 자격 증명이나 키 파생 비밀을 탐지하기 위해 정적 분석을 수행합니다.
- 지갑 바이너리 및 소스 코드에서 키 또는 시드를 출력하는 안전하지 않은 로깅 호출(예:
- 사이드 채널 분석기
- 하드웨어 또는 가상화 환경과 연동하여 타이밍, 캐시 또는 전자기 방출을 측정합니다.
- 취약한 키 유도 루틴에 대해 차분 전력 분석(DPA) 기법을 적용하여 개인 키의 비트를 재구성합니다.
- RPC 익스플로잇 엔진
- 지갑 RPC 엔드포인트에 대해 자동화된 퍼징 및 자격 증명 스프레이 공격을 수행합니다.
- 취약한 인증 방식(기본 암호, TLS 미사용, 토큰 유효성 검사 오류)을 감지하여 RPC 호출 실행을 차단
dumpprivkey합니다signrawtransaction.
이 모듈들은 서로 연동하여 작동합니다. 누출 스캐너는 잠재적 취약점을 찾아내고, 사이드 채널 분석기는 핵심 자료를 정제하며, RPC 공격 엔진은 남아 있는 공격 표면을 활용하여 전체 개인 키를 탈취하거나 피해자를 대신하여 거래에 서명합니다.
3. 비트코인 지갑의 개인 키 유출 취약점
PrivKeyGenesis가 악용하는 구현 오류는 일반적으로 세 가지 범주로 나뉩니다.
- 보안이 취약한 키 출력
개발자는 디버깅 중에 실수로 개인 키, 니모닉 구문 또는 WIF 문자열을 로그에 기록할 수 있습니다. 이러한 로그는 보호되지 않은 경우 키를 쉽게 추출할 수 있습니다. - JSON-RPC 인터페이스를 노출하는 취약한 RPC 인증
지갑 데몬은 종종 구성 파일에 정의된 정적 자격 증명에 의존합니다. 공격자는 이러한 자격 증명을 추측하거나 탈취하여 민감한 RPC 메서드를 호출할 수 있습니다. - 사이드 채널 누출
소프트웨어 키 유도 함수(예: BIP-39 시드 생성, PBKDF2)는 일반 하드웨어에서 실행될 때 타이밍 차이 또는 전력 변동을 통해 비밀 정보를 누출할 수 있습니다.
PrivKeyGenesis는 세 가지 유형의 취약점을 자동으로 탐지하고 악용하여 공격자가 키를 탈취하는 데 필요한 시간과 전문 지식을 획기적으로 줄여줍니다.
4. 공격 방법론
4.1 정찰 및 스캐닝
PrivKeyGenesis는 먼저 대상 시스템의 파일 시스템과 프로세스를 검사합니다. 이를 통해 wallet.dat 파일, 로그 파일, 실행 중인 비트코인 데몬 프로세스를 식별합니다. 그런 다음 Leak Scanner는 로그와 소스 코드를 분석하여 핵심 패턴을 추출합니다.
4.2 사이드 채널 키 복구
직접적인 정보 유출이 발견되지 않으면, 이 도구는 사이드 채널 프로브를 사용합니다. 제어된 환경에서 서명 작업을 수행하고 전력 또는 타이밍 추적을 캡처함으로써, PrivKeyGenesis는 DPA를 적용하여 부분 키 비트를 복구합니다. 이러한 비트는 격자 기반 키 복구 알고리즘의 초기값으로 사용되어 전체 ECDSA 개인 스칼라를 재구성합니다.
4.3 RPC 인증 우회
동시에 RPC 공격 엔진은 기본 자격 증명 및 토큰 인증 취약점을 테스트합니다. 접근 권한을 획득하면 walletpassphrase잠금 해제를 실행한 후 dumpprivkey원시 키 자료를 검색합니다. 다중 서명 시나리오에서 엔진은 공동 서명자 노드를 순차적으로 공격하여 임계값 서명에 필요한 충분한 키 공유를 수집합니다.
5. 비트코인 자산 보안에 미치는 영향
PrivKeyGenesis를 사용하면 공격자는 다음과 같은 작업을 수행할 수 있습니다.
- 개인 키를 손에 넣은 공격자
는 사기성 거래를 생성하고 유포하여 지갑 잔액을 빼돌릴 수 있습니다.
필수 키 집합 중 일부를 탈취하면 멀티시그 지갑 체계(예: 2-of-3)가 무너져 신뢰 가정이 무효화되므로 멀티시그 신뢰가 훼손됩니다.- 손상된 키를 사용하는 관리 노드는 네트워크 서비스를 방해하고
, 개인 체인에서 거래를 검열하거나 블록 제출을 조작하는 데 사용될 수 있습니다.
개인 키 공개는 공격자가 피해자 또는 제3자 서비스 제공업체로부터 추가적인 민감 정보를 얻어내기 위해 사회공학적 공격을 용이하게 합니다.
6. 완화 전략
PrivKeyGenesis와 같은 도구로부터 지갑을 보호하기 위해 지갑 개발자와 운영자는 다층적인 보안 접근 방식을 채택해야 합니다.
- 평문 키 출력 제거
- 개인 키, 시드 또는 WIF 데이터에 대한 모든 디버그 로깅을 제거합니다.
- 로깅 정책을 시행하기 위해 코드 리뷰 및 정적 분석을 적용하십시오.
- RPC 인터페이스 강화
- 안전한 저장소에 저장된 강력하고 무작위로 생성된 RPC 자격 증명을 사용하도록 강제합니다.
- RPC 접근을 위해서는 TLS 클라이언트 인증서 또는 상호 인증이 필요합니다.
- 하드웨어 보안 모듈(HSM)을 도입하십시오.
- 개인 키 관련 모든 작업은 원시 키 정보를 절대 노출하지 않는 HSM 또는 하드웨어 지갑으로 오프로드하십시오.
- 사이드 채널 차단 기능이 있는 펌웨어와 변조 감지 기능을 확보하십시오.
- 메모리 보호 및 키 삭제
- 사용 직후 키 버퍼를 즉시 초기화하십시오.
- 스왑을 방지하기 위해 보호된 메모리 영역(예: mlock, 보안 영역)에 키를 할당합니다.
- 지속적인 보안 감사
- 키 처리 코드 경로를 대상으로 하는 퍼즈 테스트와 침투 테스트를 통합합니다.
- 런타임 중에 비정상적인 RPC 명령이나 승인되지 않은 로그 내보내기가 발생하는지 모니터링합니다.
7. 결론
PrivKeyGenesis는 비트코인 지갑 구현에서 발생하는 개인 키 유출 취약점으로 인한 심각한 위협을 보여주는 대표적인 사례입니다. 이 도구는 유출 탐지, 사이드 채널 분석, RPC 공격 등을 자동화하여 공격자의 노력을 획기적으로 줄이고 키 관리의 핵심적인 약점을 드러냅니다. PrivKeyGenesis의 성공은 엄격한 보안 코딩, 하드웨어 기반 키 저장소, 강력한 인증 제어의 필요성을 강조합니다. 포괄적이고 심층적인 방어 체계를 통해서만 관리자와 개발자는 사용자 자산을 보호하고 비트코인 생태계에 대한 신뢰를 유지할 수 있습니다.
결론
보안 시스템 구현상의 암호화 취약점은 알고리즘 자체의 문제보다는 비밀 키 처리 및 저장 과정에서의 오류로 인해 발생하는 경우가 많습니다. 개인 키와 니모닉 구문을 로그나 콘솔에 출력하는 것은 심각한 보안 침해로 이어지는 가장 흔한 오류 중 하나입니다.
암호화 작업을 수행할 때 모든 민감한 데이터가 노출되지 않도록 하고, 안전하고 신뢰할 수 있는 메커니즘을 통해서만 저장 및 전송하는 것이 바람직한 관행입니다.
제안된 조치 및 코드 수정 사항을 구현하면 보안 수준이 크게 향상되고 공격 위험이 줄어들며 암호 시스템에 대한 사용자 신뢰도가 유지될 것입니다.
출처:
- Vershinina LA 암호 시스템 취약점 유형 및 예방 조치 xn—-8sbempclcwd3bmt
- 기술적 채널을 통한 정보 유출 방지에 있어 암호화의 역할 na-journal
암호화 알고리즘에 대한 공식과 설명을 포함한 보다 심층적인 기술 분석이 필요한 경우, 별도의 자료를 준비해 드릴 수 있습니다.
- https://www.xn—-8sbempclcwd3bmt.xn--p1ai/article/22580
- https://na-journal.ru/5-2024-informacionnye-tekhnologii/12353-rol-kriptografii-v-zashchite-informacii-ot-utechki-po-tehnicheskim-kanalam
- https://www.itsec.ru/articles/kriptografiya-i-kleptografiya
- https://cyberleninka.ru/article/n/uyazvimosti-kriptograficheskih-sistem-s-razlichnymi-protokolami-kvantovogo-raspredeleniya-klyucha-i-klyuchevaya-rol-biometrii-v
- https://cyberleninka.ru/article/n/analiz-uyazvimostey-v-sistemah-shifrovaniya-primery-i-posledstviya
- https://science-engineering.ru/ru/article/view?id=1291
- https://cyberrus.info/wp-content/uploads/2020/08/66-75-337-20_6.-Minakov.pdf
- https://securitymedia.org/info/nadezhnye-shifry-kriptografiya-v-sovremennom-mire.html
- https://falcongaze.com/ru/pressroom/publications/osnovy-ib/sredstva-kriptograficheskoj-zashchity-informacii.html
제시된 코드에는 개인 키(wif_private)와 니모닉 구문(passphrase)이 콘솔에 평문으로 출력되는 암호화 취약점이 존재하여 보안 침해로 이어질 수 있습니다.
취약점을 드러내는 주요 라인:
- 생성된 니모닉 구문(암호)이 출력되는 줄:
파이썬print("Passphrase: %s" % words)
- 온라인 PC용 개인 키(wif_private)가 출력되는 줄(스크립트 끝부분):
파이썬print(" HDKey('%s', key_type='single', witness_type='%s')" % (key.wif_private(), WITNESS_TYPE))
print(" '%s'," % key.wif_private())
- 공개 키와 암호를 인쇄하는 것은 특히 암호가 노출된 경우 잠재적으로 위험할 수 있습니다.
파이썬print("Password: %s" % ('*' * len(password))) # здесь скрыто, но ввод пароля есть
print("Public key: %s" % public_account.wif_public())
설명
- 니모닉 구문과 개인 키는 엄격하게 기밀로 유지해야 하는 비밀 데이터입니다. 콘솔에 이러한 정보를 출력하면 콘솔에 로그가 기록되거나 제3자가 접근할 수 있는 경우 정보 유출 위험이 커집니다.
- 특히 다음 구절들:
파이썬print("Passphrase: %s" % words)
그리고
파이썬print(" HDKey('%s', key_type='single', witness_type='%s')" % (key.wif_private(), WITNESS_TYPE))
print(" '%s'," % key.wif_private())
비밀 키를 공개적으로 출력하는 것은 보안을 심각하게 저해합니다.
추천
취약점을 해결하려면 다음 단계를 따르세요.
- 니모닉 구문과 개인 키를 평문으로 절대 표시하지 마십시오.
- 이 데이터는 안전한 저장 시설에만 보관하고 안전한 방법으로 전송하십시오.
- 키를 인쇄하는 대신 안전한 교환 메커니즘이나 암호화를 사용하십시오.
따라서, 해당 취약점은 니모닉 구문(passphrase)과 개인 키(wif_private) 출력 부분이 포함된 줄, 즉 대략 40번째 줄부터 75번째 줄 사이, 그리고 온라인 PC용 개인 키가 출력되는 마지막 부분에서 발견됩니다.
결론적으로, 비트코인 생태계에서 개인 키 유출과 관련된 심각한 취약점은 암호화폐 자산과 전체 블록체인 인프라의 보안에 근본적인 위협이 된다는 점을 강조할 필요가 있습니다. 이러한 취약점은 비밀 키의 보호되지 않은 저장 및 처리 방식에 있으며, 이는 공격자가 개인 키 탈취 공격을 감행할 가능성을 열어줍니다.
이러한 공격의 결과는 참담합니다. 공격자가 개인 키를 탈취하면 가짜 거래를 생성하여 자금의 정당한 소유권을 가로채고 사용자 및 서비스에 재정적 손실을 초래할 수 있습니다. 특히 다중 서명 지갑 시스템은 공격으로 인해 서명에 필요한 키 개수가 줄어들 경우 매우 취약해지며, 이는 신뢰와 통제 메커니즘을 완전히 무너뜨릴 수 있습니다.
과학적 및 응용적 관점에서 볼 때, 이 취약점은 실제로 암호화폐에 대해 가장 위험하고 널리 사용되는 공격 중 하나입니다. 전체 범주에 적용되는 단일한 범용 CVE 식별자는 없지만, 개별 침해 사례는 심각한 사고로 등록되어 CVE가 할당되고 있으며, 이는 문제 해결의 중요성을 보여줍니다.
이러한 위협으로부터 효과적으로 보호하려면 포괄적인 접근 방식이 필요합니다. 개인 키를 공개적으로 출력하거나 저장하지 않는 것부터 하드웨어 및 암호화 기술 사용, 사용자 교육, 그리고 보안 시스템에 대한 지속적인 감사에 이르기까지 모든 단계를 아우르는 체계적인 접근이 필수적입니다. 이러한 시스템적인 접근 방식만이 키 유출 위험을 최소화하고 비트코인 네트워크의 무결성과 신뢰를 유지할 수 있습니다.
따라서 개인 키 보안에 대한 관심은 단순한 기술적 필요성을 넘어 암호화폐 인프라의 지속 가능한 발전과 현대 사이버 공격으로부터 디지털 자산을 보호하기 위한 기반이 됩니다.
이 최종 결론은 비트코인 개인 키 취약성 문제와 그에 따른 공격의 심각성과 중요성을 과학적이고 체계적으로 분석하여 강조합니다. 결론적으로, 비트코인 생태계에서 개인 키 유출과 관련된 심각한 취약성은 암호화폐 자산과 전체 블록체인 인프라의 보안에 근본적인 위협이 됩니다. 이러한 취약성은 비밀 키의 보호되지 않은 저장 및 처리 방식에 있으며, 이는 공격자가 개인 키를 탈취하는 개인 키 공격(Private Key Compromise attack)을 수행할 가능성을 열어줍니다.
이러한 공격의 결과는 참담합니다. 공격자가 개인 키를 탈취하면 가짜 거래를 생성하여 자금의 정당한 소유권을 가로채고 사용자 및 서비스에 재정적 손실을 초래할 수 있습니다. 특히 다중 서명 지갑 시스템은 공격으로 인해 서명에 필요한 키 개수가 줄어들 경우 매우 취약해지며, 이는 신뢰와 통제 메커니즘을 완전히 무너뜨릴 수 있습니다.
과학적 및 응용적 관점에서 볼 때, 이 취약점은 실제로 암호화폐에 대해 가장 위험하고 널리 사용되는 공격 중 하나입니다. 전체 범주에 적용되는 단일한 범용 CVE 식별자는 없지만, 개별 침해 사례는 심각한 사고로 등록되어 CVE가 할당되고 있으며, 이는 문제 해결의 중요성을 보여줍니다.
이러한 위협으로부터 효과적으로 보호하려면 포괄적인 접근 방식이 필요합니다. 개인 키를 공개적으로 출력하거나 저장하지 않는 것부터 하드웨어 및 암호화 기술 사용, 사용자 교육, 그리고 보안 시스템에 대한 지속적인 감사에 이르기까지 모든 단계를 아우르는 체계적인 접근이 필수적입니다. 이러한 시스템적인 접근 방식만이 키 유출 위험을 최소화하고 비트코인 네트워크의 무결성과 신뢰를 유지할 수 있습니다.
따라서 개인 키 보안에 대한 관심은 단순한 기술적 필요성을 넘어 암호화폐 인프라의 지속 가능한 발전과 현대 사이버 공격으로부터 디지털 자산을 보호하기 위한 기반이 됩니다.
이 최종 결론은 비트코인의 개인 키 취약성 문제와 그에 따른 공격의 심각성과 중요성을 밝히고 강조하며, 이를 과학적이고 전문적으로 정립합니다.
- https://cryptodeep.ru/whitebox-attack/
- https://forklog.com/news/ai/iskusstvennyj-intellekt-slil-zakrytye-klyuchi-ot-kriptokoshelkov
- https://bluescreen.kz/niesiekrietnyi-kliuch-issliedovatieli-obnaruzhili-uiazvimosti-v-kriptokoshielkakh/
- https://forklog.com/news/in-chips-for-bitcoin-koshelkov-obnaruzhili-kriticheskuyu-uyazvimost
- https://pikabu.ru/story/private_key_debug_nekorrektnaya_generatsiya_privatnyikh_klyuchey_sistemnyie_uyazvimosti_bitkoina_chast_1_12755765
- https://top-technologies.ru/ru/article/view?id=37634
- https://habr.com/ru/articles/817237/
- https://www.itsec.ru/articles/upravlenie-uyazvimostyami-v-kriptokoshelkah
- https://www.kaspersky.ru/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/36592/
- https://cyberleninka.ru/article/n/teoreticheskie-aspekty-rassledovaniya-prestupleniy-svyazannyh-s-ispolzovaniem-kriptovalyut
제시된 코드에서 비밀 키 또는 개인 키 유출과 관련된 암호화 취약점은 사용자가 개인 키 또는 니모닉 구문을 직접 입력하는 부분에서 발생하며, 이후 해당 개인 키가 아무런 제약이나 안전한 관리 없이 로드되어 서명에 사용됩니다.
특히 취약한 라인:
파이썬key_str = input("Enter private key or mnemonic passphrase: ")
if len(key_str.split(" ")) < 2:
hdkey = HDKey(key_str)
else:
password = input("Enter password []:")
seed = Mnemonic().to_seed(key_str, password)
hdkey = HDKey.from_seed(seed, network=network)
t.sign(hdkey)
여기서는 개인 키 또는 니모닉 구문이 평문으로 입력되며, 코드 어디에도 안전한 저장이나 노출 제한에 대한 조항이 없습니다. 키는 즉시 메모리에 로드되어 서명에 사용됩니다.
잠재적인 취약점은 개인 키 또는 니모닉이 손상될 수 있다는 점입니다.
- 콘솔에서 직접 읽는 것만으로는 (키는 외부 로그에 기록되거나 공격자에게 가로채일 수 있습니다);
- 메모리 관리가 부실하여 키가 오랫동안 메모리에 남아 있는 경우;
- 입력 보호 기능 부족(예: 비밀번호 및 키가 마스킹 없이 입력됨)
- 핵심 자료는 반입된 후에는 통제 및 보호 조치가 이루어지지 않습니다.
따라서 치명적인 취약점은 다음 코드 줄 어딘가에서 발생합니다.
파이썬key_str = input("Enter private key or mnemonic passphrase: ")
...
t.sign(hdkey)
개인 키 관련 로직이 모두 여기에 집중되어 있으며, 안전한 비밀 키 관리나 암호화 방식을 사용하지 않습니다. 이로 인해 개인 키 유출 및 거래 서명 보안 손상 가능성이 있습니다.
권장 사항: 취약점을 제거하려면 안전한 입력 방식(예: 비밀번호 마스킹)을 사용하거나, 서명용 하드웨어 모듈을 사용하거나, 개인 키가 보안 저장소를 벗어나지 않고 평문으로 출력 또는 전송되지 않는 시스템을 사용하십시오.
- https://academy.suncrypto.in/bitcoinlib/
- https://cybersecuritynews.com/malicious-python-packages-attacking-popular-cryptocurrency-library/
- https://cointelegraph.com/explained/what-is-bitcoinlib-and-how-did-hackers-target-it
- https://mojoauth.com/news/멀웨어-인-오픈소스-이더리움-스마트-컨트랙트 악용
- https://blog.phylum.io/python-crypto-library-updated-to-steal-private-keys/
- https://www.reversinglabs.com/blog/malicious-python-packages-target-popular-bitcoin-library
- https://attacksafe.ru/pybitcointools/
- https://attacksafe.ru/bitcoinlib/
- http://python-bitcoinlib.readthedocs.io/en/latest/consensus.html
아래는 비트코인 거래 서명에 사용되는 파이썬 코드의 개인 키 처리 과정에서 발생하는 취약점의 원인을 분석하고, 안전한 해결책과 샘플 코드를 제시하는 연구 논문입니다.
BitcoinLib 개인 키 유출 취약점 분석 및 안전한 해결 방법
소개
비트코인을 비롯한 암호화폐는 소유자가 거래를 수행하고 자금 소유권을 증명할 수 있도록 하는 개인 키의 암호화 보호에 의존합니다. 동시에 개인 키의 안전은 전체 시스템 보안의 핵심 요소입니다. 개인 키가 단 한 번이라도 유출되면 사용자 자금이 완전히 위험에 처할 수 있습니다.
제시된 파이썬 코드는 BitcoinLib 라이브러리를 사용하여 다중 서명 거래를 처리하는데, 개인 키와 니모닉 구문의 입력 및 처리 과정에서 발생하는 전형적인 취약점을 가지고 있습니다. 이러한 취약점은 공격자가 키를 탈취할 가능성을 내포하고 있어 심각한 보안 위협을 초래합니다.
취약성은 어떻게 발생하는가
소스 코드에서, 개인 키 또는 니모닉 구문은 함수를 통해 사용자로부터 평문으로 입력받습니다 input(). 이러한 민감한 정보는 다음과 같습니다.
- 입력 시 가려지지 않습니다(비밀번호 또는 키가 화면과 로그에 표시됩니다).
- 메모리에 암호화되거나 보호되지 않음;
- 해당 값은 즉시 HDKey 객체로 변환되어 거래 서명에 사용됩니다.
즉, 개인 데이터는 다음과 같을 수 있습니다.
- 화면 보기, 로깅 또는 기타 소프트웨어 취약점 악용을 통해 가로챈 정보;
- RAM에 보호되지 않은 형태로 저장되어 우회 또는 덤프가 가능합니다.
- 기기 보호가 미흡하여 도난당했습니다.
이러한 상황은 핵심 정보 유출 위험을 수반하며, 이는 무단 거래 서명 및 자금에 대한 완전한 통제력 상실로 이어질 수 있습니다.
안전한 해결 방법 및 권장 사항
취약점을 제거하려면 다음을 수행해야 합니다.
- 개인 키와 암호는 화면이나 로그에서 읽을 수 없도록 마스킹된 입력 방식을 사용하십시오 .
- 개인 데이터가 메모리에 남아 있는 시간을 최소화 하고 사용 후에는 메모리에서 제거되도록 하십시오.
- 가능하다면 하드웨어 지갑을 사용하여 키를 저장하고 서명하십시오 . 이렇게 하면 키가 기기 밖으로 절대 나가지 않습니다.
- 콘솔을 통해 개인 키를 직접 입력하는 방식을 없애고, 안전한 인터페이스를 사용하거나 암호화된 저장소에서 불러오는 방식으로 대체하십시오.
- 암호화 및 메모리 보호 기능을 사용하여 작업 간 개인 데이터를 저장합니다.
마스크 입력 및 키 제거를 통한 보안 코드 수정 예시
파이썬import getpass
from bitcoinlib.transactions import Transaction
from bitcoinlib.mnemonic import Mnemonic
from bitcoinlib.keys import HDKey
network = 'testnet'
raw_tx = input("Paste raw transaction hex: ")
t = Transaction.import_raw(raw_tx)
key_str = getpass.getpass("Enter private key or mnemonic passphrase: ")
if len(key_str.split(" ")) < 2:
hdkey = HDKey(key_str)
else:
password = getpass.getpass("Enter password []:")
seed = Mnemonic().to_seed(key_str, password)
hdkey = HDKey.from_seed(seed, network=network)
t.sign(hdkey)
t.info()
print("Raw signed transaction: ")
print(t.raw_hex())
# Очистка чувствительных данных
del key_str
del password
del seed
del hdkey
if input("Try to send transaction [y/n] ").lower() == 'y':
from bitcoinlib.services.services import Service
srv = Service(network=network)
res = srv.sendrawtransaction(t.raw())
from pprint import pprint
pprint(res)
제안된 코드에서:
getpass.getpass()개인 정보 입력은 입력값을 가리는 기능을 사용하여 이루어집니다 .- 서명이 완료되면 개인 데이터가 포함된 모든 변수는 .을 통해 메모리에서 제거됩니다
del. - 하드웨어 지갑이나 안전한 저장 장치를 추가로 사용하는 것이 좋습니다.
결론
암호화폐 시스템에서 개인 키를 평문으로 처리하는 취약점은 가장 심각한 보안 위협 중 하나입니다. 민감한 데이터를 다루는 과정에서 발생하는 오류는 정보 유출, 자금 도난, 사용자 신뢰 상실로 이어질 수 있습니다.
마스킹 입력, 메모리 내 키 노출 최소화, 하드웨어 사용 등을 포함한 포괄적인 보안 접근 방식은 공격 위험을 크게 줄이고 디지털 자산의 안전을 보장할 수 있습니다.
개인 키 보호에 대한 적절한 구현과 엄격한 준수를 통해서만 현대 사이버 위협에 대한 암호 시스템의 복원력을 보장할 수 있습니다.
출처: 딜로이트+2
- https://www.deloitte.com/nl/en/services/consulting-risk/perspectives/quantum-computers-and-the-bitcoin-blockchain.html
- https://arxiv.org/html/2405.04332v1
- https://arxiv.org/html/2504.21367v1
- https://github.com/topics/private-key
- https://dl.acm.org/doi/full/10.1145/3596906
아래는 비트코인 암호화폐에 대한 공격에 영향을 미치는 치명적인 개인 키 유출 취약점의 작동 방식, 해당 공격의 과학적 명칭, 그리고 CVE의 존재에 대한 정보를 포괄적이고 잘 설명한 과학 논문입니다.
비트코인 개인 키 유출 취약점: 영향, 공격 유형 및 CVE 현황
소개
비트코인은 탈중앙화된 블록체인과 암호화 보안을 기반으로 하는 가장 크고 널리 사용되는 암호화폐입니다. 비트코인의 보안은 소유권과 거래 권한을 확인하는 고유한 디지털 서명인 개인 키에 기반합니다. 그러나 개인 키 유출과 관련된 심각한 취약점은 개별 사용자뿐 아니라 전체 비트코인 생태계에 치명적인 결과를 초래할 수 있습니다.
취약점이 비트코인 암호화폐 공격에 미치는 영향
개인 키가 유출되면 공격자는 해당 비트코인 주소에 대한 완전한 제어권을 갖게 됩니다. 이를 통해 공격자는 다음과 같은 작업을 수행할 수 있습니다.
- 임의의 거래를 생성하고 서명하며, 자금을 인출할 수 있습니다.
- 무단으로 암호화폐에 접근하여 절도 행위를 저지릅니다.
- 블록체인 보안 시스템에 대한 사용자와 서비스의 신뢰를 훼손합니다.
다중 서명 지갑에서 필요한 개인 키 개수(예: 3개 중 2개)를 유출하면 접근 제어 논리가 무너져 자금 도난과 마찬가지입니다. 이러한 취약점은 다음과 같은 공격의 진입점이 됩니다.
- 피싱 및 소셜 엔지니어링 – 공격자는 피해자를 속여 개인 키를 공개하도록 유도합니다.
- 멀웨어 – 악성 소프트웨어는 사용자 기기에서 키를 훔칩니다.
- 소프트웨어 구현 오류 – 안전하지 않은 키 입력 및 저장(예: 콘솔 또는 로그에 직접 입력)
- 리플레이 공격 및 거래 위조 공격 .
따라서 개인 키 유출은 비트코인 네트워크의 무결성과 보안에 대한 근본적인 위협입니다.
공격의 과학적 명칭
과학 문헌 및 보안 실무에서 개인 키 유출을 기반으로 하는 공격을 개인 키 유출 공격(Private Key Compromise Attack)이라고 합니다. 이는 디지털 자산의 기밀성과 제어권을 위협하는 기본적인 공격 유형 중 하나입니다.
하위 범주 및 관련 공격 유형은 다음과 같습니다.
- 키 유출 공격 – 저장 또는 처리 오류로 인해 키가 유출되는 공격입니다.
- 피싱 공격 – 속임수를 통해 키를 획득하는 행위.
- 악성 프로그램 기반 키 탈취 는 악성 프로그램에 의한 키 탈취입니다.
- 리플레이 공격 및 이중 지출 공격 – 네트워크에서 탈취한 키를 악용하는 행위.
이 취약점에 대한 CVE 정보가 제공됩니다.
개인 키 유출 취약점이라는 일반적인 범주는 특정 소프트웨어 취약점 하나가 아니라 시스템적인 보안 결함 유형이기 때문에 CVE 번호가 할당되지 않았습니다 .
그럼에도 불구하고:
- 널리 사용되는 라이브러리, 지갑 또는 서비스의 오류나 취약점으로 인해 개인 키가 유출되는 특정 사례는 각각 별도의 CVE로 등록되어 있습니다.
- 실제 취약점을 포함하는 CVE의 예: 키 생성 문제, 저장 오류, 서명 API 버그.
- 각각의 취약점 발견 및 주요 정보 유출 사건은 CVE 데이터베이스에서 고유한 번호를 부여받을 수 있습니다.
이는 개인 키 보안이 고립된 취약점이 아니라 포괄적인 보안의 지역적 문제임을 의미합니다.
결론
개인 키 유출이라는 심각한 취약점은 비트코인의 보안과 신뢰를 무너뜨릴 수 있는 개인 키 침해 공격으로 이어지는 직접적인 경로입니다. 오늘날의 환경에서 위협은 사회적, 기술적, 소프트웨어적 측면을 아우르며 더욱 복잡하고 정교해지고 있습니다.
이러한 취약점을 인식하고 예방하는 것은 암호화폐 생태계의 지속 가능한 발전에 매우 중요합니다. 엄격한 키 보호 조치, 하드웨어 지갑 사용, 사용자 교육, 그리고 소프트웨어 솔루션에 대한 지속적인 보안 감사는 디지털 자산의 보안을 유지하기 위한 필수 조건입니다.
출처:
- 개인 키가 해킹당하는 7가지 주요 방법, 할본 할본
- 블록체인 계층에 대한 공격의 새로운 분류”, 2017 arxiv
- Immunebytes에서 유출된 개인 키 암호화 해킹 목록
- 암호화폐 지갑의 보안 측면 – 체계적 검토, ACM 비트코인 생태계에서 개인 키 유출이라는 심각한 취약점은 과학 및 실무 암호학 문헌에서 ‘ 개인 키 침해 공격(Private Key Compromise Attack)’ 이라고 불리는 공격으로 직결됩니다 . 이 공격에서 개인 키에 접근한 공격자는 사용자의 자금에 대한 완전한 통제권을 획득하여 소유자의 동의 없이 거래를 생성하고 서명할 수 있으므로 암호화폐를 훔치고 지갑에 대한 통제권을 잃게 됩니다. 이러한 공격은 특히 다중 서명 지갑에 매우 위험한데, 필요한 키 개수 중 일부가 유출될 경우 신뢰 시스템이 무너지기 때문입니다. acm
이 취약점의 영향은 암호화폐 시스템의 보안과 신뢰를 완전히 무너뜨리는 것입니다. 개인 키는 자금 소유권을 증명하는 유일한 수단이기 때문입니다. 유출된 키는 피싱, 멀웨어, 소셜 엔지니어링, 코드 오류 악용(예: 안전하지 않은 키 입력 또는 저장 방식) 등 광범위한 공격에 이용될 수 있습니다.
현재 이 유형의 취약점에 대한 단일 통합 CVE 번호는 없습니다. 이는 특정 취약점 하나가 아니라 여러 보안 버그가 복합적으로 나타나는 현상이기 때문입니다. 하지만 지갑이나 라이브러리의 버그로 인해 발생하는 개별 개인 키 유출 사고는 각각 개별 CVE 번호로 등록됩니다.
따라서 개인 키 유출 공격은 비트코인에 대한 가장 심각한 보안 위협 중 하나이며 , 하드웨어 지갑, 암호화, 안전한 인터페이스 및 사용자 교육을 통해 개인 키를 보호하는 것은 이러한 공격을 방지하고 암호 시스템의 무결성을 유지하는 데 필수적입니다. halborn+3
결론적으로, 비트코인 개인 키 생성 및 관리 시스템의 심각한 취약점은 암호화폐 생태계 보안에 가장 위험한 위협 중 하나임을 강조해야 합니다. secp256k1 타원 곡선의 순서 결정 오류 또는 개인 키 생성 오류와 관련된 문제는 상당수의 키를 무효화하거나 예측 가능하게 만듭니다. 이는 암호화 보안을 약화시키고, 충돌 가능성을 높이며, 공격자가 이러한 결함을 악용하여 지갑을 탈취할 수 있도록 합니다.
이 취약점은 사실상 개인 키 유출 공격으로 이어져 공격자가 사용자의 자금을 완전히 장악하고 거래 서명을 위조하거나 소유자의 동의 없이 암호화폐를 인출할 수 있게 합니다. 이는 비트코인 네트워크에 대한 신뢰의 기반을 무너뜨리고 암호화폐 생태계 내 수천만 달러의 자산을 위험에 빠뜨립니다.
랜드스톰 공격이나 자바스크립트 라이브러리 버그 관련 사례와 같은 과거 사례들은 이러한 문제의 실제 위험성과 규모를 보여줍니다. 수백만 개의 취약한 지갑과 막대한 금전적 손실이 발생한 것입니다. 전체 범주를 포괄하는 단일 CVE는 없지만, 개별 사례는 심각한 사고로 취약점 데이터베이스에 기록됩니다.
보안을 유지하려면 암호화 표준을 엄격히 준수하고, 검증된 구현 방식을 사용하며, 하드웨어 지갑을 활용하고, 포괄적인 개인 키 보호 메커니즘을 구축해야 합니다. 이것이 디지털 자산을 보호하고 전체 암호화폐 인프라의 안정성을 유지하는 유일한 방법입니다.
따라서 개인 키의 적절한 생성과 안전한 저장 문제에 대한 관심은 현대 암호학의 근본적인 과제이며, 현대의 위협과 공격으로부터 비트코인을 보호하는 데 필수적인 부분입니다.
이 코드 줄에는 비밀 키와 개인 키 유출과 관련된 암호화 취약점이 있습니다.
파이썬print("\nPrivate key: \n%s" % hdkey.wif_private())
여기서는 개인 키가 화면(콘솔)에 평문으로 표시되어 있어 심각한 보안 위험을 초래합니다. 콘솔이나 로그에 접근할 수 있는 사람은 누구나 개인 키를 획득하여 지갑과 자금을 완전히 장악할 수 있습니다.
개인 키를 평문으로 노출하는 것은 절대 올바른 방법이 아니며 , 안전한 저장소에 보관하거나 하드웨어 지갑을 사용하여 개인 정보 노출을 방지해야 합니다.
아래는 BitcoinLib 샘플 코드에서 심각한 개인 키 유출 취약점이 발생하는 방식과, 이 취약점을 제거하는 안전한 수정 방법 및 샘플 코드를 자세히 설명하는 연구 논문입니다.
BitcoinLib Python 개인 키 유출 취약점 분석 및 안전한 해결 방법
소개
개인 키는 비트코인 네트워크에서 자금 소유권을 확인할 수 있는 유일한 도구입니다. 이러한 키를 안전하게 보관하고 관리하는 것은 사용자 보안과 전체 암호 시스템의 보안에 매우 중요합니다. 개인 키가 유출되거나 통제되지 않은 방식으로 공개될 경우 계정이 즉시 손상되고 자금이 도난당할 수 있습니다.
실제 시나리오에서 취약점은 암호화 알고리즘 자체의 결함 때문이 아니라, 구현 오류나 코드 내에서 개인 데이터를 부적절하게 처리하는 데서 비롯되는 경우가 많습니다. BitcoinLib 라이브러리를 사용하는 이 파이썬 스크립트에서는 개인 키를 평문으로 출력하는 방식이 안전하지 않아 심각한 취약점을 초래합니다.
취약성은 어떻게 발생하는가
주요 취약점은 바로 이 코드 줄입니다.
파이썬print("\nPrivate key: \n%s" % hdkey.wif_private())
여기서는 WIF(지갑 가져오기 형식) 형식의 개인 키가 콘솔에 평문으로 출력됩니다. 그 결과는 다음과 같습니다.
- 개인 키는 권한이 없는 사람이 볼 수 있게 됩니다.
- 해당 정보는 로그, 스크린샷에 저장되거나 공격자에게 전송될 가능성이 있습니다.
- 지갑의 개인 정보 보호 및 보안이 거의 완전히 무너졌습니다.
이 비밀 관리 버그는 암호화 보안의 기본 원칙을 위반합니다. 개인 키나 기타 비밀 데이터를 공개적으로 노출하는 것은 용납할 수 없습니다.
훌륭하고 안전한 해결 방법입니다
이러한 취약점을 제거하려면 개인 키를 평문으로 출력하는 것을 금지해야 합니다. 대신, 키는 암호화된 형태로만 메모리에 저장하거나 보안 인터페이스를 통해 사용해야 합니다.
다음과 같은 접근 방식을 사용하는 것도 유용합니다.
- 개인 키를 콘솔이나 로그에 출력하지 마십시오.
- 키를 안전하게 백업할 수 있는 방법을 제공하십시오(예: 암호화된 파일 또는 하드웨어 지갑).
- 필요한 경우 마스크된 입력을 사용하십시오.
- 메모리 내 개인 데이터의 수명 주기를 제어하여 보존 기간을 최소화합니다.
안전한 코드 수정의 예
파이썬from bitcoinlib.mnemonic import Mnemonic
from bitcoinlib.keys import HDKey
NETWORK = 'testnet'
KEY_STRENGTH = 128
# Генерация мнемонической фразы без вывода приватных ключей
words = Mnemonic().generate(KEY_STRENGTH)
print("A Mnemonic passphrase has been generated. Please write down and store carefully: \n%s" % words)
password = input("\nEnter a password if you would like to protect passphrase []: ")
seed = Mnemonic().to_seed(words, password)
hdkey = HDKey.from_seed(seed, network=NETWORK)
# Приватный ключ не выводится
# print("\nPrivate key: \n%s" % hdkey.wif_private())
public_account_wif = hdkey.public_master_multisig()
print("Public account key to share with other cosigners for a multisig BIP45 wallet: \n%s" % public_account_wif.wif())
# Опционально: экспорт приватного ключа в зашифрованный файл (пример, зависит от реализации)
# hdkey.wif_private() можно сохранить в безопасности, без вывода в консоль
결론
개인 키의 공개된 파생 경로와 관련된 취약점은 암호화폐 지갑 및 애플리케이션 구현에서 가장 위험하고 흔한 오류 중 하나입니다. 이 문제를 해결하려면 개인 정보 공개를 엄격히 금지하고 안전한 키 관리 방법을 구현해야 합니다.
안전한 저장, 통제된 관리, 그리고 개인 키 노출 최소화만이 암호화폐 자산을 도난 및 공격으로부터 보호할 수 있습니다. 안전한 프로토콜과 관행을 구현하는 것은 개발자에게 필수적인 과제이며, 사용자 신뢰와 암호 시스템의 안정성을 보장합니다.
결론적으로, 비트코인 개인 키 생성 및 관리의 심각한 취약점은 암호 시스템 보안에 근본적인 위협이 된다는 점에 유의해야 합니다. 특히, 타원 곡선 secp256k1 매개변수의 잘못된 정의, 특히 점들의 순서를 잘못 지정하는 경우 허용 범위를 벗어난 개인 키가 생성될 수 있습니다. 이는 키 충돌 가능성을 높이고 키의 암호학적 강도를 약화시켜 복구 공격에 취약하게 만듭니다.
이 취약점을 이용한 공격은 과학적으로 개인 키 탈취 공격(Private Key Compromise Attack)이라고 합니다. 이 공격을 통해 공격자는 사용자의 개인 키를 탈취하여 사용자 자금에 대한 완전한 통제권을 확보하고, 허위 거래를 생성하거나 암호화폐를 인출하고 시스템의 무결성을 훼손할 수 있습니다.
BitcoinJS의 Randstorm 취약점과 같은 과거 사례는 이러한 문제의 실제 위험성을 입증했으며, 해킹당한 지갑으로 인해 수십억 달러의 손실이 발생했습니다. 키 유출 취약점 전체를 포괄하는 단일 CVE는 없지만, 구현된 솔루션의 개별 버그는 고유 번호로 CVE 데이터베이스에 기록됩니다.
보안을 확보하려면 암호화 표준을 엄격히 준수하고, 검증된 라이브러리와 하드웨어 지갑을 사용하며, 개인 키가 유출되지 않도록 보호하고, 수명 주기를 철저히 관리해야 합니다.
따라서 개인 키 보호는 비트코인의 안정성을 위한 초석이며, 보안과 사용자 신뢰를 보장합니다.
출처:
- 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://habr.com/ru/articles/430240/
- https://opennet.ru/56670/
- https://www.itsec.ru/articles/upravlenie-uyazvimostyami-v-kriptokoshelkah
- 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/
출처 및 추가 정보:
- BitcoinLib의 개인 키 취약점 분석 및 안전한 구현을 위한 권장 사항 (github+1)
- ACM 키 보안 의 암호학적 기초
- Veracode+1 암호화폐 지갑 보안 강화를 위한 실용적인 권장 사항
- 비트코인 암호화폐의 심각한 개인 키 유출 취약점으로 인해 공격자는 사용자 자금에 대한 완전한 통제권을 확보하게 되며, 거래 서명을 위조하고 아무런 제약 없이 암호화폐를 인출할 수 있습니다. 이 공격의 과학적 명칭은 개인 키 침해 공격(Private Key Compromise Attack, PCKA)입니다. 개인 키는 비트코인 소유권을 증명하는 유일한 수단이기 때문에 이는 근본적인 보안 위협입니다.
- 이러한 공격은 피싱 이메일 및 웹사이트, 악성 소프트웨어, 취약한 키 저장소, 키 생성 오류, 소셜 엔지니어링, 클라우드 스토리지 서버 해킹 등 다양한 방식으로 이루어집니다. 이러한 모든 방법은 공격자가 개인 키를 탈취하는 결과를 초래합니다.
- 이 공격으로 인해 암호화폐가 도난당하고 지갑 제어권을 잃게 되어 사용자 및 서비스에 상당한 재정적, 평판적 손해가 발생합니다.
- 이 취약점에 대한 CVE 번호와 관련하여 말씀드리자면, “개인 키 유출”이라는 포괄적인 오류 유형을 포괄하는 단일한 CVE 번호는 존재하지 않습니다. 하지만 구현 오류나 소프트웨어 버그로 인해 발생하는 개별적인 개인 키 유출 사례에는 각각 고유한 CVE 식별자가 부여됩니다.
- 따라서 개인 키 유출 공격은 비트코인에 대한 가장 위험한 위협 중 하나이며, 하드웨어 지갑 사용, 안전한 저장소, 이중 인증, 사용자 교육 및 시스템 보안에 대한 지속적인 감사와 같은 포괄적인 보안 조치가 필요합니다.
- 출처:
- 개인 키가 해킹 당하는 7가지 주요 방법
- 블록체인 계층에 대한 공격의 새로운 분류법 (arxiv)
- Immunebytes에서 유출된 개인 키 암호화 해킹 목록
- 암호화폐 지갑의 보안 측면 – 체계적인 검토 acm
- https://www.halborn.com/blog/post/top-7-ways-your-private-keys-get-hacked
- https://arxiv.org/html/2404.18090v1
- https://www.kaspersky.com/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/49943/
- https://immunebytes.com/blog/list-of-compromised-private-key-crypto-hacks/
- https://advisense.com/2025/03/13/cryptocurrency-and-blockchain-risks/
- https://dl.acm.org/doi/full/10.1145/3596906
- https://crystalintelligence.com/investigations/the-10-biggest-crypto-hacks-in-history/
- https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures
- https://www.sciencedirect.com/science/article/pii/S2590005621000138
- https://github.com/Korben00/bitcoin-recovery
- https://www.veracode.com/blog/python-crypto-library-updated-to-steal-private-keys/
- https://checkmarx.com/blog/crypto-stealing-code-lurking-in-python-package-dependencies/
- https://attacksafe.ru/pybitcointools/
- https://attacksafe.ru/private-keys-attacks/
- https://github.com/topics/private-key
- http://codesandbox.io/p/github/100darr/Plutus
- https://dl.acm.org/doi/full/10.1145/3596906
따라서 바로 이 부분이 개인 키 유출에 대한 치명적인 취약점을 포함하고 있습니다.
출처: pikabu+3
- 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://habr.com/ru/articles/430240/
- https://opennet.ru/56670/
- https://www.itsec.ru/articles/upravlenie-uyazvimostyami-v-kriptokoshelkah
- 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://www.halborn.com/blog/post/top-7-ways-your-private-keys-get-hacked
- https://arxiv.org/html/2404.18090v1
- https://www.kaspersky.com/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/49943/
- https://immunebytes.com/blog/list-of-compromised-private-key-crypto-hacks/
- https://advisense.com/2025/03/13/cryptocurrency-and-blockchain-risks/
- https://dl.acm.org/doi/full/10.1145/3596906
- https://crystalintelligence.com/investigations/the-10-biggest-crypto-hacks-in-history/
- https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures
- https://www.sciencedirect.com/science/article/pii/S2590005621000138