Rootkit
Justo en este momento, tu ordenador podría estar lleno de virus y malware, o incluso ser parte de una botnet que lleve a cabo fraudes de clic o ciberataques a gran escala. Si este fuera el caso, probablemente ni te enterarías. De hecho, en la mayoría de las veces los llamados rootkits hacen creer al usuario que todo va perfectamente bien. Funcionan prácticamente como una capa de invisibilidad bajo la cual se cometen actividades delictivas. Sin embargo, si conoces el funcionamiento y los riesgos de los rootkits, puedes protegerte mejor contra ellos. Por ello, te invitamos a leer a continuación lo más importante en materia de rootkits.
¿Qué es un rootkit?
Los rootkits no son malwares individuales, sino todo un conjunto de programas maliciosos que anidan en los ordenadores a través de huecos en el sistema de seguridad, concediendo así a los atacantes acceso remoto permanente (remote access) a ellos. Una característica esencial de los rootkits es que se ocultan a sí mismos y a otros parásitos frente a detectores de virus y programas de seguridad, de manera que el usuario no se percata de su existencia.
Según a qué nivel de autorización haya llegado el rootkit, puede incluso otorgar todos los derechos de administración (con lo que se llama un rootkit en modo kernel), es decir, el control total sobre el ordenador, al hacker.
Rootkit es un conjunto de varios programas maliciosos que pueden infiltrarse en distintos niveles de autorización de un ordenador, encubrir las acciones de virus y malware y facilitar así en adelante el acceso al sistema para los delincuentes.
Los primeros rootkits surgieron a principios de los noventa y todavía se dirigían exclusivamente a sistemas operativos del tipo Unix, como Linux. Solían estar formados a partir de versiones modificadas de programas estándares como ps, un comando de Unix que muestra la lista de todos los procesos en curso; o passwd, para cambiar la contraseña de usuario. Su nombre también se acuñó en esa época: el término root designa en Unix al administrador y el término kit significa algo así como equipamiento o caja de herramientas. Así, el término compuesto rootkit designa un conjunto de herramientas informáticas que permiten a un hacker obtener derechos de administrador (de root) sobre un ordenador, algo que hacen, más explícitamente, los rootkits en modo kernel.
Actualmente, sin embargo, existen rootkits para muchos tipos de sistemas operativos. La denominación rootkit, eso sí, no deja de tener sentido en Windows y otros sistemas operativos: algunos rootkits penetran hasta el núcleo más interno, es decir, hasta la raíz o root del sistema, desde donde empiezan a actuar.
¿Cómo funcionan los rootkits?
Aunque existen tipos muy diferentes de rootkits, la base de su funcionamiento es siempre la misma. También el proceso de infiltrado en el sistema sigue siempre el mismo patrón.
Paso 1: infección del sistema
Antes de la infección por rootkit, se suele realizar cierta forma de ingeniería social como paso previo: los ciberdelincuentes aprovechan en general el punto más débil de los sistemas de seguridad, este es, el componente humano. Mediante el engaño o la manipulación de otras personas, los hackers obtienen a menudo datos de acceso o contraseñas. Con ellos inician luego sesión en un ordenador e instalan el rootkit.
No obstante, también es posible infectar con rootkit de otra manera; por ejemplo mediante drive-by downloads (descargas involuntarias) de una página infectada, al descargar software de una fuente no segura o al hacer clic en un enlace o en un adjunto de un correo de phishing.
Otro método consiste en dejar olvidado un lápiz USB que contenga un rootkit en un sitio público. Es posible que quien lo encuentre, imprudentemente, se lo lleve a casa y, por curiosidad, lo conecte a su ordenador, desatando así la infiltración. Los llamados evil maid attacks (que podemos traducir como “ataques de la sirvienta malvada”) funcionan de manera similar: el hacker mismo instala el rootkit manualmente en un ordenador que no esté vigilado. El nombre del método viene de la posibilidad de que el servicio de habitaciones de un hotel pudiera infectar así los ordenadores de muchos huéspedes.
Paso 2: encubrimiento (stealth)
Una vez dentro del sistema, el rootkit se oculta a sí mismo. Para ello empieza a manipular los procesos mediante los cuales los programas y las funciones del sistema intercambian datos. Así, cuando se active un detector de virus, este solo recibirá informaciones falsas a base de indicaciones filtradas por el rootkit. Por este motivo, a menudo ni siquiera un software antivirus profesional logra identificar los elementos maliciosos basándose en sus firmas de método o en el análisis de su comportamiento (heurística).
Paso 3: creación de una puerta trasera (backdoor)
Luego, el rootkit construye una llamada backdoor, una entrada alternativa al sistema que el hacker puede usar con una contraseña robada o con una shell o intérprete de comandos, para en adelante poder controlar el ordenador por acceso remoto. El rootkit se encarga entonces de encubrir todos los inicios de sesión y todas las actividades sospechosas.
Esto permite al atacante instalar otros softwares como Keylogger, usar spyware para espiar las teclas pulsadas, robar datos o, según el grado de autorización, cambiar la configuración del sistema. A menudo también se conectan ordenadores infectados con rootkit a las llamadas botnets, desde las cuales se hace phishing o ataques DDoS con ellos.
¿Qué diferencia a los rootkits de otros programas maliciosos?
Los rootkits son también llamados, por motivos obvios, virus camuflados, a pesar de que no se pueden clasificar como virus por definición. ¿Pero qué es exactamente lo que diferencia a los rootkits de otros parásitos?
- Virus: un virus se adhiere a un archivo ejecutable o a un programa (lo que importa es el formato .exe). Si bien sí se replica por sí solo, no puede propagarse solo, sino que normalmente necesita a las personas o a otros programas para ello.
- Gusano: este término se refiere a una subcategoría especial de virus que se puede propagar por sí sola por las funciones de trasmisión de datos del sistema.
- Troyano: no es un virus, sino un tipo de malware, es decir, de programa malicioso, que se camufla como aplicación útil. Los hackers usan este tipo de caballos de Troya para abrir puertas traseras en el sistema.
- Rootkits: los rootkits se consideran también una subcategoría de los troyanos. Muchos troyanos, de hecho, tienen características típicas de los rootkits. La principal diferencia entre ellos es que los rootkits se esconden activamente en el sistema y en la mayoría de los casos conceden al atacante incluso derechos de administrador.
¿Qué tipos de rootkits existen?
Los rootkits se diferencian, sobre todo, según el método con el que encubran procesos de malware o actividades delictivas. Los más usados son los rootkits en modo kernel y en modo usuario. Estos peligrosos kits de software son desarrollados continuamente por los ciberdelincuentes para que cada vez sea más difícil combatirlos.
Rootkits en modo kernel
Cuando se habla de rootkits, suele hacerse referencia a este tipo. Los rootkits en modo kernel anidan en el núcleo del sistema operativo. Este núcleo, también llamado Ring-0, tiene los permisos más avanzados sobre el ordenador, permitiendo así un acceso profundo a todos los componentes del hardware, así como cambios en la configuración del sistema. Eso significa que, si un atacante coloca ahí un rootkit, consigue el control total sobre todo el sistema.
Tales rootkits reemplazan partes del núcleo con un código propio. En sistemas operativos del tipo Unix, esto ocurre normalmente mediante módulos cargables del núcleo (LKM, loadable kernel module), por lo que también se llaman LKM rootkits. En sistemas Windows, en cambio, el núcleo se suele manipular directamente, integrándole simplemente nuevas unidades de sistema. Independientemente del procedimiento, el rootkit en modo kernel puede usar esta posición inicial estratégica para hacer llegar a la protección antivirus del ordenador informaciones falsas desde el inicio. Esto hace que este tipo de rootkits sea especialmente difícil de detectar y de eliminar. Por otro lado, su complejidad también los hace relativamente escasos.
Dicha complejidad, además, hace a los rootkits en modo kernel más propensos a tener fallos de programación, que en algunos casos pueden desestabilizar el sistema. En tal caso, el software malicioso puede mostrar indicios al usuario como las frecuentes pantallas azules o los fallos del sistema.
Rootkit en modo usuario
Al contrario que los rootkits en modo kernel, este tipo solo actúa en el nivel de usuario del ordenador, en el que también se encuentran todos los programas ejecutables. Puesto que este nivel posee el grado más bajo de autorización de la CPU (Ring-3), los rootkits en modo usuario solo proporcionan al atacante un acceso limitado al ordenador. Por ello también son, a la vez, menos complejos y más comunes que los rootkits en modo kernel, sobre todo en sistemas Windows.
Los rootkits en modo usuario se ocultan a base de captar y manipular el tráfico de datos entre el sistema operativo y los programas de seguridad y antivirus instalados. Para ello usan los métodos de DLL injection y API hooking: usan una biblioteca de códigos propia (Dynamic Link Library, DLL) que se adhiere al intercambio de datos y desvía las funciones de interfaces de programación concretas (Application Programming Interfaces, API) hacia el rootkit. Así, el rootkit borra sus huellas de las listas de procesos, como por ejemplo del administrador de tareas de Windows.
Otros rootkits
Además de estos dos, existen otros dos tipos de rootkits, pero estos se consideran poco peligrosos:
- Application rootkit: la variante inicial y más primitiva del rootkit. Sustituye programas del sistema por otros propios o por variantes modificadas, de manera que es muy fácil de identificar. Por ello, a su vez, apenas es usada por los hackers.
- Memory rootkit: estos solo pueden existir en la memoria principal, de forma que desaparecen del sistema en cuanto se reinicia.
Innovaciones en los rootkits
Al igual que muchos otros programas maliciosos, los rootkits se desarrollan y evolucionan continuamente. Así, se crean por ejemplo los llamados bootkits, una forma del rootkit en modo kernel que se especializa en reemplazar el gestor de arranque de un ordenador para desactivar los mecanismos de seguridad del sistema operativo. Cada vez más, los smartphones (sobre todo con sistema operativo Android) también se infectan, en general mediante la descarga de una app poco segura. En estos casos se habla de un mobile rootkit.
En 2006, un grupo de investigadores de la Universidad de Michigan dio que hablar al presentar su proyecto SubVirt: un rootkit que se basaba en una máquina virtual y que fue por lo tanto bautizado como VMBR (Virtual Machine Based Rootkit). Tales máquinas se suelen usar para poder ejecutar varios sistemas operativos diferentes (por ejemplo, Linux y Windows) desde un mismo ordenador. El VMBR debería ser capaz, gracias a esta tecnología, de trasladar el sistema operativo a un entorno virtual y poder así permanecer oculto. Tan solo un año más tarde, investigadores de la Universidad de Stanford ya afirmaban poder detectar tales VMBR sin problema.
Desde entonces, no parece haber habido innovaciones a gran escala en materia de rootkits, pero eso no significa en absoluto que el riesgo haya disminuido. El exploit kit RIG, por ejemplo, creció en 2018 con un rootkit adicional llamado CEIDPageLock. Este se cuela través de la unidad de sistema a sistemas operativos Windows y toma el control sobre el navegador de Internet. De este modo, lleva al usuario a páginas web falsas en las que se comete el robo de datos para diversas actividades delictivas. Con fecha de agosto de 2018, había sobre todo muchos ordenadores afectados de esta manera en China. Los expertos ya suponían entonces que los programas maliciosos se extenderían más allá de las fronteras del país.
Los exploit kits, de la palabra inglesa para “explotación”, son conjuntos de herramientas cuyos blancos son las grietas en la seguridad de programas comunes como Adobe Flash, Java o Microsoft Silverlight. Hasta ahora el RIG se considera el exploit kit más activo, con hasta 27 000 infecciones al día.
Ejemplos de rootkits conocidos
Hoy en día existen rootkits para todo tipo de sistemas operativos. A continuación, se presentan dos ejemplos de rootkit que amenazan los sistemas Windows.
- TDSS o Alureon (descubierto en 2007): también se clasifica como troyano, un indicio de lo poco clara que es la frontera entre ambos tipos de parásitos. Este rootkit manipula el Registro de Windows para desactivar, por ejemplo, el administrador de tareas, la función de actualización o, dado el caso, los antivirus, para después crear una botnet.
- ZeroAccess (descubierto en 2011): otro troyano con atributos de rootkit. Este infecta el registro de arranque principal o MBR, además de una unidad de sistema aleatoria, y desactiva luego el Windows Security Center, el Windows Defender y el Firewall. Si eso ocurre, el ordenador pasará a ser usado para el bitcoin mining y los fraudes de clic como parte de una botnet.
Sin embargo, detrás de los rootkits no siempre se esconden este tipo de intenciones delictivas. Los simuladores de CD, por ejemplo, también utilizan esa técnica para evadir las restricciones por derechos de autor. Si eso es legal o relevante desde el punto de vista penal, suele depender del fin y del alcance del uso.
En cualquier caso, en lo que a los derechos de autor se refiere, no solo los consumidores con rootkits sobrepasan la frontera legal: la multinacional japonesa Sony causó un gran escándalo en 2005, cuando se supo que los derechos de autor XCP (Extended Copy Protection) de diferentes CDs musicales fabricados por ellos habían sido ocultados con un rootkit. La multinacional había pretendido evitar así que se hicieran copias ilegales de los discos. El malware, sin embargo, revelaba información sobre la música que los clientes escuchaban en privado, infringiendo así las habituales leyes de protección de datos. La crítica más dura que obtuvo Sony, no obstante, fue porque dicho rootkit también se ocultaba frente a antivirus y permitía así a los hackers aprovecharlo para sus propios fines.
Casos similares, como el del juego de ordenador de EA Spore, de 2008 hacen temer a los expertos informáticos que en el futuro no solo los hackers, sino también cada vez más las grandes compañías utilizarán rootkits.
¿Cómo protegerse contra los rootkits?
Puesto que el encubrimiento es la especialidad de un rootkit, normalmente es difícil o casi imposible detectarlo y eliminarlo. Sin embargo, existen medidas que puedes tomar para estar más seguro.
Evitar una infección
Las medidas de seguridad frente a los rootkits son básicamente las mismas que también sirven para otros tipos de parásitos comunes:
- Usa programas de seguridad en tu ordenador.
- Cuida tu sistema con actualizaciones regulares.
- Amplía tu conocimiento sobre las formas más comunes de fraude en Internet, como por ejemplo el phishing.
- Utiliza contraseñas fuertes.
Además, existen otros consejos más específicos para evitar infecciones por rootkit.
- Consejo para legos en informática: usa tu cuenta de administrador lo menos posible, especialmente si estás navegando en Internet. Esa cuenta tiene muchos menos mecanismos de seguridad que la cuenta de usuario convencional. Puesto que la cuenta de usuario, además, solo tiene autorizaciones limitadas, los daños en caso de rootkit serán menores.
- Consejo para expertos: para evitar que un rootkit infecte tu BIOS y se haga así prácticamente imposible de eliminar, puedes usar una protección contra escritura, como por ejemplo un puente (jumper) en la placa base.
¿Cómo reconocer un rootkit?
La mayoría de los antivirus basan su búsqueda en firmas de rootkits ya conocidos o evalúan incidencias irregulares como la eliminación de datos para detectar programas maliciosos. El problema es que, a no ser que un rootkit en modo kernel mal programado se deje ver con constantes pantallas en azul, la mayoría de rootkits no dejan ver el menor indicio de la infección del sistema.
Además, como los rootkits cada vez se programan de forma más avanzada, se vuelven cada vez más difíciles de identificar. Ya existen, sin embargo, herramientas técnicas diseñadas especialmente contra los rootkits como, por ejemplo, el llamado rootkit scan: se trata de una función que algunos programas de seguridad ya contienen, pero para la cual también existen programas concretos. Algunos ejemplos son el Sophos Anti Rootkit y el Rootkit Remover de Bitdefender, ambos se pueden obtener gratis.
Este tipo de rootkit scan también se puede ejecutar mediante un boot CD. Este inicia el sistema independientemente del sistema operativo, de manera que un rootkit inactivo permanece y, con suerte, puede ser detectado por el rastreador de virus en el CD.
Eliminar un rootkit
Por desgracia, aún no existe ninguna opción cien por cien segura para eliminar un rootkit de un ordenador. El índice de éxito incluso en los programas de rastreo profesionales como AntiVir, Kapersky o Microsoft deja mucho que desear, según varios estudios. Por ello, la revista Computerbild recomienda usar al menos una combinación de tres de esos programas.
A pesar de todo, ya que algunos rootkits pueden esconderse en la profundidad de la BIOS, ni siquiera así se puede estar del todo seguro. Así, a menudo queda solo la opción de limpiar el soporte de datos e instalar de nuevo el sistema operativo para deshacerse del parásito de una vez por todas.
En resumen: la amenaza está presente
Los rootkits son un peligro especialmente persistente y pueden proporcionar a delincuentes el control total sobre tu ordenador. Conocer el peligro es el primer paso en la dirección correcta. La medida de protección más importante es, como es habitual, la prevención de la infección, ya que los rootkits son muy difíciles de detectar y, aún más, de eliminar. En esos casos, a menudo solo se puede instalar el sistema de nuevo.
Durante la conferencia Black Hat, en enero de 2006, se habló sin embargo de rootkits que sobreviven incluso tras reformatear el disco duro, por ejemplo, porque manipulan la ACPI (Advanced Configuration and Power Interface), que es la responsable de la gestión energética del ordenador, o porque anidan en la BIOS. Así pues, mientras no haya ninguna solución fiable, los rootkits probablemente seguirán siendo herramientas delictivas altamente complejas y, por lo tanto, un peligro.