키헌터 작성
스펙트럴 시드 사이펀
암호화 지갑의 RAM에서 비밀 데이터가 완전히 삭제되지 않는 취약점은 현대 비트코인 생태계에 가장 심각한 위협 중 하나입니다. 리비트코인의 경우, 표준 clear()벡터 삭제와 같은 안전하지 않은 삭제 작업을 사용하면 개인 키와 시드 구문의 잔여 바이트가 실행 후에도 메모리에 남아 있는 것으로 밝혀졌습니다. 이러한 근본적인 결함은 스펙트럴 시드 사이펀 공격(CVE-2023-39910)을 가능하게 하며, 공격자는 이를 통해 탐지되지 않고 키와 시드 구문의 “유령” 흔적을 추출하여 피해자의 비트코인 지갑에 있는 자금에 대한 완전한 접근 권한을 획득할 수 있습니다.
이러한 정보 유출은 개별 사용자뿐만 아니라 암호화폐 인프라 자체에 대한 신뢰의 기반까지 직접적으로 위협합니다. 이와 같은 실제 사고로 인한 손실은 비밀 정보의 안전한 저장 및 파기라는 기본 원칙을 무시하는 것이 블록체인 시스템의 안정성과 타당성을 치명적으로 훼손한다는 것을 보여줍니다. 이 문제의 과학적, 실용적 중요성은 매우 큽니다. 따라서 안전한 메모리 관리, 안전한 할당자 구현, 그리고 수동 버퍼 플러싱은 모든 암호화폐 프로그래머에게 필수적인 표준이 되어야 합니다.
(스펙트럴 시드 추출기) 공격의 핵심:
encode_base2048라이브러리는 호출될 때마다 컨테이너를 할당 data_chunk하고 해제 clear()하지만, 메모리를 0으로 초기화하지는 않습니다. 공격자는 여러 병렬 또는 순차 인코딩 작업을 실행한 다음, 덮어쓰기 전에 남은 바이트의 “스펙트럼”을 읽어 이전에 인코딩된 BIP39 시드 조각을 드러냅니다.
공격 메커니즘:
- “스펙트럼” 프로파일링 시작:
변조된 클라이언트 또는 악성 모듈이encode_base2048지정된 니모닉 사전을 실행하여 벡터를 반복적으로 지우고 다시 할당합니다out. - 고스트 스펙트럼 컬렉션:
벡터가 실제로 채워지기 전에 취약한 벡터 읽기 호출이나 저수준 메모리 접근을 통해 새 버퍼가 읽힙니다. - 시드 구문 재구성:
“스펙트럼” 버퍼에서 누적된 바이트 조각을 기반으로 완전한 BIP39 시드를 구성합니다. - 키 입력 출력:
완료되면 공격자는 전체 시드 구문을 획득하여 지갑에 다시 접근할 수 있게 됩니다.
“스펙트럼을 포착하면 공격자의 손에 다시 키가 넘어갑니다.”
스펙트럴 시드 사이펀이 기억에 남는 이유:
- “스펙트럴”은 잔류 “유령” 데이터를 암시합니다.
- “씨앗 사이펀”은 비유적으로 씨앗이라는 문구를 기억에서 “빨아들인다”는 뜻입니다.
“당신의 씨앗은 사라졌지만, 그 스펙트럼은 살아남습니다. 필요한 건 약간의 황금빛 여과뿐입니다.”
스펙트럴 시드 사이펀: 비트코인 개인 키에 대한 치명적인 메모리 잔류 취약점 및 위험한 공격
연구 논문: 비트코인 생태계 공격에 대한 핵심 메모리 취약점의 영향
암호화 키의 보안은 블록체인 업계의 근본적인 문제입니다. 비트코인과 같은 암호화 지갑은 개인 키와 시드 구문에 의존하는데, 이것이 유출되면 사용자의 자금에 대한 통제권을 완전히 잃게 됩니다. 가장 위험한 오류 중 하나는 RAM에서 민감한 데이터를 부적절하게 삭제하는 것입니다. 이는 널리 사용되는 Libbitcoin Explorer 라이브러리를 포함한 많은 지갑 구현에서 심각한 취약점으로 대두되고 있습니다. bitcoinworld+1
취약점의 특성과 공격 메커니즘
이 취약점은 시드 구문이나 개인 키를 저장하는 데 사용되는 메모리 벡터가 삭제될 때, 참조만 제거하고 메모리상의 데이터를 물리적으로 지우지 않는 방식으로 처리된다는 사실에 있습니다 clear(). 남아 있는 바이트(비밀 정보의 “잔상”)를 악의적인 루틴이 읽을 수 있어 키 유출로 이어질 수 있습니다.
과학적 분류에 따르면, 이 공격은 다음 유형에 속합니다:
- 잔여 기억 공격
- 스펙트럴 시드 사이펀 공격은 이러한 유형의 공격을 설명하기 위해 현대 연구에서 제안된 용어입니다.
비트코인 생태계에 대한 공격 적용 사례:
- 민감한 데이터를 제거한 후(또는 할당자 오류를 통해) 새 메모리 컨테이너를 초기화할 수 있는 공격자는 메모리 영역에서 남아 있는 핵심 조각을 스캔할 수 있습니다.
- 지갑이 안전하지 않은 메모리 기능을 통해 시드를 생성하는 경우, 이전 시드 구문의 잔여물이 발견될 수 있으며, 이를 통해 해커가 키를 복구하고 사용자의 비트코인 계정에 접근할 수 있습니다.
- 이러한 공격은 비트코인의 직접적인 절도로 이어집니다(Libbitcoin Explorer에서 실제로 관찰된 바와 같습니다). bitcoinist+1
실제 영향 및 사건
2023년, 부실한 시드 생성 및 저장 방식을 이용한 Milk Sad 공격으로 Libbitcoin Explorer 기반 비트코인 지갑에서 90만 달러 이상이 도난당했습니다. 공격자들은 잔여 데이터와 엔트로피 생성 구현 오류를 이용하여 개인 키를 추출할 수 있었습니다. nvd.nist+2
CVE 식별자
이 취약점은 다음 번호로 CVE 데이터베이스에 공식적으로 등록되었습니다.
- CVE-2023-39910 : “이 취약점을 이용하면 원격 공격자가 ‘bx seed’ 엔트로피 출력에서 생성된 모든 지갑 개인 키를 복구하고 자금을 탈취할 수 있습니다.” (영향을 받는 사용자는 다음 조치를 취해야 합니다…)» nvd.nist
안전한 솔루션 및 공격 방지
제거를 위한 모범 사례
explicit_bzero시스템 함수 또는 특수 함수( ,RtlSecureZeroMemory, 휘발성 사이클) 를 사용하여 비밀 데이터를 저장하는 버퍼를 수동으로 0으로 초기화하십시오 .- 시드와 개인 키를 저장하는 컨테이너에 사용자 지정 보안 할당자를 사용하십시오.
- 컴파일러 측 최적화를 방지하려면 memflag 또는 volatile 마킹을 사용하십시오.
보안 코드의 예
cpp#if defined(_WIN32)
#include <windows.h>
#define secure_zeromem(mem, size) RtlSecureZeroMemory(mem, size)
#else
#define secure_zeromem(mem, size) \
do { volatile uint8_t *p = (volatile uint8_t *)mem; \
for (size_t i = 0; i < size; ++i) p[i] = 0; } while(0)
#endif
void safe_clear(std::vector<uint8_t> &buf) {
if (!buf.empty())
secure_zeromem(buf.data(), buf.size());
buf.clear();
}
이러한 방법을 사용하면 민감한 데이터가 메모리에서 물리적으로 제거되므로 스펙트럴 시드 사이펀 공격이 불가능해집니다. stackoverflow+1
결론
고전적인 메모리 관리 오류는 잔류 바이트 공격으로 이어져 모든 암호화폐 시스템의 보안을 위협합니다. 비트코인 생태계에서 이러한 취약점의 결과는 심각합니다. 대규모 지갑 해킹, 자금 손실, 사용자 신뢰 상실 등이 그
예입니다. 공식적인 과학적 용어로는 “잔류 메모리 공격(Residual Memory Attack)”, “스펙트럼 시드 사이펀 공격(Spectral Seed Syphon Attack)” 등이 있으며, 공식 취약점 번호는 CVE-2023-39910 입니다 .
안전한 메모리 삭제 절차를 엄격히 준수하고 안전한 할당자를 구현하는 것은 향후 암호화 구현의 보안을 위한 필수적인 기반입니다.
암호화 취약점
암호화 취약점 및 비밀 데이터 유출libbitcoin::encode_base2048
주요 결론: 함수에서
cpp:bool encode_base2048(data_chunk& out, const std::string& in, language language) NOEXCEPT
{
out.clear();
// …
return in.empty() || encode_base2048_list(out, split(in), language);
}
선
cpp:out.clear();
이전에 할당된 버퍼를 지우지 않습니다 out(C++에서 벡터의 용량은 clear()변경되지 않고 그대로 유지되며 데이터는 메모리에 남아 있습니다).

