키헌터 작성
키 고스트 어택
암호화 라이브러리에서 메모리 초기화에 대한 충분한 고려가 부족하면 비트코인을 비롯한 모든 암호화폐 생태계에 심각한 보안 위험이 초래됩니다. 콜드 부트 공격과 메모리 키 추출은 개인 키의 완전한 탈취, 금전적 손실, 그리고 업계 전반에 걸친 광범위한 파급 효과를 야기할 수 있습니다. 보장된 메모리 소거를 구현하고 모범 사례를 엄격히 준수하는 것이 이러한 공격의 위험을 완화하는 유일한 방법입니다.
AES-256 키 저장 방식의 심각한 취약점, 즉 비밀 데이터가 RAM에서 완전히 삭제되지 않는 문제는 비트코인 인프라 자체의 보안을 직접적으로 위협합니다. 이 취약점은 가장 위험한 현대 암호화 공격 중 하나인 콜드 부트 공격(또는 키 메모리 추출 공격)을 가능하게 하며, 공격자는 이를 통해 개인 키에 대한 완전한 접근 권한을 획득하고 결과적으로 사용자 계정의 자금에 접근할 수 있습니다. 아무리 안전한 AES-256 알고리즘이라도 프로세스 잔여 데이터에서 키를 쉽게 추출할 수 있다면 무용지물이 됩니다.
AES-256 키 저장소의 심각한 취약점: 비트코인 암호화폐 개인 키에 대한 메모리 키 추출 및 콜드 부트 공격 위협
키 고스트 어택
공격의 핵심은 다음과 같습니다.
암호화 또는 복호화 과정에서 라운드 키가 컨텍스트 구조에 조용히 “숨겨져” 메모리에 남아 있게 되는데, 이는 정리가 제대로 이루어지지 않기 때문입니다. 공격자는 이러한 “숨겨진” 키를 추출하여 AES-256 비밀 키 전체를 복구할 수 있습니다.
“열쇠는 사라지지 않아요. 기억의 유령이 되는 거죠!”
연구 논문: AES-256 키 저장 취약점이 비트코인 암호화폐 보안에 미치는 영향
비트코인 암호화폐는 암호화 기술을 사용하여 거래를 안전하게 보호하고 자금 관리에 필요한 개인 키를 저장합니다. 지갑 파일(wallet.dat) 및 기타 민감한 데이터를 암호화하는 데 가장 일반적으로 사용되는 알고리즘은 AES-256입니다. 거래 완료 후에도 키가 RAM에 남아 있는 심각한 구현 오류가 발생할 경우 모든 사용자 자산의 보안에 치명적인 결과를 초래할 수 있습니다.
취약점이 비트코인 공격에 미치는 영향
메모리 내 키 저장소의 취약성, 특히 초기화(zeroing)가 이루어지지 않는다는 점은 소위 키 메모리 누출 공격의 빌미를 제공합니다. 비트코인 wallet.dat 파일의 경우, 공격자는 취약한 AES 라이브러리를 구현하는 비트코인 코어 프로세스(또는 다른 클라이언트)의 메모리에 접근하는 것만으로 전체 개인 키를 획득할 수 있습니다. ( wikipedia+1)
- 클라이언트 지갑을 사용하여 암호화/복호화 작업이 수행된 후, 개인 키(및 모든 중간 키)는 메모리에 저장됩니다. (위키백과)
- 콜드 부트 공격이나 메모리 덤프 분석 공격 과 같은 공격을 사용하여 공격자는 암호화 프로세서의 메모리에 접근합니다. (위키백과)
- 공격자는 라운드 키와 마스터 키를 추출함으로써 비트코인 계정의 개인 키를 복구할 수 있습니다.
- 그 결과 피해자의 자금은 완전히 장악되고 디지털 자산은 돌이킬 수 없이 손실됩니다.
공격의 과학적 명칭
공식적으로 이러한 공격은 콜드 부트 공격(Cold Boot Attack) 이라고 하지만, 키 복구 공격(Key-Recovery Attack)이나 메모리 키 추출 공격(Memory Key Extraction Attack)과 같은 과학적 용어 도 흔히 사용됩니다. 현대 용어로는 메모리 잔류를 이용한 사이드 채널 공격(Side-Channel Attack) 이라고 합니다 . arxiv+2
CVE 식별자
CVE(Common Vulnerabilities and Exposures)와 같은 공개 데이터베이스에는 암호화 키를 메모리에 저장하는 것과 관련된 취약점이 나열되어 있습니다. 유사한 항목의 예는 다음과 같습니다.
- CVE-2022-45424 – 하드코딩된 구현으로 인한 AES 키 유도 취약점. cve.mitre
- 2025년 현재, 비트코인 코어 또는 유사 라이브러리의 제로화 버그에 대한 특정 CVE는 없지만, CWE 분류에 따르면 이는 CWE-311: 민감한 데이터 암호화 누락 에 해당합니다 . cwe.mitre
공격 방지
안전한 구현을 위해서는 민감한 데이터가 포함된 모든 메모리 영역을 의무적으로, 그리고 확실하게 삭제해야 합니다. 이러한 공격을 방지하기 위한 주요 조치: Juniper+2
volatile0이 물리적으로 기록되도록 하려면 -참조를 사용하여 0화 소프트웨어 기능을 사용하십시오 .- 메모리 정리 최적화에 대한 보호 기능이 내장된 최신 라이브러리를 사용합니다.
- 키가 메모리에 저장되는 시간을 최소화합니다.
- 하드웨어적 조치: 기기에 대한 물리적 접근 보호, TPM 모듈 사용, 특수 메모리 보호 메커니즘.
안전한 청소 방법의 예:
cppstatic void secure_zeroize(void* ptr, size_t len) {
volatile uint8_t* p = (volatile uint8_t*)ptr;
while (len--) {
*p++ = 0;
}
}
결론
암호화 라이브러리에서 메모리 초기화에 대한 충분한 고려가 부족하면 비트코인을 비롯한 모든 암호화폐 생태계에 심각한 보안 위험이 초래됩니다. 콜드 부트 공격과 메모리 키 추출은 개인 키의 완전한 탈취, 금전적 손실, 그리고 업계 전반에 걸친 광범위한 파급 효과를 야기할 수 있습니다. 보장된 메모리 소거를 구현하고 모범 사례를 엄격히 준수하는 것이 이러한 공격의 위험을 완화하는 유일한 방법입니다.

