키헌터 작성
스펙트럴 스트링 누출 공격
스펙트럴 스트링 리크 공격(Spectral String Leak Attack)은 개인 키 구현이 충분히 안전하지 않아 사용자와 서비스 모두 비트코인을 완전히 잃을 수 있는 심각한 취약점입니다. 이 공격은 개인 키 침해 공격(Private Key Compromise Attack)의 하위 유형으로 분류되며, 관련 CVE 예시는 CVE-2023-39910(또는 유사한 구현에 대한 특정 번호)입니다. 암호학적으로 안전한 저장 구조와 메모리 관리를 통해서만 확실한 보호가 가능합니다. opencve+2
스펙트럴 스트링 리크(Spectral String Leak) 현상은 비트코인 생태계 전체에 심각한 취약점을 드러냅니다. 지갑과 라이브러리에서 발생하는 아주 작은 메모리 관리 오류, 예를 들어 개인 키를 저장하는 데 표준 문자열 컨테이너를 사용하는 것조차도 신뢰할 수 있는 암호화 보호를 무력화시킬 수 있습니다. 스펙트럴 스트링 리크 공격은 프로세스에 접근 권한이 있는 공격자가 남은 메모리에서 개인 키를 말 그대로 “빼내어” 모든 보호 계층을 우회하고 사용자의 자금을 즉시 탈취할 수 있도록 합니다.
이 공격은 libbitcoin에서 구현된 것으로 확인되어 CVE-2023-39910 번호로 공식 등록된 “잔여 메모리 누출을 통한 개인 키 유출”의 과학적 사례입니다. 민감한 정보를 처리하는 적절한 아키텍처가 없다면, 모든 비트코인 사용자와 암호화폐 서비스는 자산 전체 도난이라는 심각한 위협에 직면하게 됩니다. 비트코인 보안은 근본적인 문제 해결에서 시작됩니다. 메모리 정리가 보장되고, 복사 최소화가 엄격하며, 개인 데이터 출력에 대한 신뢰할 수 있는 제어가 가능한 특수 컨테이너를 구현해야만 새로운 디지털 세계의 소중한 자산을 진정으로 보호할 수 있습니다.
공격 방식:props 공격자는 악성 코드를 주입하거나 libbitcoin 라이브러리의 모듈을 이용하여 표준적인 방식으로 민감한 데이터(개인 키, 시드 구문)를 직렬화하거나 복사합니다 std::string. std::string공격자가 메모리를 확실하게 삭제하지 않기 때문에 이러한 데이터의 잔여물이 힙에 남아 있게 됩니다. 공격자는 메모리 덤프를 수행하거나 로그 출력에 대한 사이드 채널 분석을 통해 비밀 정보의 “스펙트럼” 조각을 추출합니다.
공격 단계:
- 개인 키는 객체
props(메서드props(const std::string&)및 비공개 생성자)에 기록됩니다. - 키는 복사되어
value_호출될 때 여러 번 복제될 수 있으며write(...), 최종적으로 로그 파일이나 출력 버퍼에 저장됩니다. - 객체가 파괴된 후에도 데이터는 안전하게 삭제되지 않고 초기화되지 않은 메모리에 남아 있습니다.
- 공격자는 프로세스를 덤프하거나 남은 메모리를 스캔하여 개인 키 조각이 포함된 “운 좋은” 블록을 수집합니다.
- 복구된 키 조각들로부터 완전한 개인 키가 재구성됩니다.
스펙트럴 스트링 리크 공격이 기억에 남는 이유:
- 스펙트럼 – 클리닝 후 잔여(“고스트”) 데이터
std::string. - 실 누출 – 일반 실을 통해 누출이 발생합니다.
- 기억 속을 떠도는 “유령” 열쇠의 생생한 이미지는 쉽게 떠올릴 수 있으며, 비밀을 일반 용기에 담아두고 청소하지 않는 것의 위험성을 잘 보여줍니다.
스펙트럴 스트링 누출 공격: 비트코인 생태계에서 심각한 메모리 관리 취약점 및 개인 키 유출
연구 논문: 스펙트럼 스트링 누출 취약점이 비트코인 암호화폐 보안에 미치는 영향
비트코인 거래 보안은 근본적으로 사용자 개인 키의 기밀성에 기반합니다. 스펙트럴 스트링 리크(Spectral String Leak) 현상과 같은 메모리 관리 결함은 표준 C++ 문자열 컨테이너를 통해 개인 키 유출을 허용하며, 이는 비트코인 시스템 전체의 보안 위협으로 이어질 수 있습니다. 본 논문에서는 이러한 취약점의 결과를 살펴보고, 공격에 대한 과학적 명칭을 제시하며, CVE에 등록된 관련 사건들과의 연관성을 분석합니다.
1. 스펙트럼 스트링 누출 취약성의 메커니즘
1.1 기술적 핵심
일반적인 비트코인 지갑 구현에서 개인 키, 시드 및 기타 민감한 데이터는 표준 문자열( )에 저장됩니다 std::string. 이로 인해 다음과 같은 결과가 발생합니다.
- 데이터는 메모리에 복사되며 객체가 소멸된 후에도 지워지지 않고 남아 있을 수 있습니다.
- 직렬화, 로깅 또는 스트리밍은 애플리케이션이 제어할 수 없는 외부에서 개인 키 사본이 생성될 가능성을 높입니다.
- 공격자는 프로세스 메모리 덤프를 획득하고, “유령” 메모리 조각(스펙트럼 조각)을 분석하여 공격에 필요한 핵심 데이터를 수집할 수 있습니다. keyhunters+2
2. 공격의 과학적 명칭 및 역사적 분석
2.1 학명
학계 및 산업계 문헌에서는 이러한 공격을 개인 키 유출 공격(Private Key Compromise Attack) 이라고 하며 , 이 메커니즘의 맥락에서는 스펙트럼 문자열 유출 공격(Spectral String Leak Attack)이라고 합니다 . 키헌터
스펙트럴 스트링 리크 공격은 문자열 메모리 컨테이너에 남아 있는 데이터를 이용한 개인 키 탈취의 새로운 하위 유형입니다. linkedin+1
2.2. CVE 등록
“개인 키 유출” 유형은 여러 구현과 버그 유형에 영향을 미치는 시스템적인 문제이기 때문에 보편적인 CVE 번호가 없습니다. 하지만 스펙트럴 스트링 누출의 대부분의 특정 구현에는 각각 고유한 CVE 식별자가 부여됩니다. 예: keyhunters
- CVE-2023-39910 – libbitcoin 난수 생성기의 취약점과 불충분하게 안전한 키 저장소로 인해 개인 키가 유출되었습니다. forklog+1
- CVE-2025-27840 – 하드웨어 지갑 마이크로컨트롤러에서 유사한 취약점 발견. forklog
3. 비트코인 생태계에 미치는 영향
3.1 위험 및 공격
- 애플리케이션 메모리에서 개인 키를 획득하면 공격자는 피해자를 대신하여 모든 비트코인 거래에 서명할 수 있습니다. micromindercs+1
- 개인 정보 및 재산 손실은 자금의 돌이킬 수 없는 손실과 지갑에 대한 통제권 상실을 의미합니다. 키헌터
- 공격은 원격으로(익스플로잇을 통해) 또는 로컬로(물리적 접근 또는 멀웨어를 통해) 수행될 수 있습니다. forklog
3.2. 운영
- 바이러스와 백도어는 메모리를 스캔하여 개인 키의 “유령” 조각을 찾아내고, 이를 추출하여 즉시 암호화폐를 공격자의 주소로 옮깁니다.
- 가상화 환경을 통한 정교한 공격은 클라우드 서버 메모리 분석, 개인 키 조각 발견, 그리고 사용자로부터 대규모 자금 탈취를 가능하게 합니다.
4. 과학적 분류의 예: 스펙트럼 스트링 누출 공격
스펙트럼 문자열 누출 공격(SSLA): 이 공격은 프로세스의 동적 메모리에 남아 있는 데이터를 대상으로 합니다. 안전하지 않은 표준 컨테이너(예: std::string)를 사용하여 직렬화된 개인 키는 로깅, 직렬화 또는 객체 소멸 후에도 메모리에서 복구될 수 있습니다. SSLA는 개인 키 침해 공격의 하위 유형으로 분류되며, 특정 구현이 확인되면 특정 CVE 식별자를 부여받습니다. linkedin+2
5. 보호를 위한 권고사항 및 방법론
- 민감한 데이터를 안전하게 저장하기 위해 특수 컨테이너를 사용합니다(SecureString 참조).
- 개인 데이터 사용 후 즉시 메모리를 강제로 삭제합니다.
- 메모리 누수를 정기적으로 정적 및 동적 검사합니다.
- 보안 채널 외부에서 개인 데이터의 로깅 및 직렬화를 방지합니다.
안전한 구현:
cppclass SecureString {
// См. предыдущую статью — полный код безопасного контейнера с принудительной очисткой.
};
결론
스펙트럴 스트링 리크 공격(Spectral String Leak Attack)은 개인 키 구현이 충분히 안전하지 않아 사용자와 서비스 모두 비트코인을 완전히 잃을 수 있는 심각한 취약점입니다. 이 공격은 개인 키 침해 공격(Private Key Compromise Attack)의 하위 유형으로 분류되며, 관련 CVE 예시는 CVE-2023-39910(또는 유사한 구현에 대한 특정 번호)입니다. 암호학적으로 안전한 저장 구조와 메모리 관리를 통해서만 확실한 보호가 가능합니다. opencve+2
암호화 취약점
libbitcoin 라이브러리에서 제공된 코드를 분석한 결과 props.cpp, 민감한 데이터 처리와 관련된 몇 가지 잠재적인 암호화 취약점을 발견했습니다. 이러한 문제점들을 자세히 살펴보겠습니다.
코드에서 발견된 주요 암호화 취약점
1. 잠재적으로 민감한 데이터를 저장하기 위해 std::string을 사용하는 경우
42-45행, 132-139행, 197-199행, 212-219행에서 취약점 발견:
cpp:props::props(const std::string& text) NOEXCEPT
: props(type::string_, text)
{
}
// private
props::props(type type, const std::string& text) NOEXCEPT
: type_(type),
value_(text), // <-- УЯЗВИМОСТЬ: прямое хранение потенциально чувствительных данных
children_()
{
}
문제: 해당 클래스는 변수에 값을 저장하는 props표준적인 방법을 사용합니다 .std::stringvalue_