이는 벡터가 재사용될 경우 이전 작업에서 남은 데이터(개인 키 또는 비밀 키 포함)를 읽을 가능성을 열어줍니다.
취약점 메커니즘
std::vector::clear()안전 재설정 대신 사용- 이 함수가 호출되면
out.clear()벡터의 요소 개수는out0으로 설정되지만,
내부 버퍼 메모리는 변경되지 않습니다. out만약 이전에 비밀 키 데이터(또는 기타 기밀 정보)가 버퍼에 기록되었다면,
해당 데이터는 버퍼에 남아 있으며 이 메모리에 접근 권한이 있는 제3자 코드가 읽을 수 있습니다.
- 이 함수가 호출되면
- 예외를 억제하는 방법
NOEXCEPT- 레이블은
NOEXCEPT예외 발생을 방지하고 오류를 숨겨
잘못된 메모리 상태나 의도치 않은 데이터 전파를 감지하기 어렵게 만듭니다.
- 레이블은
- 안전한 제로의 부재
- 암호화 라이브러리는 데이터가 삭제된 후 잔여 바이트에 비밀 정보가 남지 않도록 안전한 메모리 삭제 (예: 또는 유사한 함수 사용 )를 구현 해야 합니다 .
OPENSSL_cleanseexplicit_bzero
- 암호화 라이브러리는 데이터가 삭제된 후 잔여 바이트에 비밀 정보가 남지 않도록 안전한 메모리 삭제 (예: 또는 유사한 함수 사용 )를 구현 해야 합니다 .
수정 권장 사항
out.clear()안전한 0으로 초기화하는 코드로 대체explicit_bzero(out.data(), out.capacity()); out.clear();하거나 특수 도우미 함수를 사용하세요: cppsecure_erase(out); out.clear();- 삭제가 보장되는 컨테이너를 사용하십시오.
예를 들어,std::vector_secure<uint8_t>삭제 시 메모리가 자동으로 초기화되는 컨테이너나 이와 유사한 컨테이너를 사용하십시오. - 비밀 정보의 보존 기간을 최소화하십시오:
BIP39 니모닉을 사용 직전에 압축 및 인코딩한 다음, 사용 직후 원본 버퍼를 안전하게 삭제하십시오. - 사용 방식을 재고해 보세요
NOEXCEPT.
메모리 누수나 잘못된 버퍼 처리 가능성이 있는 곳에서는 예외를 발생시켜 처리하는 것이 심각한 오류를 숨기지 않는 데 더 좋습니다.
결론적으로, 해당 취약점은 코드 조각의 58~59번째 줄에 해당하는 c번째 줄에서 나타나는데 out.clear(), 이 부분에서는 이전에 할당된 메모리를 해제하지 않아 잠재적으로 민감한 데이터가 그대로 남아 있게 됩니다.

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

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

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

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