암호화 취약점: 메모리에서 키 유출
주요 결론: 이 AES-256 암호화기에서는 세션 행렬 키가 메모리에 저장되며 context.key, 재설정 함수( zeroize)가 주석 처리되어 있기 때문에 메모리에서 삭제되지 않습니다. 따라서 공격자는 암호화 또는 복호화 후 비밀 키와 확장 라운드를 획득할 수 있습니다.
코드의 취약점 위치
- 이 함수
add_round_key_copy
는 현재 라운드 키를 버퍼copy(예:context.key)에 복사한 다음, 이를 데이터 블록(cpp)과 XOR 연산합니다.constexpr void add_round_key_copy(block& bytes, secret& key, secret& copy) NOEXCEPT { auto i = block_size; while (to_bool(i--)) { const auto j = i + block_size; copy[j] = key[j]; ←— здесь копируются оба половинных ключа copy[i] = key[i]; bytes[i] ^= key[i]; } }결과적으로context.key모든 라운드 키가 지속적으로 누적되어 암호화/복호화가 완료된 후에도 계속 접근할 수 있습니다. - 비밀 키 재설정 기능 부족:
파일 하단에서zeroize메모리에서 모든 키를 지우는 메서드가 주석 처리되어 있으며, 함수 내에서 이 메서드를 호출하는 부분encrypt도decrypt주석 처리되어 있습니다. (cpp)////constexpr void zeroize(aes256::context& context) NOEXCEPT ////{ //// context.key.fill(0); //// context.enckey.fill(0); //// context.deckey.fill(0); ////} … void encrypt(block& bytes, const secret& key) NOEXCEPT { aes256::context context; initialize(context, key); encrypt_block(context, bytes); ////zeroize(context); ←— здесь должно быть очищение, но оно закомментировано } void decrypt(block& bytes, const secret& key) NOEXCEPT { aes256::context context; initialize(context, key); decrypt_block(context, bytes); ////zeroize(context); ←— и здесь аналогично }

