Rootkits: malware casi invisible

Rootkits: malware casi invisible

El malware se oculta para aumentar su vida útil y evitar ser detectado

Los rootkits están lejos de ser una novedad, ya que tienen su origen en las plataformas UNIX. Sin embargo, durante los últimos años, se han utilizado cada vez con mayor frecuencia para ocultar la existencia de malware peligroso dentro de ordenadores previamente comprometidos.

¿Qué es un rootkit?

Originalmente, cuando se hablaba de sistemas de tipo UNIX, un rootkit se refería a un conjunto de herramientas propias del sistema operativo, como netstat, passwd y ps, que eran modificadas por un intruso para asegurarse el acceso ilimitado al ordenador, sin que pudiera ser detectado por el administrador del sistema.

Dentro de la terminología propia de un sistema UNIX, el administrador del sistema se denomina root, de ahí el nombre genérico con el que se denota a dichas herramientas: equipo para permanecer oculto en el sistema cuando se han obtenido privilegios de root.

Actualmente, los sistemas Windows son mayoritarios, aunque el concepto sigue siendo el mismo.

Un rootkit de Windows es un programa que oculta determinados elementos (archivos, procesos, entradas del Registro de Windows, direcciones de memoria, conexiones de red, etc.) frente a otros programas o el propio sistema operativo.

Como se puede ver, esta definición no incluye en sí misma ningún efecto perjudicial sobre el sistema. Es una tecnología que puede utilizarse con ánimo constructivo o destructivo.

[Subir]

¿Cuál es el peligro de los rootkits?

De este modo, y contrariamente a lo que suele ser una creencia popular, los rootkits no son herramientas mediante las cuales se consigue comprometer un ordenador.

En sistemas UNIX, los rootkits son empleados con objeto de garantizar la continuidad del acceso a un ordenador remoto previamente comprometido, entre otros:

  • Instalar puertas traseras mediante las cuales acceder al ordenador.
  • Esconder las modificaciones realizadas en la configuración.
  • Ocultar los registros dejados como consecuencia de la intrusión en el sistema.

Para sistemas Windows el objetivo sigue siendo similar: ocultar la existencia de otros elementos dentro del ordenador, de modo que tanto su presencia como su ejecución pasen inadvertidos a los ojos del usuario e incluso del software de seguridad. Si dichos elementos son de naturaleza vírica, nos encontraremos ante un verdadero problema.

Ya durante el año 2005, se empezaron a detectar las primeras variantes de malware que utilizaban rootkits (herramientas externas, o incluso técnicas propias incluidas en su código) para evitar ser detectados. Bots, adware y spyware han añadido estas características a las suyas propias, y esta tendencia no ha hecho más que aumentar en períodos sucesivos.

Este hecho se alinea a la perfección con la dinámica actual del malware. Si el objetivo es la realización de delitos informáticos mediante los cuales conseguir beneficios económicos, está claro que será de vital importancia pasar lo más inadvertido posible. De esta forma, se maximizará la cantidad de tiempo que el crimeware consiga estar activo dentro del ordenador, y sin poder ser detectado.

Por otra parte, también se perciben beneficios potenciales de la utilización de rootkits, aplicada legítimamente en las siguientes áreas:

  • Monitorización de empleados.
  • Protección de derechos intelectuales.
  • Protección de programas de las acciones del malware o de acciones erróneas del usuario (borrado accidental, por ejemplo).

Al hilo de esta posible utilización beneficiosa, hubo un caso que obtuvo una gran cobertura en los medio de comunicación a finales de 2005, cuando el experto Mark Russinovich descubrió que el sistema de protección anti-copia que Sony había incluido en varios de sus productos incluía un rootkit denominado XCP, con el fin de evitar la desactivación de dicha protección.

Después de que fuera publicado un análisis detallado del mismo, no tardaron en aparecer ejemplares de malware (por ejemplo, el backdoor Ryknos.A) que hacían un uso malicioso de dicho rootkit para ocultarse en los sistemas en los que estuviera instalado el sistema anti-copia.

