Cuando el malware rompe la máquina
======================================================== dmesg — cuando el malware rompe la maquina firmware · arranque · controladores · alimentacion ========================================================
- El firmware de arranque (BIOS/UEFI) chip de memoria flash spi, soldado a la placa
- El sector de arranque del disco conectores de almacenamiento (sata/m.2) y el disco que cuelga de ellos
- El firmware de los periféricos ranuras de expansión, controladores de disco y de red
- La alimentación y la refrigeración reguladores de tensión (vrm), conectores de ventilador y batería
- 0 memoria — no persiste
- 1-2 ficheros y sector de arranque — lo alcanza un formateo
- 3 firmware de periférico — se va con la pieza
- 4 firmware de la placa — solo cae reprogramando el chip
- 5 el aparato — ya no es persistencia, es avería
El contorno de cada componente codifica su peldaño en la escalera de persistencia; el relleno rojo del chip de firmware sigue marcando, aparte, el único daño irreversible.
Casi todo el malware de este museo persigue datos. Un punado se propuso estropear el aparato, y para eso tuvo que bajar hasta donde el software toca el hardware. Aqui estan esas zonas, y la diferencia entre perder informacion, quedarse sin arrancar y romper algo de verdad.
## [1] el firmware de arranque (bios/uefi)
Un chip diminuto que guarda el primer código que ejecuta el equipo al encenderse, antes incluso de que exista un sistema operativo. Es lo que reconoce la memoria, los discos y el teclado, y decide desde dónde arrancar.
Es el punto más profundo al que puede llegar el software: se ejecuta antes que cualquier antivirus y sobrevive a formatear el disco, o a cambiarlo entero. Si se corrompe, la máquina no llega ni a encender la pantalla.
CIH (1998), conocido como Chernobyl, es el ejemplo canónico: además de arrasar el disco, intentaba sobrescribir el firmware. Solo funcionaba en placas con chipset Intel 430TX y similares, que permitían reescribir el chip por software sin mover un puente físico; en ellas, el ordenador quedaba muerto y había que reprogramar el chip fuera de la placa.
El daño intencionado es raro hoy, pero la zona sigue siendo codiciada por su persistencia: LoJax (2018) fue el primer rootkit UEFI encontrado en uso real, y buscaba sobrevivir a la reinstalación, no romper nada.
## [2] el sector de arranque del disco
Los primeros sectores del disco (MBR o VBR) contienen el pequeño programa que carga el sistema operativo y el mapa de dónde empieza cada partición.
Son unos pocos kilobytes que gobiernan el acceso a todo lo demás. Sobrescribirlos cuesta un instante y deja el equipo aparentemente muerto: enciende, pero no encuentra nada que arrancar.
Es la zona más castigada de la historia del malware. Michelangelo (1991) sobrescribía los primeros sectores cada 6 de marzo. Shamoon (2012) borró el arranque y los datos de unas 30.000 estaciones de Saudi Aramco. Petya (2016) y NotPetya (2017) cifraban la tabla maestra de ficheros y sustituían el arranque por su propia pantalla de rescate.
Conviene no exagerar el alcance: aquí el hardware queda intacto. Un equipo así se recupera reescribiendo el sector de arranque, y los datos, si hay copia de seguridad. Lo que se destruye es información y tiempo, no silicio.
## [3] el firmware de los periféricos
Un ordenador moderno tiene decenas de procesadores además del principal: el disco, la tarjeta de red o la gráfica ejecutan su propio firmware, con el que el sistema operativo no habla directamente.
Ese código es invisible para el sistema y para las herramientas de análisis: no aparece en ningún fichero. Quien lo controla puede leer o alterar todo lo que pase por esa pieza, y no hay formateo que lo quite.
En 2015, Kaspersky documentó implantes capaces de reprogramar el firmware de discos duros de más de una docena de fabricantes, atribuidos al grupo Equation. No buscaban romper el disco, sino esconderse donde nadie mira.
En la práctica, un componente así comprometido se sustituye: verificar o restaurar su firmware suele estar fuera del alcance del usuario.
## [4] la alimentación y la refrigeración
La circuitería que ajusta el voltaje que llega al procesador y el control térmico que evita que el equipo se cueza a sí mismo.
Aquí el daño no es un borrado, sino desgaste: forzar la máquina al máximo de forma sostenida es una forma lenta pero real de estropear el aparato, y no requiere ningún fallo exótico, solo mantenerla trabajando.
El caso mejor documentado es de un teléfono, no de un PC: Loapi (2017), un troyano para Android con un módulo de minería, mantenía el dispositivo al límite hasta que la batería se deformó por el calor en apenas dos días de prueba en laboratorio.
Los equipos actuales se protegen solos: si la temperatura sube, el procesador reduce su frecuencia o apaga el sistema. Esa salvaguarda es de hardware, y es la razón de que hoy un minero degrade el equipo en lugar de fundirlo.
## mas alla del ordenador
> la planta industrial
Stuxnet (2010) es el caso que cambió la conversación: reprogramaba controladores lógicos Siemens S7 para variar la velocidad de giro de las centrifugadoras de enriquecimiento de uranio de Natanz, forzándolas fuera de su régimen seguro hasta romperlas. Mientras tanto, reproducía a los operadores grabaciones de lecturas normales, de modo que los paneles no mostraban nada raro. Es la demostración de que un programa puede destruir maquinaria física, y de que el aislamiento de la red no basta por sí solo: entró en una instalación sin conexión a Internet.
> los aparatos conectados
Los routers, cámaras y grabadores domésticos guardan su sistema en una memoria flash pequeña y sin apenas protecciones. BrickerBot (2017) recorría Internet buscando los mismos dispositivos con credenciales de fábrica que usaba Mirai, pero en lugar de reclutarlos para una red de bots, corrompía su almacenamiento y los dejaba inservibles: un ataque de denegación de servicio permanente. Su autor sostenía que hacía un favor retirándolos de circulación; para el dueño, el aparato simplemente había muerto.
## de que cuelga cada pieza
El dibujo de la placa dice donde esta cada componente. Lo que no dice es como se comunican, y ahi esta la explicacion de una pregunta que la sala ha ido dejando pendiente: por que el sistema operativo no ve el firmware.
- Buses rápidos — el procesador habla directamente con la memoria y con el chipset.
- El bus del firmware (a rayas) — lento, en una rama propia y leído casi solo al arrancar. Por eso el sistema operativo no ve ahí ningún fichero: no hay nada que listar, hay un chip al otro lado de un bus.
- Disco y tarjetas — cuelgan del chipset, no del procesador.
- Acceso directo a memoria (punteado) — una tarjeta lee y escribe la memoria sin pasar por el procesador. Es el privilegio que hace peligrosa a una tarjeta comprometida.
La respuesta es la topologia. El chip de firmware no cuelga del procesador sino del chipset, por un bus lento y aparte, y el procesador solo lo lee al arrancar. Para el sistema operativo no hay ahi un fichero que listar: hay un chip al otro lado de un bus, y hablarle exige pedirselo al chipset con las ordenes adecuadas. Esa distancia es la misma que hace que un implante de firmware sea invisible para un antivirus.
## la escalera de persistencia
El eje que de verdad ordena esta sala no es donde ataca el malware, sino a que profundidad se instala. Y la razon es el orden de arranque: cuanto mas abajo esta algo, antes se ejecuta, y lo que se ejecuta antes puede esconderse de todo lo que viene despues. Por eso bajar un peldano no es solo esconderse mejor: es sobrevivir a un remedio mas.
-
memoria se quita con: apagar el equipo.
Solo el proceso en ejecución; nada escrito en disco.
Es el peldaño de las técnicas «sin fichero»: no persisten a propósito, para no dejar nada que un antivirus pueda encontrar.
-
ficheros del sistema se quita con: borrar el fichero.
Ejecutables infectados, tareas programadas, claves de arranque del registro.
Es donde vive la inmensa mayoría del malware, y también donde el antivirus juega en casa: son ficheros, y un fichero se puede mirar.
-
sector de arranque se quita con: reescribir el arranque.
MBR o VBR del disco, fuera de cualquier sistema de ficheros.
Primer peldaño que se ejecuta ANTES del sistema operativo, así que también antes de cualquier defensa que el sistema traiga.
-
firmware de un periférico se quita con: sustituir la pieza.
La memoria del propio disco, de la tarjeta de red o de la gráfica.
El sistema operativo no ve ese código: no es un fichero de ninguna parte. Los implantes de disco que Kaspersky atribuyó al grupo Equation (2015) viven aquí.
-
firmware de la placa se quita con: reprogramar el chip.
El chip flash SPI con la BIOS o la UEFI.
El punto más profundo que alcanza el software. CIH (1998) llegó aquí para destruir; LoJax (2018), para sobrevivir a la reinstalación.
> [cih] -
el aparato se quita con: ninguno: se sustituye.
El componente físico: silicio, batería, mecánica.
Aquí ya no se habla de persistencia sino de avería: no queda nada que borrar porque el daño no es un programa instalado, es una pieza rota.
## que sobrevive a que
La escalera anterior, puesta a prueba contra los remedios habituales. Cada celda responde a una sola pregunta: ¿sobrevive a este remedio, aplicado por si solo? Conviene no leerla como una escalera acumulativa, porque los remedios no se contienen unos a otros: sustituir el disco no reprograma la BIOS, y reprogramar la BIOS no sustituye el disco. De ahi que el resultado sea una diagonal y no un escalon, y de ahi la leccion: cada profundidad necesita su remedio, y el mas drastico aplicado en el sitio equivocado no sirve de nada.
| profundidad | borrar el fichero | formatear la partición | reinstalar el sistema | sustituir el disco | reprogramar la bios |
|---|---|---|---|---|---|
| virus de fichero dentro de programas del disco | muere | muere | muere | muere 1 | sobrevive |
| sector de arranque mbr del disco | sobrevive | sobrevive 2 | muere 3 | muere | sobrevive |
| firmware del disco memoria de la propia unidad | sobrevive | sobrevive | sobrevive | muere | sobrevive |
| firmware de la placa chip flash spi (bios/uefi) | sobrevive | sobrevive | sobrevive | sobrevive | muere |
sigue vivo · eliminado
- Muere con el disco viejo, pero vuelve si se restaura una copia de seguridad hecha cuando ya estaba infectada: la reinfección desde el respaldo es un clásico.
- La celda más contraintuitiva de la tabla, y la razón de que merezca la pena dibujarla. Formatear actúa sobre una PARTICIÓN; el MBR es el primer sector del DISCO, por delante de la primera partición, así que no se toca. Un virus alojado en el VBR —el primer sector de la partición— sí desaparecería.
- Normalmente sí, porque el instalador escribe su propio cargador de arranque encima. Deja de ser cierto si el sistema se instala en otra unidad y se conserva el arranque anterior.
Dos advertencias para no forzar la tabla mas de lo que dice. Habla de donde sigue vivo el programa, no de lo que se ha perdido: un ransomware muere al formatear, pero los ficheros cifrados no vuelven por eso. Y el desgaste de la zona [4] no aparece aqui porque no es persistencia: no hay nada instalado que borrar, hay una pieza gastada.
## tres grados de dano
- Pérdida de datos: Se borra o se cifra información. El equipo funciona; lo que falta es lo que había dentro. Se arregla con: copias de seguridad.
- Equipo inutilizado: La máquina no arranca y parece rota, pero todos sus componentes están sanos. Se arregla con: reescribir el arranque y reinstalar.
- Daño físico: Un componente queda inservible o se degrada de forma permanente. Se arregla con: reprogramar el chip o sustituir la pieza.
De los 65 especimenes publicados en el catalogo, solo dos llegaron al tercer grado: CIH, con el firmware de un ordenador domestico, y Stuxnet, con las centrifugadoras de una planta de enriquecimiento. Romper hardware exige conocer un modelo concreto de chip o de maquina, y eso limita el alcance justo cuando el atacante suele buscar lo contrario.
> fin del informe_