수정 권장 사항
- 암호화 및 복호화 작업이 완료된 직후 복원하고 호출하여
zeroize키가 포함된 컨텍스트를 즉시 재설정하십시오. - 슬레이브 사용을 위해 절반 키를 복사할 필요가 없는 경우 불필요한 키 저장을 제거하거나
add_round_key_copy, 사용 후 즉시 삭제되는 로컬 임시 변수에 저장하십시오.
context.key따라서 취약점은 키를 (함수 add_round_key_copy)에 복사하는 것과 이후 비밀 데이터의 재설정이 이루어지지 않는 것(주석 처리된 호출 zeroize) 때문에 발생합니다 .

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

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

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

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


연구 논문: BitCryptix와 비트코인 개인 키 복구에서 AES-256 메모리 잔류 취약점 악용 사례
본 논문은 BitCryptix 와 같은 암호 분석 프레임워크를 악용하여 암호화 소프트웨어의 메모리 잔류 취약점을 이용하는 가능성을 조사합니다. 특히, 비트코인 클라이언트의 AES-256 키 저장소에서 부적절한 메모리 초기화가 어떻게 Key Ghost Attack 으로 알려진 심각한 공격 표면을 노출시키는 지 분석합니다. BitCryptix와 같은 도구는 고급 키 복구 기법을 활용하여 휘발성 메모리에서 잔류 암호화 키를 체계적으로 추출할 수 있으며, 이를 통해 공격자는 비트코인 개인 키를 복원하고 지갑을 완전히 장악할 수 있습니다. 본 논문에서는 공격 메커니즘과 비트코인 생태계에 미치는 영향, 그리고 방어 전략을 제시합니다.
비트코인의 보안은 강력한 암호화 기술에 기반하며, 개인 키는 거래 승인 및 디지털 자산 소유권의 핵심 요소입니다. 비트코인 코어에서 wallet.dat 및 관련 파일을 암호화하는 데 널리 사용되는 AES-256은 무차별 대입 공격에 대해 해독 불가능하다고 여겨집니다. 그러나 알고리즘의 강력함은 잘못된 구현으로 인해 무력화될 수 있습니다. 그러한 오류 중 하나는 불충분한 초기화입니다. 이 경우 암호화 프로세스가 종료된 후에도 키와 중간 라운드 상태가 RAM에 잔여 상태로 남아 있게 됩니다.
암호 분석 전문 툴킷인 BitCryptix는 공격자가 이러한 메모리 지속성을 악용하여 구조화된 키 복구 공격을 수행하는 방법을 보여줍니다. 콜드 부트 공격과 같은 물리적 사이드 채널 접근 방식과 결합하면, BitCryptix의 방법론은 이론적인 취약점을 실제 공격으로 전환시킵니다.
공격 메커니즘
취약점
- 일부 비트코인 라이브러리의 AES-256 구현은 암호화 컨텍스트 구조를 안전하게 삭제하지 못합니다.
- 암호화/복호화 주기 후에도 라운드 키는 메모리 구조(예:
context.key및 )에 로드된 상태로 유지됩니다.context.enckey - 취약한 빌드에서는 초기화 루틴이 없거나 주석 처리되어 있어 “잔여” 데이터가 남게 됩니다.
BitCryptix를 이용한 익스플로잇
BitCryptix는 하이브리드 전략을 사용합니다.
- 메모리 획득: 공격자는 콜드 부팅 또는 DMA 기반 메모리 추출을 통해 시스템 RAM에서 원시 덤프를 얻습니다.
- 암호화 키 매핑: 이 도구는 통계적 엔트로피 분석 및 정렬 휴리스틱을 활용하여 메모리 이미지에서 인식 가능한 AES 키 구조를 검색합니다.
- 라운드 키 재구성: BitCryptix는 유출된 서브키를 사용하여 역 라운드 변환을 통해 마스터 AES-256 키를 재구성합니다.
- 지갑 암호 해독: 공격자는 복구된 AES 키를 사용하여 wallet.dat 파일을 해독하고, 저장된 비트코인 개인 키에 직접 접근할 수 있습니다.
- 자금 압류 또는 지갑 복구: 이는 악의적인 목적으로 코인을 빼돌리거나, 윤리적으로 사용될 경우 오랫동안 분실된 비트코인 지갑을 포렌식 방식으로 복구할 수 있도록 합니다.
비트코인 보안에 대한 시사점
공격 경로는 암호화폐 생태계의 심각한 시스템적 취약점을 보여줍니다.
- 개인 키 유출: AES 키가 추출되면 비트코인 개인 키를 무제한으로 복호화할 수 있어 공격자가 지갑을 완전히 제어할 수 있게 됩니다.
- 대규모 위협: 콜드 부트 공격은 자동화될 수 있으므로, 제대로 보호되지 않은 노드나 콜드 스토리지 시스템이 대규모로 손상될 가능성이 있습니다.
- 보안의 환상: AES-256의 수학적 강점조차도 실제 구현에서 안전한 삭제를 고려하지 않는다면 그 허점을 보완할 수 없습니다.
- 복구 도구와 악용 도구: BitCryptix와 같은 도구는 잊어버린 지갑을 복구하는 등 합법적인 목적으로 사용될 수 있지만, 악의적인 사용자의 손에 들어가면 치명적인 위험을 초래할 수 있습니다.
예방 조치
이러한 공격 방식을 막기 위해 비트코인 생태계의 암호화 소프트웨어는 엄격한 관행을 채택해야 합니다.
- 안전한 초기화: volatile 키워드가 포함된 루틴을 사용하는 작업 후 메모리 컨텍스트에서 키를 즉시 삭제합니다.
- 컴파일러 최적화에 영향을 받지 않는 메모리 정리: 불필요한 삭제 명령어를 생략하는 컴파일러 최적화에 영향을 받지 않는 함수를 사용합니다.
- 하드웨어 격리: 신뢰할 수 있는 플랫폼 모듈(TPM)과 암호화된 RAM 아키텍처를 사용하여 메모리 직접 접근을 제한합니다.
- 정기적인 보안 감사: 오픈 소스 비트코인 클라이언트의 취약점을 탐지하고 제거하기 위해 지속적인 소스 코드 분석을 실시합니다.
논의
BitCryptix 사례는 역설적인 상황을 보여줍니다. 연구원이나 정당한 데이터 복구를 위한 암호화 도구로 설계되었지만, 그 작동 방식이 악의적인 공격 기법과 상당 부분 겹치기 때문입니다. 이러한 이중 용도 특성은 개발자, 연구원, 그리고 감사자가 데이터 복구에 초점을 맞춘 애플리케이션과 악용에 초점을 맞춘 애플리케이션을 명확히 구분해야 할 책임을 강조합니다.
키 고스트 공격은 메모리 처리 구현상의 사소한 오류가 최첨단 암호화 알고리즘조차 치명적으로 손상시킬 수 있음을 보여주는 대표적인 사례입니다. 비트코인 신뢰 모델의 핵심인 개인 키가 일시적인 메모리 잔여물에서 복구될 수 있다는 사실은 비트코인의 무적성에 대한 인식을 뒤흔듭니다.
결론
본 연구는 BitCryptix와 같은 도구를 사용하여 AES-256 메모리 잔류물을 악용하면 대규모 비트코인 개인 키 추출이 가능하다는 점을 강조합니다. 무차별 대입 공격을 우회하여 메모리에 직접 접근하는 방식은 암호화 공격의 패러다임 전환을 의미합니다. 보장된 초기화 및 하드웨어 보안 대책과 같은 방어 수단이 보편적으로 도입되지 않는 한, 비트코인 생태계는 심각한 위협에 직면할 것입니다.
이번 사례에서 얻을 수 있는 교훈은 분명합니다. 탄탄한 수학적 기반만으로는 충분하지 않으며 , 올바른 구현이 필수적입니다. 비트코인 사용자를 완벽하게 보호하려면 암호화 기본 요소뿐 아니라 안전한 소프트웨어 엔지니어링 관행이 암호화폐 복원력의 토대가 되어야 합니다.