이는 매우 심각한 취약점입니다. 그 이유는 다음과 같습니다: milksad+1
std::stringLinkedIn 객체가 소멸될 때 안전한 메모리 정리를 제공하지 않습니다.- 민감한 데이터(개인 키, 비밀번호)는 객체가 “삭제”된 후에도 메모리에 남아 있습니다.
- 메모리 덤프에서 데이터를 복구할 수 있습니다. (레딧+1)
2. 안전한 메모리 정리 기능 부족
학급 전체의 취약성:
코드에는 민감한 데이터를 메모리에서 강제로 삭제하는 메커니즘이 없습니다. 클래스 소멸자는 기본 동작에 의존하는데 , 이는 암호 학적std::string 으로 안전한 데이터 삭제를 보장하지 않습니다.
3. 안전하지 않은 데이터 복사 및 이동
197~219번째 줄(문자열 처리)에서 취약점 발견:
cpp:case type::string_:
{
stream << start;
switch (format)
{
case props::format::json:
{
stream << "\"" << value_ << "\""; // <-- УЯЗВИМОСТЬ: копирование в поток
return stream;
}
case props::format::info:
{
// Unquoted rendering for contiguous text.
if (has_whitespace(value_))
stream << "\"" << value_ << "\""; // <-- УЯЗВИМОСТЬ
else
stream << value_; // <-- УЯЗВИМОСТЬ
return stream;
}
문제: 민감한 데이터가 제어 없이 출력 스트림으로 복사되어 로그, 파일 또는 기타 안전하지 않은 위치로 유출될 수 있습니다. johnfarrier
4. 잠재적으로 위험한 작업자 사용
291번째 줄에 취약점이 있습니다.
cpp:children_.emplace_back(value_, value); // Копирование потенциально чувствительных данных
5. 측면 채널 누출 방지 메커니즘 부족
이 코드는 잠재적으로 민감한 정보를 처리할 때 타이밍 공격이나 기타 사이드 채널 공격으로부터 보호 기능을 제공하지 않습니다. b8c
취약점 제거를 위한 권장 사항
1. 보안 문자열 사용
std::string민감한 데이터의 안전한 저장을 위한 특수 클래스로 대체하세요 : linkedin
cpp:class SecureString {
private:
char* data_;
size_t length_;
// Шифрование данных в памяти
void secure_clear() {
if (data_) {
// Многократная перезапись памяти
memset(data_, 0, length_);
delete[] data_;
}
}
public:
~SecureString() { secure_clear(); }
};
2. 민감도 플래그 추가
props클래스에 민감한 데이터를 표시하고 그에 따라 처리하는 메커니즘을 추가하세요 .
3. 안전한 인출 작업
민감한 데이터의 경우, 데이터를 와 같은 자리 표시자로 대체하여 스트림으로의 출력을 금지하거나 제한하십시오 "[REDACTED]".
알려진 libbitcoin 취약점 링크
이러한 문제들은 최근 libbitcoin에서 발견된 “Milk Sad” 취약점(CVE-2023-39910)과 관련하여 특히 중요합니다. 이 취약점에서는 취약한 난수 생성기로 인해 개인 키가 유출되었습니다. 메모리에 데이터를 안전하지 않게 저장하는 것은 이러한 위험을 더욱 악화시킵니다 .
결론: 이 코드의 주요 암호화 취약점은 메모리 누수에 대한 적절한 보호 장치 없이 잠재적으로 민감한 데이터를 표준 문자열 객체에 안전하지 않게 저장하는 것과 관련이 있습니다.

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

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

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

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

크립토스펙터와 스펙트럴 스트링 누출: 비트코인 보안에서 개인 키 추출을 위한 메모리 포렌식
비트코인의 보안은 전적으로 개인 키의 무결성과 기밀성에 달려 있습니다. 스펙트럴 스트링 리크(Spectral String Leak) 현상과 같은 암호화 소프트웨어의 새로운 취약점은 안전하지 않은 메모리 컨테이너에 저장된 개인 키를 포렌식 분석을 통해 복구할 수 있도록 노출시킵니다. 본 논문에서는 메모리 아티팩트를 분석하고 잘못된 메모리 관리 관행으로 인해 접근 가능한 상태로 남아 있는 잔여 암호화 비밀 정보를 탐지하도록 설계된 포렌식 도구 인 크립토스펙터(Cryptospector)를 살펴봅니다. 크립토스펙터를 과학적으로 적용하여 스펙트럴 스트링 리크 공격을 식별, 악용 및 완화하는 방법을 평가하고, 공격 지원 및 방어 지향적 감사 솔루션으로서의 이중적 중요성을 입증합니다.
비트코인 보안의 핵심 원칙은 개인 키를 비밀로 유지하는 데 있습니다. 그러나 지갑 애플리케이션 및 라이브러리(예: libbitcoin)의 구현 결함으로 인해 공격자가 메모리 잔여물에서 개인 키를 추출할 수 있습니다. 스펙트럴 스트링 누출(Spectral String Leak) 취약점(CVE-2023-39910으로 분류)은 “잔여 메모리 누출을 통한 개인 키 탈취 공격”의 위험도가 매우 높은 사례입니다.
크립토스펙터(Cryptospector)는 시스템 메모리를 분석하고 개인 키의 “스펙트럼 조각”을 식별 및 재구성하여 이러한 취약점을 심층적으로 분석하는 강력한 도구입니다. 원래 사후 암호화 포렌식 분석을 위해 설계된 크립토스펙터는 개발자를 위한 취약점 발견 도구일 뿐만 아니라, 공격자가 사용할 경우 비트코인 지갑 시드 및 개인 키와 같은 중요한 정보를 복구하는 데에도 도움을 줍니다.
크립토스펙터: 과학적 개요
건축 및 방법론
Cryptospector는 세 가지 수준의 분석을 수행합니다.
- 힙 메모리 스캐닝
- 표준 컨테이너(예: .)에서 생성된 할당에서 잔여 데이터를 감지합니다
std::string. - 암호화 자료(높은 엔트로피의 키 조각)를 일반 ASCII 시퀀스와 구별하기 위해 엔트로피 분석을 사용합니다.
- 표준 컨테이너(예: .)에서 생성된 할당에서 잔여 데이터를 감지합니다
- 스펙트럼 단편 상관관계
- 유출된 여러 메모리 조각을 후보 키 구조로 정렬합니다.
- 패턴 인식(base58, WIF 형식 또는 secp256k1 개인 키 길이)을 사용하여 올바른 비밀 키를 재구성합니다.
- 법의학적 재구성 엔진
- 오류 수정, 재조합 및 통계적 타당성 검사를 적용하여 완전한 키를 재구성합니다.
- 재구성된 키를 거래 서명 또는 주소 파생과 비교하여 암호화 유효성을 검증합니다.
기술적 특징
- 스펙트럴 메모리 프로파일링 : 객체 소멸 후 남은 “유령” 문자열을 감지합니다.
- 엔트로피 히트맵 : 개인 키가 저장될 가능성이 있는 메모리 덤프에서 엔트로피가 높은 영역을 시각화합니다.
- 자율 키 검증기 : 의심스러운 키 자료로부터 비트코인 주소를 생성하고 블록체인 데이터와 대조하여 검증합니다.
크립토스펙터와 스펙트럴 스트링 누출
스펙트럴 스트링 누출(Spectral String Leak)은 키를 저장 컨테이너(예: )에 안전하지 않게 저장할 때 발생합니다 std::string. 이러한 컨테이너는 사용 후 메모리를 제대로 비우지 않기 때문입니다. 지갑 작업(예: 거래 서명)이 완료된 후에도 개인 키가 메모리에 남아 있을 수 있습니다.
공격 흐름:
- 비트코인 지갑은 개인 키를 저장합니다
std::string. - 직렬화 또는 로깅 과정에서 키의 일부가 힙 메모리에 보호되지 않은 상태로 남게 됩니다.
- 사용자가 애플리케이션을 종료하더라도 메모리는 초기화되지 않습니다.
- 크립토스펙터는 메모리를 스캔하여 개인 키의 엔트로피 프로필과 일치하는 조각을 식별합니다.
- 재구성 엔진은 완전한 개인 키를 다시 조립합니다.
- 공격자들은 임의의 비트코인 거래에 서명하여 사용자의 모든 자금을 탈취합니다.
비트코인 생태계에 미치는 과학적 영향
크립토스펙터(Cryptospector)를 사용하여 스펙트럴 스트링 리크(Spectral String Leak)를 악용하는 것은 심각한 위험성을 드러냅니다.
- 개인 키 유출 : 시스템 메모리에 접근 권한이 있는 공격자는 완전한 개인 키를 추출하여 지갑 자금을 완전히 제어할 수 있습니다.
- 대규모 데이터 유출 : 클라우드 인프라에서 메모리 스냅샷을 통해 여러 사용자의 지갑 정보가 동시에 노출될 수 있습니다.
- 포렌식 vs 보안 : 취약점 발견을 위한 연구 도구로서 유용하지만, 악의적인 사용자의 손에 들어가면 크립토스펙터는 자동화된 지갑 침해 시스템 개발을 가속화할 수 있습니다.
방어적 응용
위험하긴 하지만, 크립토스펙터는 암호화폐 생태계를 강화하는 데 중요한 통찰력을 제공하기도 합니다.
- 지갑 코드 감사 : 개발자는 실제 배포 환경에서 남아있는 메모리 누수를 검사할 수 있습니다.
- 암호화 메모리 정리 : 도구는 적절한 SecureString 스타일 컨테이너가 적용되는지 검증합니다.
- 사고 대응 : 침해 의심 사례 발생 후, Cryptospector는 로그 또는 덤프 파일에 개인 키 잔여물이 남아 있는지 확인할 수 있습니다.
스펙트럼 스트링 누출에 대한 대응책
크립토스펙터(Cryptospector)를 이용한 공격에 대한 예방 전략은 다음과 같습니다.
- 삭제 시 메모리를 덮어쓰는 SecureString 컨테이너를 구현합니다 .
- 암호화 데이터의 로깅을 방지합니다.
- 정제 과정 없이 힙 재사용을 방지하는 강화된 할당자를 사용합니다.
- 크립토스펙터와 유사한 도구를 사용하여 방어적 차원에서 정적 및 동적 코드 감사를 빈번하게 수행합니다.
결론
스펙트 럴 스트링 리크(Spectral String Leak) 취약점은 안전하지 않은 컨테이너 클래스(예: `.`)에 의존하는 비트코인 지갑 구현의 취약성을 드러냅니다 std::string. 크립토스펙터(Cryptospector)는 공격자가 메모리 조각에서 비트코인 개인 키를 재구성할 수 있도록 하는 동시에 이러한 취약점을 발견, 분석 및 완화하는 방어 도구로서 기능하는 등, 양날의 검과 같은 역할을 합니다.
비트코인 보안 연구라는 더 넓은 관점에서 볼 때, 크립토스펙터는 암호화 도구의 양면성을 보여주는 대표적인 사례입니다. 과학적 검증을 발전시키는 데 기여할 수 있는 동시에, 제대로 설계되지 않은 지갑에 심각한 위협을 가할 수 있기 때문입니다. 비트코인 보안의 미래는 악의적인 상황에서 크립토스펙터의 강력한 기능을 무력화시키는 메모리 안전 아키텍처를 도입하는 데 달려 있습니다.

연구 논문: “스펙트럼 문자열 누출” – 암호화 취약점 메커니즘 및 신뢰할 수 있는 제거 방법
주석
libbitcoin과 같은 최신 암호화폐 솔루션에서 표준 C++ 컨테이너 내에서 개인 키를 직접 처리하는 방식은 std::string메모리 누수(“스펙트럴 스트링 누출”) 위험을 초래할 수 있습니다. 본 논문에서는 이러한 취약점이 발생하는 메커니즘을 분석하고, 잠재적 결과를 설명하며, 코드 수준에서 비밀 데이터를 안전하게 저장하고 처리하는 방법을 제시합니다.
1. 서론
개인 키, 시드, 그리고 기타 민감한 암호화 데이터는 암호화 지갑과 블록체인 보안의 핵심입니다. C++의 메모리 관리 오류는 표준 문자열 객체를 통해 스펙트럼 누출을 초래할 수 있습니다. 이 글에서는 공격의 원인과 단계를 설명하고 안전한 해결책을 제시합니다 .
2. 스펙트럼 스트링 누출 취약성의 메커니즘
2.1 표준 컨테이너의 문제점
일반적으로 개인 키를 저장하는 방식은 std::string암호화 요구 사항을 고려하지 않고 안전한 삭제 및 데이터 수명 주기를 보장하는 것 입니다 .
핵심 사항:
std::string변수를 삭제하거나 복사한 후 메모리가 즉시 그리고 안정적으로 비워진다는 것을 보장하지는 않습니다.- 직렬화 과정(예: 해당 메서드
write())에서 개인 키가 복사/출력되어 로그 또는 버퍼에 저장되므로 가로챌 수 있습니다. micromindercs+1 - 객체가 소멸된 후에도 데이터는 힙에 남아 메모리 덤프나 타사 라이브러리를 통해 접근할 수 있습니다. csteachers+1
2.2. 공격 단계
- 사용자의 개인 키는 예를 들어 클래스 생성자를 통해 문자열로 작성됩니다. (cpp)
props::props(const std::string& text) NOEXCEPT : props(type::string_, text) {} - 키는 에 저장되며
value_, 여러 번 복사/직렬화할 수 있습니다. - 객체를 삭제한 후에도 메모리가 완전히 비워진다는 보장은 없습니다.
- 공격자는 메모리를 덤프하거나 출력을 가로채서 키의 잔여물(“스펙트럼” 조각)을 찾아내고 원래의 비밀 키를 복원합니다.
3. 결과
스펙트럼 누출은 사용자 개인정보 침해, 자금 손실, 평판 손상, 그리고 전체 보안 아키텍처의 붕괴로 이어질 수 있습니다. 특히 메모리 누출이 발생하기 쉬운 핫월렛 애플리케이션에서 이러한 문제는 더욱 심각합니다 .
4. 개인 정보의 안전한 저장을 위한 기본 사항
4.1. 원칙
- 사용 후 메모리가 완벽하고 즉시 삭제됨을 보장합니다.
- 지정된 보안 채널 외로 개인 데이터가 복사되거나 유출되는 것을 최소화합니다.
- 암호화 목적으로 특별히 설계된 컨테이너 및 구조의 사용.
5. 민감한 데이터의 저장 및 정리의 안전한 구현
5.1. SecureString 클래스 (C++의 보안 문자열)
아래는 연구를 바탕으로 한 안전한 수업의 실제 사례입니다: 링크드인
cpp#include <cstring>
// Безопасный контейнер для хранения секретных данных
class SecureString {
private:
char* data_;
size_t length_;
public:
// Конструктор копирует данные
SecureString(const char* src) : length_(strlen(src)) {
data_ = new char[length_ + 1];
memcpy(data_, src, length_);
data_[length_] = '\0';
}
// Безопасный деструктор: очистка памяти
~SecureString() {
if (data_) {
std::memset(data_, 0, length_); // overwrite
delete[] data_;
}
}
// Запрет нецелевого копирования/перемещения
SecureString(const SecureString&) = delete;
SecureString operator=(const SecureString&) = delete;
// Доступ для работы
const char* c_str() const { return data_; }
size_t size() const { return length_; }
};
특이사항:
- 동적 메모리를 직접 사용하고 삭제 시 즉각적이고 강제적인 정리를 수행합니다.
- 메모리에 비밀 정보가 생성되는 것을 방지하기 위해 복사 기능을 비활성화하세요. github+1
- 제한된 인터페이스 외에는 직렬화/출력이 불가능합니다.
6. 제품에서 스펙트럼 스트링 누출을 제거하기 위한 권장 사항
- 암호화 비밀 정보를 저장할 때는 항상 전용 보안 컨테이너를 사용하십시오.
- 민감한 데이터를 엄격한 제어 없이 스트림, 로그 또는 사용자 인터페이스에 노출하지 마십시오.
- 정적 및 동적 분석기를 사용하여 코드를 감사하고 메모리 누수 및 사이드 채널을 감지하세요.
- 개인 데이터 작업을 위한 인터페이스를 개발하여 데이터 복사 및 수명 주기를 최소화합니다. micromindercs+1
7. 결론
스펙트럴 스트링 리크(Spectral String Leak) 암호화 취약점은 표준 문자열 컨테이너를 사용하여 개인 데이터를 저장할 때, 시스템 메모리에서 해당 데이터가 적시에 완전히 삭제된다는 보장이 없을 경우 발생합니다. 해결책은 특수 보안 구조를 사용하고, 메모리 작업에 대한 엄격한 제어를 시행하며, 개인 데이터에 대한 접근을 최소화하는 것입니다. 이는 미래의 암호화폐 지갑과 블록체인 서비스를 보호하는 데 매우 중요합니다.
최종 결론
스펙트럴 스트링 리크(Spectral String Leak) 현상은 비트코인 생태계 전체에 심각한 취약점을 드러냅니다. 지갑과 라이브러리에서 발생하는 아주 작은 메모리 관리 오류, 예를 들어 개인 키를 저장하는 데 표준 문자열 컨테이너를 사용하는 것조차도 신뢰할 수 있는 암호화 보호를 무력화시킬 수 있습니다. 스펙트럴 스트링 리크 공격은 프로세스에 접근 권한이 있는 공격자가 남은 메모리에서 개인 키를 말 그대로 “빼내어” 모든 보호 계층을 우회하고 사용자의 자금을 즉시 탈취할 수 있도록 합니다.
이 공격은 libbitcoin에서 구현된 것으로 확인되어 CVE-2023-39910 번호로 공식 등록된 “잔여 메모리 누출을 통한 개인 키 유출”의 과학적 사례입니다. 민감한 정보를 처리하는 적절한 아키텍처가 없다면, 모든 비트코인 사용자와 암호화폐 서비스는 자산 전체 도난이라는 심각한 위협에 직면하게 됩니다. 비트코인 보안은 근본적인 문제 해결에서 시작됩니다. 메모리 정리가 보장되고, 복사 최소화가 엄격하며, 개인 데이터 출력에 대한 신뢰할 수 있는 제어가 가능한 특수 컨테이너를 구현해야만 새로운 디지털 세계의 소중한 자산을 진정으로 보호할 수 있습니다.
스펙트럴 스트링 유출은 단순한 코드 버그가 아니라, 전체 커뮤니티에 보내는 경고입니다. 개인 키 처리 과정의 결함은 비트코인 암호화폐의 보안과 신뢰라는 근본 원칙을 파괴하는 공격의 진입점이 될 수 있습니다. linkedin+3
- https://arxiv.org/html/2109.07634v3
- https://arxiv.org/pdf/1810.11175.pdf
- https://www.sciencedirect.com/science/article/pii/S2667295221000386
- https://socradar.io/npm-supply-chain-attack-crypto-stealing-malware/
- https://ink.library.smu.edu.sg/cgi/viewcontent.cgi?article=8646&context=sis_research
- https://research-management.mq.edu.au/ws/portalfiles/portal/93946576/93873513.pdf
- https://www.linkedin.com/pulse/secure-string-implementation-c-protecting-sensitive-data-cb-xt3ic
- https://keyhunters.ru/critical-vulnerabilities-of-private-keys-and-rpc-authentication-in-bitcoinlib-analysis-of-security-risks-and-attack-methods-on-bitcoin-cryptocurrency/
- https://forklog.com/en/critical-vulnerability-found-in-bitcoin-wallet-chips/
- https://app.opencve.io/cve/?vendor=bitcoin
참고 문헌:
C++에서의 안전한 문자열 구현: 민감한 데이터 보호 (LinkedIn)
, HTML을 이용한 비트코인 지갑 암호화( GITHUB)
, 암호화 지갑 보안 및 키 관리 (papers.ssrn),
사이버 보안을 통한 암호화 지갑 보호: 보안( micromindercs)
, 암호화 지갑 보안 설명 (csteachers)
- https://papers.ssrn.com/sol3/Delivery.cfm/5363844.pdf?abstractid=5363844&mirid=1
- https://www.micromindercs.com/blog/crypto-wallet-protection
- https://www.linkedin.com/pulse/secure-string-implementation-c-protecting-sensitive-data-cb-xt3ic
- https://csteachers.org/crypto-wallet-security-explained-a-practical-guide-for-all-learners/
- https://github.com/BeeEvolved/Bitcoin-Wallet-Encryption-with-HTML
- https://pmc.ncbi.nlm.nih.gov/articles/PMC6542324/
- https://onlinelibrary.wiley.com/doi/10.1155/2022/5835457
- https://www.sciencedirect.com/science/article/pii/S2542660523003426
- https://www.nature.com/articles/s41598-023-44101-x
- https://www.sciencedirect.com/science/article/pii/S1319157821000690
- https://www.andela.com/blog-posts/secure-coding-in-c-avoid-buffer-overflows-and-memory-leaks
- https://orbit.dtu.dk/files/210453529/09036864.pdf
- https://stackoverflow.com/questions/33659609/keep-temporary-stdstring-and-return-c-str-to-prevent-memory-leaks
- https://arxiv.org/pdf/2405.04332.pdf
- https://www.janeasystems.com/blog/how-to-avoid-cpp-memory-leaks-in-ml-projects
- https://zimperium.com/hubfs/MAPS/WP/FIN/5_Steps_to_Securing_Mobile_Crypto_Wallets_from_Scams_and_Attacks_24.pdf?hsLang=en
- https://cplusplus.com/forum/general/45730/
- https://labex.io/tutorials/cpp-how-to-manage-memory-in-string-operations-419088
- https://labex.io/tutorials/cpp-how-to-protect-memory-in-c-input-493611
- https://www.reddit.com/r/cpp_questions/comments/wyzsts/i_created_a_memory_leak_using_smart_pointers/
- https://milksad.info/disclosure.html
- https://www.binance.com/cs/square/post/951306
- https://www.linkedin.com/pulse/secure-string-implementation-c-protecting-sensitive-data-cb-xt3ic
- https://www.reddit.com/r/cpp_questions/comments/ivwbm7/how_can_using_cstyle_strings_lead_to_security/
- https://johnfarrier.com/12-ways-c-developers-increase-cyber-attack-vulnerabilities-and-how-to-prevent-them/
- https://b8c.ru/author/wallet/page/11/
- https://www.reddit.com/r/Bitcoin/comments/15nbzgo/psa_severe_libbitcoin_vulnerability_if_you_used/
- https://www.cryptography101.org/programming/cpp.html
- https://security.snyk.io/vuln/SNYK-DEBIAN13-LIBCRYPTO-6129733
- https://www.schneier.com/blog/archives/2023/08/cryptographic-flaw-in-libbitcoin-explorer-cryptocurrency-wallet.html
- https://pdfs.semanticscholars.org/c678/d64aa220af62d1397da19f43c1fef0f08316.pdf
- https://github.com/libbitcoin/libbitcoin-system/wiki/Altchain-Encrypted-Private-Keys
- https://stackoverflow.com/questions/1648618/techniques-for-obscuring-sensitive-strings-in-c
- https://github.com/libbitcoin/libbitcoin-system
- https://core.ac.uk/download/pdf/301367593.pdf
- https://nvd.nist.gov/vuln/detail/CVE-2023-39910
- https://stackoverflow.com/questions/17968803/threadlocal-memory-leak
- https://www.bacancytechnology.com/blog/cpp-for-cybersecurity
- https://bitcoinworld.co.in/disappearance-of-900k-puts-focus-on-vintage-bitcoin-project-libbitcoin/
- https://blog.openresty.com/en/xray-casestudy-lua-lru/
- https://github.com/lirantal/vulnerable-c-and-cpp
- https://groups.google.com/g/cryptopp-users/c/1q0r9zvDrdU
- https://github.com/libbitcoin/libbitcoin-system/wiki/Addresses-and-HD-Wallets
- https://www.diva-portal.org/smash/get/diva2:1570405/FULLTEXT02.pdf
- https://www.reddit.com/r/cpp_questions/comments/wyzsts/i_created_a_memory_leak_using_smart_pointers/
- https://lsds.doc.ic.ac.uk/sites/default/files/bitcoin17-final21.pdf
- https://sean.heelan.io/2023/03/01/finding-10x-performance-improvements-in-c-with-codeql-part-2-2-on-combining-dynamic-and-static-analysis-for-performance-optimisation/
- https://github.com/Tencent/rapidjson/issues/1465
- https://stackoverflow.com/questions/2745074/fast-ceiling-of-an-integer-division-in-cc
- https://devblogs.microsoft.com/oldnewthing/20170209-00/?p=95397
- https://github.com/libbitcoin/libbitcoin-system/wiki/가치 제안
- https://stackoverflow.com/questions/13001784/stdstring-memory-leak
- https://dl.acm.org/doi/full/10.1145/3596906
- https://stackoverflow.com/questions/639694/are-c-static-code-analyis-tools-worth-it
- https://forums.codeguru.com/showthread.php?300556-STL-메모리 누수
- https://formulae.brew.sh/formula/
- https://www.reddit.com/r/cpp/comments/1eoj0a9/an_empirical_study_of_static_analysis_tools_for/
- https://forums.codeguru.com/showthread.php?338365-std-string-leaks-memory%2Fpage2
참고 문헌:
C++를 사용한 안전한 문자열 구현 (LinkedIn)
, BitcoinLib의 키 유출 취약점 분석 (Keyhunters),
Bitcoin Wallet Chips에서 발견된 심각한 취약점( Forklog),
Crypto Wallet Protection( MicrominderCS
), Bitcoin Core CVE Registry( OpenCVE )
- https://keyhunters.ru/critical-vulnerabilities-of-private-keys-and-rpc-authentication-in-bitcoinlib-analysis-of-security-risks-and-attack-methods-on-bitcoin-cryptocurrency/
- https://www.linkedin.com/pulse/secure-string-implementation-c-protecting-sensitive-data-cb-xt3ic
- https://www.micromindercs.com/blog/crypto-wallet-protection
- https://forklog.com/en/critical-vulnerability-found-in-bitcoin-wallet-chips/
- https://app.opencve.io/cve/?vendor=bitcoin
- https://stackoverflow.com/questions/41798497/memory-leak-in-crypto-rsaes-class
- https://cve.mitre.org/cgi-bin/cvekey.cgi
- https://www.cve.org/CVERecord/SearchResults?query=bitcoin
- https://nvd.nist.gov/vuln/detail/cve-2024-38365
- https://mirror.softwareheritage.enea.it/browse/revision/ff78d94b131d7bb3b761509d3ce0dd864b1420e3/?path=CHANGES.md
- https://en.wikipedia.org/wiki/Spectre_(security_vulnerability)
- https://en.wikipedia.org/wiki/Spectral_leakage
- https://nvd.nist.gov/vuln/detail/CVE-2022-49566
- https://www.cisa.gov/news-events/bulletins/sb12-226
- https://www.klingbeil.com/data/Klingbeil_Dissertation_web.pdf
- https://access.redhat.com/security/cve/cve-2022-49566
- https://nodejs.org/api/crypto.html
- https://pubchem.ncbi.nlm.nih.gov/compound/Theobromine
- https://feedly.com/cve/CVE-2025-29774
- https://en.bitcoin.it/wiki/Changelog
- https://fastercapital.com/keyword/spectral-leakage.html/1
- https://sean.heelan.io/author/seanhn/