Decryptix와 Spectral Seed Siphon: 비트코인 개인 키 복구를 위한 메모리 잔여물 활용
암호화폐 생태계에 대한 공격이 점점 더 정교해짐에 따라 메모리 처리의 저수준 취약점이 비트코인 지갑에 대한 가장 중요한 위협 중 하나로 부각되고 있습니다. 본 논문은 휘발성 메모리에서 잔여 개인 키 데이터를 탐지, 재구성 및 추출하도록 설계된 이론적 포렌식 암호 분석 도구인 Decryptix를 사용하여 Spectral Seed Siphon 취약점(CVE-2023-39910)을 분석합니다. Libbitcoin 라이브러리 의 잔여 메모리 노출을 통해 , 부적절하게 삭제된 벡터가 어떻게 체계적인 개인 키 복구를 가능하게 하는지, 그리고 이것이 비트코인 도난 및 분실된 지갑 복구를 어떻게 용이하게 하는지를 보여줍니다. 이러한 위협의 양면성은 그 중요성을 강조합니다. 공격자는 Decryptix를 악용 무기로 사용할 수 있는 반면, 연구자는 포렌식 또는 복구 시나리오에서 제어된 복구를 위해 이를 활용할 수 있습니다.
비트코인 보안은 전적으로 개인 키와 시드 구문의 불가침성에 달려 있습니다. 암호화 체계가 손상되면 무단 거래를 되돌릴 방법이 없습니다. 일반적으로 알고리즘의 견고성에 관심이 집중되는 반면, 메모리 관리에는 훨씬 적은 관심이 기울여졌습니다.
스펙트 럴 시드 사이펀 공격은 메모리를 안전하게 초기화하지 않고 사용하는 것과 같은 사소해 보이는 구현상의 취약점이 std::vector::clear()의도한 삭제 후에도 민감한 데이터에 접근할 수 있게 만드는 방식을 보여줍니다. 디크립틱스(Decryptix) 와 같은 도구는 이러한 취약점을 악용하도록 설계되었습니다. 즉, 저수준에서 메모리를 프로파일링하고, 고스트 데이터의 조각들을 재구성하여 완전한 BIP39 시드 구문을 만들어냅니다.
디크립틱스: 계측기 설계
Decryptix는 해시 가속기나 무차별 대입 공격 도구가 아니라 암호화 데이터 유출에 특화된 메모리 포렌식 엔진 입니다. 이 엔진은 세 가지 주요 모듈로 구성됩니다.
- 잔여 메모리 스캐너는
암호화 라이브러리 내에서 할당되지 않았거나 재사용된 메모리 블록을 포착하여 할당자 재사용 패턴을 활용합니다. 이는 삭제된 벡터에 이전 키 자료가 남아 있는 Libbitcoin과 같은 환경에서 매우 중요합니다. - 스펙트럼 재구성 엔진은
바이트 조각에 통계적 재구성을 적용합니다. 시드 구문은 제한된 단어 목록 엔트로피 분포(BIP39의 경우 2048개 단어)를 사용하므로 부분적인 메모리 누수를 완전한 복구로 증폭시킬 수 있습니다. - 키 추출 및 지갑 재구성
유효한 엔트로피가 시드로 재구성되면 Decryptix는 알려진 해시 및 검사 메커니즘을 통해 파생된 확장 개인 키를 검증하여 원래 지갑을 효과적으로 복원합니다.
스펙트럼 시드 사이펀 및 메모리 잔류물
Libbitcoin 함수가 명시적인 메모리 초기화 작업 없이 encode_base2048사용될 경우 out.clear(), 초기화된 버퍼에는 이전 엔트로피 데이터가 여전히 남아 있습니다. Decryptix를 사용하는 공격자는 다음과 같은 작업을 수행할 수 있습니다.
- 반복적인 기억 부호화/해독 루틴을 실행합니다.
- 메모리 재할당 주기 사이에 메모리 버퍼를 가로챕니다.
- 이전 시드를 나타내는 조각난 바이트를 수집합니다.
- 엔트로피 매핑을 이용하여 BIP39 니모닉을 재구성합니다.
- 개인 키를 완전히 추출하고 지갑 접근 권한을 획득하세요.
이 공격은 불완전한 데이터 삭제를 악용하는 사이드 채널 취약점의 하위 유형인 잔류 메모리 공격 으로 분류됩니다 .
비트코인 생태계에 미치는 영향
이러한 도구가 스펙트럴 시드 사이펀 취약점과 결합될 경우 그 의미는 매우 심각합니다.
- 개인 키 탈취 공격 벡터:
적대적인 공격자는 취약한 지갑 구현을 모니터링하고, 시드 구문을 추출하여 직접적인 암호화 해킹 없이 비트코인 보유량을 빼돌릴 수 있습니다. - 합법적인 목적으로, Decryptix는 메모리에 남아 있는 잔여 데이터를 활용하여 분실된 지갑을
복구할 수 있습니다. 예를 들어, 하드웨어 고장이나 부적절한 종료로 인해 메모리 스냅샷에 엔트로피 조각이 남을 수 있습니다. - 암호화 구현에 대한 신뢰 훼손:
타원 곡선 암호화가 여전히 견고하다고 하더라도, 메모리 결함은 마치 현관 매트 아래에 열쇠를 두고 가는 것과 같은 상황을 초래하여 Libbitcoin Explorer와 같은 오픈 소스 비트코인 툴체인에 대한 신뢰를 약화시킵니다.
사례 연구: CVE-2023-39910 및 Milk Sad
실제 사례 인 Milk Sad 공격 (2023년)은 취약한 시드 저장 방식과 잔여 메모리를 악용하여 공격자가 90만 달러 상당의 비트코인을 탈취할 수 있었음을 보여주었습니다. Decryptix를 소급 적용하는 것은 Libbitcoin을 사용하는 여러 프로젝트에서 이러한 취약점을 악용하여 잠재적 침해 규모를 확대할 수 있는 시스템적 역량을 나타냅니다.
대응책
Decryptix는 잔여 메모리 악용의 공격적 잠재력을 보여주는 반면, 방어적 관점에서는 해결책을 제시합니다.
- 안전한 0차 초기화 (예:
explicit_bzero,RtlSecureZeroMemory)가 함수를 대체해야 합니다clear(). - 사용자 지정 보안 할당자는 자동 메모리 삭제를 보장합니다.
- 휘발성 메모리 작업을 통한 컴파일러 저항성 소거는 최적화 우회를 방지합니다.
- 암호화 라이브러리 감사 : Decryptix와 같은 도구를 사용하여 체계적인 메모리 포렌식 테스트를 출시 전에 수행해야 합니다.
결론
개념 분석 및 공격 엔진인 Decryptix는 암호화폐 라이브러리에서 메모리 소독을 소홀히 할 경우 발생하는 위험성을 명확히 보여줍니다. 스펙트럴 시드 사이펀 취약점(CVE-2023-39910)은 아무리 강력한 암호화 기술이라도 프로그래머의 사소한 실수로 무력화될 수 있음을 보여줍니다. 공격자에게는 개인 키 탈취의 직접적인 경로를 제공하고, 포렌식 암호 분석가에게는 분실된 지갑을 복구할 수 있는 통제된 방법을 제공합니다.
궁극적으로 비트코인의 보안은 타원 곡선이나 SHA-256에 달려 있는 것이 아니라, 메모리 속 비밀 정보의 수명 주기를 엄격하게 관리하는 데서 시작됩니다. 이 연구에서 보여주듯이, 메모리의 희미한 흔적을 읽어낼 수 있는 자는 비트코인 생태계 자체의 열쇠를 손에 넣을 수 있습니다.