연구 논문: AES-256 키 저장 취약점: 메커니즘, 위험 및 안전한 해결책
소개
AES-256과 같은 최신 암호화 알고리즘은 정보 보안, 특히 고위험 시스템(예: 비트코인 및 기타 암호화폐)에서 매우 중요합니다. 그러나 실제 보안 수준을 결정하는 것은 암호화 알고리즘뿐만 아니라 그 구현 방식입니다. 여기서 제시된 취약점은 잘못된 메모리 관리에서 비롯됩니다. 암호화 작업이 완료된 후 비밀 키가 RAM에서 삭제되지 않아 키 유출 위험이 발생합니다. iacr+1
취약성 발생 메커니즘
본 연구에서 검토 중인 AES-256 구현에서는 암호화 키(및 중간 라운드 키)가 구조체에 저장됩니다 context. 암호화 또는 복호화 작업 후, 해당 구조체를 초기화하는 함수가 주석 처리되어 있어 초기화되지 않습니다. 따라서 키는 메모리에 계속 저장되어 있으며, 공격자는 프로세스 메모리 분석, 사이드 채널 공격 또는 시스템 충돌 시 발생하는 메모리 누수를 통해 키를 획득할 수 있습니다. 이러한 유형의 오류는 메모리 관리 부실로 인한 비밀 데이터 유출로 분류됩니다 .
일반적인 공격 시나리오 는 공격자가 “키 고스트 공격”을 실행하여 암호화가 완료된 후 또는 콜드 부트 공격을 통해 메모리를 읽고 전체 AES 키를 복구하여 암호화된 데이터에 접근하는 것입니다. cs-people.bu+2
안전한 해결책: 영점 조정 방법
정보 보안 표준(예: FIPS 140-3)에서는 암호화 작업 완료 후 메모리에서 비밀 키를 삭제하도록 요구합니다. 그러나 단순히 0을 할당하는 것만으로는 항상 효과적이지 않을 수 있습니다. 컴파일러가 코드를 최적화하여 삭제 명령을 제거할 수 있기 때문입니다. 더 나은 방법은 `-0` 한정자를 사용하는 구문을 활용하는 것입니다 volatile. 이렇게 하면 실제로 메모리에 0이 기록됩니다. juniper+1
안전한 영점 조정 함수의 예:
cppstatic void secure_zeroize(void* ptr, size_t len) {
volatile uint8_t* p = (volatile uint8_t*)ptr;
while (len--) {
*p++ = 0;
}
}
이 접근 방식은 데이터가 메모리에서 완전히 삭제되어 공격자가 접근할 수 없도록 보장합니다. stackoverflow+2
취약점 해결 방법을 예시를 통해 설명합니다.
권장 사항 및 수정된 코드:
- 암호화/복호화가 완료되면 키를 포함하는 모든 구조체에 대해 secure_zeroize 함수를 호출합니다.
- 키가 오래 지속되는 객체에 저장하지 마세요. 작업이 완료되면 즉시 지워지는 로컬 변수를 사용하세요.
- 함수들을 다음
encrypt과decrypt같이 다시 작성하세요:
cppvoid encrypt(block& bytes, const secret& key) NOEXCEPT
{
aes256::context context;
initialize(context, key);
encrypt_block(context, bytes);
secure_zeroize(context.key, sizeof(context.key));
secure_zeroize(context.enckey, sizeof(context.enckey));
secure_zeroize(context.deckey, sizeof(context.deckey));
}
void decrypt(block& bytes, const secret& key) NOEXCEPT
{
aes256::context context;
initialize(context, key);
decrypt_block(context, bytes);
secure_zeroize(context.key, sizeof(context.key));
secure_zeroize(context.enckey, sizeof(context.enckey));
secure_zeroize(context.deckey, sizeof(context.deckey));
}
이 접근 방식은 핵심 저장소 취약점을 제거하고 대부분의 메모리 분석 공격으로부터 보호합니다.
결론
암호화 보안은 적절한 알고리즘 선택뿐만 아니라 비밀 데이터 처리의 신중한 구현을 요구합니다. 메모리에 정제되지 않은 비밀 키가 저장되면 공격자에게 공격 지점이 됩니다. 안전한 초기화, 휘발성 메모리 사용, 그리고 비밀 데이터 저장에 대한 체계적인 고려는 현대의 안전한 암호화 시스템 설계에서 매우 중요한 요소입니다 .
이러한 취약점을 탐지하고 수정하기 위해 정기적으로 소스 코드 감사 및 보안 테스트를 실시하는 것이 좋습니다 .
최종 과학적 결론
AES-256 키 저장 방식의 심각한 취약점, 즉 비밀 데이터가 RAM에서 완전히 삭제되지 않는 문제는 비트코인 인프라 자체의 보안을 직접적으로 위협합니다. 이 취약점은 가장 위험한 현대 암호화 공격 중 하나인 콜드 부트 공격(또는 키 메모리 추출 공격)을 가능하게 하며, 공격자는 이를 통해 개인 키에 대한 완전한 접근 권한을 획득하고 결과적으로 사용자 계정의 자금에 접근할 수 있습니다. 아무리 안전한 AES-256 알고리즘이라도 프로세스 잔여 데이터에서 키를 쉽게 추출할 수 있다면 무용지물이 됩니다.
실제로 이는 지갑.dat의 손상, 대량의 암호화폐 도난, 디지털 자산 보호 상실 등 광범위한 손실로 이어질 수 있으며, 실제로 수십 개의 비트코인이 손실된 사례가 이를 증명합니다. 키를 초기화하지 않고 장기간 저장하는 것은 안전한 암호화폐 저장이라는 개념 자체를 무너뜨리고, 강력한 암호화를 허상으로 전락시킵니다. 비트코인 생태계에서 이러한 취약점은 전 세계 생태계를 직접적으로 위협하며, 단 한 번의 메모리 유출이라도 수많은 사용자에게 치명적인 결과를 초래할 수 있습니다 .
이것이 바로 과학계와 실무계가 키 삭제 보장 메커니즘의 의무적 도입과 모든 암호화 구현에 대한 엄격한 감사를 요구하는 이유입니다. 이것이 디지털 자산을 진정으로 보호하고 미래에 이와 같은 비극적인 공격이 재발하는 것을 방지할 수 있는 유일한 방법입니다.
- https://pikabu.ru/story/bitflipping_attack_na_walletdat_riski_ispolzovaniya_aes256cbc_grozit_utechkoy_zakryityikh_klyuchey_bitcoin_core_chast_1_13153470
- https://pikabu.ru/story/bitflipping_attack_na_walletdat_riski_ispolzovaniya_aes256cbc_grozit_utechkoy_zakryityikh_klyuchey_bitcoin_core_chast_2_13153514
- https://cryptodeep.ru/bit-flipping-attack-on-wallet-dat/
- https://habr.com/ru/companies/itsumma/news/650761/
- https://hightech.fm/2024/10/13/q-aes
- https://www.kaspersky.ru/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/36592/
- https://habr.com/ru/articles/336578/
- https://top-technologies.ru/ru/article/view?id=37634
- https://cyberleninka.ru/article/n/analiz-aktivnosti-i-tendentsiy-razvitiya-vredonosnyh-programm-tipa-blokirator-shifrovalschik-faylov
- https://www.reddit.com/r/sysadmin/comments/qwpqxk/aes_broken/
- https://www.iacr.org/archive/asiacrypt2015/94520273/94520273.pdf
- https://cs-people.bu.edu/tromer/papers/cache-joc-20090619.pdf
- https://cryptojedi.org/peter/data/qsmc-20240220.pdf
- https://arxiv.org/pdf/2106.04876.pdf
- https://www.juniper.net/documentation/us/en/software/ccfips23.4/cc-guide-routers-mx304/transformed-content/topics/concept/fips-mode-zeroization.html
- https://stackoverflow.com/questions/37371348/why-isnt-this-zeroization-code-optimized-out-by-most-c-compilers
- https://arxiv.org/html/2505.04896v1
- https://www.sciencedirect.com/science/article/abs/pii/S0743731524000625
- https://learning-gate.com/index.php/2576-8484/article/download/6586/2332/8975
- https://www.reddit.com/r/aws/comments/148uefj/best_practices_for_securing_access_keys_in_c/
- https://stackoverflow.com/questions/34342794/how-to-store-encryption-key-in-safe-c
- https://www.sciencedirect.com/science/article/pii/S1319157821003578
- https://www.codewithc.com/secure-coding-practices-in-embedded-c-revealed/
- https://forums.freebsd.org/threads/securely-storing-aes-key-in-application-binary.91980/
- https://www.securecodewarrior.com/article/coders-conquer-security-insecure-cryptographic-storage
- https://gist.github.com/atoponce/07d8d4c833873be2f68c34f9afc5a78a
- https://cwe.mitre.org/data/definitions/311.html
- https://moldstud.com/articles/p-implementing-best-practices-for-secure-coding-and-encryption
- https://www.ubiqsecurity.com/practical-guidance-on-how-to-prevent-cryptographic-failures-owasp-top-ten-a022021%EF%BF%BC/
- https://community.element14.com/technologies/internet-of-things/f/forum/30071/where-do-you-store-hide-your-aes-keys-used-for-embedded-encypt-and-decrypt
- https://www.iacr.org/archive/asiacrypt2015/94520273/94520273.pdf
- https://en.wikipedia.org/wiki/Cold_boot_attack
- https://arxiv.org/html/2412.19310v1
- https://cve.mitre.org/cgi-bin/cvekey.cgi
- https://cwe.mitre.org/data/definitions/311.html
- https://www.juniper.net/documentation/us/en/software/ccfips23.4/cc-guide-routers-mx304/transformed-content/topics/concept/fips-mode-zeroization.html
- https://stackoverflow.com/questions/37371348/why-isnt-this-zeroization-code-optimized-out-by-most-c-compilers
- https://is.muni.cz/th/ngo6y/Mishra_thesis.pdf
- https://lib.rs/crates/bitcoin-aes
- https://www.microsoft.com/en-us/research/wp-content/uploads/2006/10/aes-timing.pdf
- https://arxiv.org/pdf/1711.08002.pdf
- https://www.ainvest.com/news/escalating-cybersecurity-risks-crypto-ecosystem-call-action-investors-2508/
- https://fenix.tecnico.ulisboa.pt/downloadFile/1126295043839149/82457-bruno-lopes_dissertacao.pdf
- https://www.aumasson.jp/data/papers/eth2sec.pdf
- https://cs-people.bu.edu/tromer/papers/cache-joc-official.pdf
- https://www.cve.org/CVERecord/SearchResults?query=crypto
- https://en.wikipedia.org/wiki/Cryptanalysis
- https://www.sciencedirect.com/topics/computer-science/cryptographic-attack
- https://www.cve.org/CVERecord/SearchResults?query=encrypted
- https://research.checkpoint.com/2024/modern-cryptographic-attacks-a-guide-for-the-perplexed/
- https://nvd.nist.gov/vuln/detail/cve-2020-8912
- https://patents.google.com/patent/US20200195417A1/en
- https://arxiv.org/html/2509.10814v1