Rootkits - Malware sigiloso en lo profundo de tu SO
Lectura de 2 min aprox.
Un rootkit es un tipo de malware que se oculta en lo más profundo del sistema y disimula su propia presencia ante el sistema operativo y el software de seguridad. Su nombre proviene de «root», el privilegio más alto en Unix/Linux, y los atacantes lo utilizan para mantener un acceso persistente al sistema. Como es extremadamente difícil de detectar, hay casos en los que se roba información durante largos periodos sin que la infección llegue a notarse. En 2024 se descubrieron varias nuevas variantes de rootkits UEFI, lo que aumenta la importancia de las medidas de seguridad a nivel de firmware.
Por qué no aparecer en una lista no es una prueba
Una lista de procesos o de conexiones de red no hace más que mostrar las respuestas devueltas por una consulta al sistema operativo. Un rootkit incrustado en el kernel se sitúa en una posición desde la que puede reescribir la propia respuesta a esa consulta, por lo que puede lograr que las entradas relativas a él mismo no se devuelvan. En ese caso, la ausencia de elementos sospechosos en una lista no es prueba de que no exista nada sospechoso. Es una situación en la que el instrumento de observación está controlado por el objeto observado, y un resultado que parece normal no puede distinguirse de que las cosas estén realmente normales. Por eso, cuando se sospecha la presencia de un rootkit, hay que cambiar la observación a métodos que no pasen por el sistema operativo. Obtener y analizar directamente el contenido de la memoria, examinar el disco desde un entorno arrancado con otro medio y registrar el tráfico desde el lado de la red comparten la propiedad de no pedir la respuesta al sistema operativo comprometido. Antes de juzgar si algo se ha detectado, hace falta un paso para confirmar de dónde procede esa información.
La estructura de ocultamiento de los rootkits
Tipos de rootkits
Los rootkits en modo kernel se incrustan en el kernel del sistema operativo y son los más difíciles de detectar. Los rootkits en modo usuario operan en la capa de aplicación, ocultando procesos y archivos. Los bootkits infectan el proceso de arranque del sistema operativo y comienzan a actuar antes de que este se cargue. Los rootkits UEFI infectan el firmware, lo que los convierte en el tipo más problemático, ya que no pueden eliminarse ni reinstalando el sistema operativo.
Por qué se retrasa el descubrimiento
Lo problemático de un rootkit no es tanto la magnitud del daño como la vía por la que se descubre. La supervisión suele depender de la información que el propio equipo examinado comunica sobre sí mismo. Si se han reescrito la lista de procesos y la vista del tráfico, la pantalla de supervisión sigue mostrando «sin anomalías» y, con el paso del tiempo, los rastros de la intrusión se sobrescriben y resultan más difíciles de seguir. Por eso el descubrimiento suele desencadenarse por información que llega desde fuera del sistema: un comentario de la parte con la que se comunica el equipo, un aviso de un socio comercial o datos filtrados encontrados en otro lugar. Si queda una vía de reentrada como una puerta trasera, el intruso vuelve por el mismo camino aunque parezca que el rootkit se ha eliminado. En la respuesta a incidentes, hay que trabajar partiendo de que lo que informa el equipo no es fiable y contrastar con pruebas de otro sistema, como los registros del lado de la red.
Detección y eliminación
Como los análisis de virus habituales no pueden detectarlos, se necesitan herramientas de detección de rootkits específicas o un análisis desde fuera del sistema operativo (arrancando desde un medio de arranque). Si se confirma un rootkit en modo kernel, una reinstalación limpia del sistema operativo es la solución más fiable. Como medidas preventivas, mantener actualizados el sistema operativo y el software, proteger las cuentas de administrador con contraseñas aleatorias robustas y habilitar la autenticación multifactor permiten reducir el riesgo de una intrusión inicial.
¿Te resultó útil este artículo?