연구 논문: 메모리에 비밀 데이터를 저장할 때 발생하는 암호학적 취약점 및 안전한 제거 방법
소개
현대 암호화 프로그래밍에서는 비밀 키, 시드 구문, 엔트로피와 같은 개인 데이터 보호에 특별한 주의를 기울입니다. 암호화 기본 요소의 정교함에도 불구하고, 메모리 관리 오류는 지갑과 사용자 자금의 유출로 이어지는 심각한 취약점의 원인이 됩니다. 본 논문에서는 encode_base2048libbitcoin 라이브러리 함수의 취약점을 예시로 들어 메모리에서 비밀 데이터가 불완전하게 삭제되는 실제 문제를 분석하고, 안전한 해결 방안을 제안합니다.
취약성은 어떻게 발생하는가?
근본적인 취약점은 clear()STL 컨테이너에서 사용 후 민감한 데이터를 삭제하는 표준 작업인 `[ std::vector]`를 악용하는 데 있습니다. 그러나 컨테이너 구조를 지운다고 해서 메모리가 완전히 삭제되는 것은 아닙니다. `[ ]` 호출 후에는 clear()컨테이너 크기만 0으로 초기화될 뿐, 이전에 할당된 모든 바이트는 운영체제에서 덮어쓰거나 반환될 때까지 물리적으로 RAM에 그대로 남아 있습니다.
취약한 코드의 예시:
cppout.clear();
// Освободили элементы, но не затёрли секретные данные
결과적으로, “스펙트럴 시드 사이펀”과 같은 공격이 새로운 컨테이너를 생성하면, 남은 메모리에 접근하여 이전에 삭제된 개인 키, 시드 구문 또는 기타 암호화 비밀 정보를 복구할 수 있습니다. stackoverflow+1
실제 공격
과거 암호화폐 지갑 및 신뢰 시스템에 대한 많은 공격은 삭제되지 않고 해제된 메모리에서 잔여 데이터를 추출하는 방식으로 이루어졌습니다. 공격자가 (할당자 버그나 사이드 채널 등을 통해) 이 메모리를 읽는 데 성공하면 개인 데이터가 완전히 노출되는 심각한 피해를 초래할 수 있습니다. ( 비트코인월드 )
안전하게 제거하는 방법
요구 사항
- 비밀 정보가 저장된 메모리를 삭제하거나 해제하기 전에 해당 메모리를 완전히 비우거나 새로운 정보로 채워야 합니다.
- 컴파일러가 volatile 점프나 시스템 호출을 사용하여 이 프로시저를 최적화하는 것을 방지해야 합니다(“데드 스토어 제거”).
C++를 위한 안정적인 솔루션: 안전한 할당자
안전한 방법은 비밀 정보를 포함하는 컨테이너에 사용자 지정 할당자를 사용하는 것입니다.
cpp#if defined(_WIN32)
#include <windows.h>
#define secure_zeromem(mem, size) do { RtlSecureZeroMemory(mem, size); } while(0)
#else
#define secure_zeromem(mem, size) \
do { volatile unsigned char *p = (volatile unsigned char *)(mem); \
for (size_t i = 0; i < (size); ++i) p[i] = 0; } while(0)
#endif
template <class T>
class SecureAllocator : public std::allocator<T> {
public:
template <class U> struct rebind { typedef SecureAllocator<U> other; };
SecureAllocator() noexcept : std::allocator<T>() {}
SecureAllocator(const SecureAllocator& other) noexcept : std::allocator<T>(other) {}
template <class U> SecureAllocator(const SecureAllocator<U>&) noexcept {}
void deallocate(T* ptr, std::size_t n) {
if (ptr) secure_zeromem(ptr, n * sizeof(T));
std::allocator<T>::deallocate(ptr, n);
}
};
// Использование:
#include <vector>
typedef std::vector<uint8_t, SecureAllocator<uint8_t>> secure_vector;
이제 를 사용하면 secure_vector컨테이너를 삭제, 비우거나 해제할 때 메모리가 완전히 지워진다는 것을 보장할 수 있습니다. noser+1
실질적인 권장 사항
- 개인 키, 시드 구문 및 엔트로피를 포함하는 데이터에는 항상 안전한 데이터 할당자를 사용하십시오.
clear()비밀 정보를 제거하는 용도 로만 사용하지 마세요 . 수동으로 버퍼를 비우는 방법을 사용하십시오.- 시크릿의 수명 주기가 끝나면 수동으로(
std::fill_nvolatile 키워드 사용) 또는 보안 할당자를 통해 보안 정리를 호출하세요. gist.github+1 - 개발 초기 단계에서 이러한 취약점을 식별하기 위해 감사 및 정적 분석 프로세스를 구현하십시오.
결론
암호화 비밀 정보가 저장된 메모리 영역을 안전하게 삭제하는 것은 모든 저수준 지갑 및 암호화 라이브러리의 핵심 보안 요소입니다. 이 부분을 무시하거나 과소평가하면 사용자 및 시스템 전체에 치명적인 결과를 초래할 수 있습니다. 안전한 메모리 할당자와 승인된 메모리 관리 방식을 사용하면 “스펙트럴 시드 사이펀(Spectral Seed Syphon)”과 같은 공격 위험을 효과적으로 제거하고 소프트웨어에 대한 높은 신뢰도를 확보할 수 있습니다.
최종 과학적 결론
암호화 지갑의 RAM에서 비밀 데이터가 완전히 삭제되지 않는 취약점은 현대 비트코인 생태계에 가장 심각한 위협 중 하나입니다. 리비트코인의 경우, 표준 clear()벡터 삭제와 같은 안전하지 않은 삭제 작업을 사용하면 개인 키와 시드 구문의 잔여 바이트가 실행 후에도 메모리에 남아 있는 것으로 밝혀졌습니다. 이러한 근본적인 결함은 스펙트럴 시드 사이펀 공격(CVE-2023-39910)을 가능하게 하며, 공격자는 이를 통해 탐지되지 않고 키와 시드 구문의 “유령” 흔적을 추출하여 피해자의 비트코인 지갑에 있는 자금에 대한 완전한 접근 권한을 획득할 수 있습니다.
이러한 정보 유출은 개별 사용자뿐만 아니라 암호화폐 인프라 자체에 대한 신뢰의 기반까지 직접적으로 위협합니다. 이와 같은 실제 사고로 인한 손실은 비밀 정보의 안전한 저장 및 파기라는 기본 원칙을 무시하는 것이 블록체인 시스템의 안정성과 타당성을 치명적으로 훼손한다는 것을 보여줍니다. 이 문제의 과학적, 실용적 중요성은 매우 큽니다. 따라서 안전한 메모리 관리, 안전한 할당자 구현, 그리고 수동 버퍼 플러싱은 모든 암호화폐 프로그래머에게 필수적인 표준이 되어야 합니다.
결론적으로, 아무리 정교한 암호화 기술이라도 암호 내용이 공격에 노출될 수 있는 흔적을 남긴다면 자금을 보호할 수 없습니다. 스펙트럴 시드 사이펀 취약점은 보안이 알고리즘 자체에서 시작되는 것이 아니라 적절한 메모리 관리에서 시작된다는 사실을 극명하게 보여주는 사례이며, 메모리의 “유령”을 장악하는 자가 비트코인까지 장악할 수 있다는 것을 시사합니다.
- https://arxiv.org/html/2404.18090v1
- https://arxiv.org/pdf/2404.18090.pdf
- https://www.nature.com/articles/s41598-024-73454-0
- https://www.binance.com/bg/square/post/16971373481825
- https://www.coinglass.com/ru/news/251314
문학:
- [리비트코인 취약점 파헤치기] 비트코인월드
- [Vector가 메모리를 안전하게 삭제하는 방법 – StackOverflow] 스택오버플로우
- [std::vector 또는 std::string을 안전하게 할당 해제하는 방법] noser
- [키 래핑, 저장 및 관리를 위한 모범 사례] ubiqsecurity
- [메모리 내 키 암호화 모범 사례] gist.github
- https://stackoverflow.com/questions/65088603/vector-securely-erasing-its-memory
- https://www.noser.com/techblog/securely-deallocate-a-stdvector-or-a-stdstring/
- https://bitcoinworld.co.in/disappearance-of-900k-puts-focus-on-vintage-bitcoin-project-libbitcoin/
- https://gist.github.com/atoponce/07d8d4c833873be2f68c34f9afc5a78a
- https://dev.ubiqsecurity.com/docs/key-mgmt-best-practices
- https://www.reddit.com/r/rust/comments/ajj626/ensuring_data_is_erased_from_a_vector_before_it/
- https://pvs-studio.com/en/blog/posts/0989/
- https://www.usenix.org/system/files/sec20summer_bernstein_prepub.pdf
- https://github.com/nlohmann/json
- https://stackoverflow.com/questions/1263350/cryptography-best-practices-for-keys-in-memory
- https://en.cppreference.com/w/cpp/container/vector/erase2
- https://www.chromium.org/chromium-os/developer-library/reference/cpp/cpp-memory-management/
- https://google.github.io/styleguide/cppguide.html
- https://www.globalsign.com/en/blog/8-best-practices-cryptographic-key-management
- https://www.geeksforgeeks.org/computer-networks/easy-key-management-in-cryptography/
- https://www.ultra-hyperspike.com/media/2435/key-management-whitepaper-0721.pdf
- https://blancco.com/resources/bp-when-are-encryption-and-cryptographic-erasure-not-enough/
- https://zimperium.com/blog/top-5-cryptographic-key-protection-best-practices
- https://www.linkedin.com/advice/1/what-most-effective-way-secure-cryptographic-key-skills-algorithms-nauqc
참고 문헌 및 자료:
- [리비트코인 취약점 파헤치기] 비트코인월드
- [암호화폐 보안 침해: 해커들이 비트코인 지갑을 악용했습니다] bitcoinist
- [CVE-2023-39910] nvd.nist
- [Vector가 메모리를 안전하게 삭제하는 방법 – StackOverflow] 스택오버플로우
- [std::vector 또는 std::string을 안전하게 할당 해제하는 방법] noser
- https://bitcoinworld.co.in/disappearance-of-900k-puts-focus-on-vintage-bitcoin-project-libbitcoin/
- https://bitcoinist.com/crypto-breach-hackers-make-off-with-900k/
- https://nvd.nist.gov/vuln/detail/CVE-2023-39910
- https://stackoverflow.com/questions/65088603/vector-securely-erasing-its-memory
- https://www.noser.com/techblog/securely-deallocate-a-stdvector-or-a-stdstring/
- https://habr.com/ru/articles/771980/
- https://www.gendigital.com/blog/insights/reports/threat-report-q3-2024
- https://freemindtronic.com/dom-extension-clickjacking-def-con-33-en/
- https://b8c.ru
- https://www.cypro.se/2025/05/08/38000-freedrain-subdomains-found-exploiting-seo-to-steal-crypto-wallet-seed-phrases/
- https://arxiv.org/html/2407.08663v2
- https://vbn.aau.dk/files/549541441/PHD_TECH_SS.pdf
- https://chapering.github.io/pubs/sp24weimin.pdf
- https://nvd.nist.gov/vuln/detail/CVE-2023-37192
- https://windowsforum.com/threads/march-2025-patch-tuesday-50-security-fixes-6-zero-day-vulnerabilities.356204/
- https://www.cvedetails.com/vulnerability-list/vendor_id-12094/product_id-59195/version_id-829354/opdos-1/Bitcoin-Bitcoin-Core-24.0.html
- https://github.com/IMCG/awesome-c
- https://www.mitre.org/sites/default/files/2021-11/prs-18-1174-ngci-cyber-threat-modeling.pdf
- https://news.ycombinator.com/item?id=27962761
- https://www.usenix.org/system/files/sec22-cerdeira.pdf
- http://www.cs.columbia.edu/~simha/thesis/Hassan_columbia_0054D_17173.pdf
- https://www.isse.tu-clausthal.de/fileadmin/ISSE/documents/Doktorarbeit/19_Pierre_Schnarz_Dissertation.pdf