Finalmente, Sony se vio obligado a proporcionar una herramienta para eliminar el componente rootkit y desinstalar el sistema anti-copia.

Como se puede comprobar a la luz de este ejemplo, incluso en el caso de utilización legítima de un rootkit, hay implicaciones que deben ser cuidadosamente tenidas en cuenta.

[Subir]

¿Qué tipos de rootkits existen?

Los rootkits se pueden clasificar de acuerdo a las siguientes características:

  • Persistencia:
    Un rootkit persistente se activa cada vez que el sistema se inicia. Por ello, necesita almacenar su código de alguna forma dentro del ordenador, y debe tener algún modo de conseguir iniciarse automáticamente.
    Por el contrario, un rootkit no persistente no es capaz de volver a ejecutarse automáticamente después de que el ordenador sea reiniciado.
  • Modo en el que se realiza su ejecución:
    Modo Usuario: los rootkits de este tipo interceptan las llamadas del sistema y filtran la información que devuelven las API (Application Programming Interface). El rootkit de este tipo más conocido es Hacker Defender.
    Modo Kernel (núcleo del sistema operativo): estos rootkits modifican estructuras de datos del kernel, e interceptan las API propias del kernel. Es el método más fiable y robusto de interceptar el sistema.

En cuanto a otros métodos o técnicas que se pueden utilizar para producir rootkits, figura el caso de la Universidad de Michigan y Microsoft. En marzo de 2006, desarrollaron un rootkit basado en tecnología virtual. Se basa en modificar la secuencia de arranque del ordenador, de modo que es cargado en lugar del sistema operativo. Después, el propio rootkit se encarga de cargar el sistema operativo, como si se tratara de una máquina virtual, de modo que toda la comunicación entre el sistema operativo y el hardware es interceptada. Una vez instalado, es prácticamente indetectable.

[Subir]

¿Cómo puedo protegerme de los rootkits?

La lucha contra los rootkits es una carrera armamentística, en la cual sus creadores desarrollan medidas que tratan de evitar la detección, al mismo tiempo que las compañías de seguridad despliegan contramedidas que protejan a sus clientes.

Las técnicas que se emplean para detectar la existencia de rootkits dentro de un sistema son las siguientes:

  • Detección basada en firmas: tecnología madura, empleada con éxito por las compañías antivirus desde hace bastantes años. Se basa en analizar los archivos y compararlos con un conjunto de firmas de malware conocido.
  • Detección heurística o basada en el comportamiento: identifica los rootkits reconociendo desviaciones en la actividad normal de un ordenador.
  • Detección por comparación: compara los resultados devueltos por el sistema operativo y los obtenidos mediante llamadas a muy bajo nivel; si existen diferencias, se habrá reconocido la presencia de un rootkit.
  • Detección basada en integridad: demuestra la existencia de un rootkit mediante la comparación de los archivos y memoria con un estado de pruebas que se sabía confiable.

Cada una de estas técnicas tiene sus propias limitaciones, por lo que es recomendable una aproximación que integre varias tecnologías distintas. A esto se suma el hecho de que algunos rootkits son desarrollados ex profeso para evadir su detección por las compañías antivirus con mayor cuota de mercado.

La primera línea de defensa contra los rootkits consiste en prevenir que entren en su ordenador. Para ello, tenga en cuenta los consejos básicos de protección frente al malware:

  • Instale una buena solución antimalware en su ordenador, y manténgala permanentemente activa y actualizada.
  • Instale un cortafuegos que le proteja de accesos no autorizados a su ordenador.
  • Mantenga las aplicaciones instaladas en su ordenador siempre actualizadas, instalando los parches de seguridad proporcionados por los fabricantes.

Sin embargo, la labor de protegerse contra los rootkits no es trivial y no puede encomendarse únicamente a una serie de pautas de protección genéricas.

Con objeto de ayudar a los usuarios a detectar la existencia de rootkits en su ordenador y poder eliminarlos del sistema con total seguridad, Panda Security pone a su disposición la herramienta Panda Anti-Rootkit. Utilice gratuitamente esta herramienta para detectar y eliminar cualquier posible rootkit de su ordenador.

[Subir]