Rootkit

Los Rootkit son unos software que permiten a un usuario no autorizado obtener el control de un sistema informático sin ser detectado.

Rootkit: Definición

Originalmente, en el contexto de los sistemas de tipo UNIX, un rootkit era un conjunto de herramientas pertenecientes al propio sistema operativo, como netstat, passwd y ps, que fueron modificadas por un intruso para obtener acceso ilimitado al ordenador, sin que esta intrusión fuera detectada por el administrador del sistema.

En el marco de la terminología del sistema UNIX, el administrador del sistema se llamaba "root", de ahí el término genérico para estas herramientas, que quedaban ocultas en el sistema una vez que habían obtenido privilegios de root.

Los sistemas Windows son hoy en día los sistemas operativos más extendidos, pero el concepto sigue siendo el mismo.

 

¿Qué es un rootkit?

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

Como se puede ver, esta última definición no representa en sí misma ningún tipo de efecto perjudicial para el sistema, sino que se trata de una tecnología que puede utilizarse con fines constructivos y destructivos.

 

¿Qué peligro presentan los rootkits?

En contra de la creencia popular, los rootkits no son herramientas que puedan ser utilizadas para exponer a un ordenador a riesgos.


Rootkits en UNIX

En los sistemas UNIX, los rootkits se utilizan como una forma de garantizar el acceso continuo a un ordenador remoto que ha sido previamente comprometido para, por ejemplo:

  • Instalar puertas traseras a través de las cuales se pueda acceder al ordenador.
  • Ocultar las modificaciones que se han realizado en la configuración.
  • Ocultar los registros dejados como registro de intrusión en el sistema.

Rootkits en Windows

Para los sistemas Windows el objetivo sigue siendo similar: ocultar la existencia de otros elementos en el ordenador, de forma que tanto su presencia como su ejecución no sean detectadas por el usuario e, incluso, por el propio software de seguridad. Si estos elementos son virus, el propietario del ordenador se enfrenta a un problema realmente grave.

Este hecho está en perfecta consonancia con la dinámica del malware. Dado que el objetivo del malware es cometer delitos de información con el fin último de obtener beneficios económicos, es de suma importancia que pase desapercibido o no sea detectado. De esta forma, el malware permanecerá activo en el ordenador durante el mayor tiempo posible, sin ser detectado.


Beneficios potenciales del uso de Rootkits

Aunque sus implicaciones deben ser cuidadosamente consideradas, existen beneficios potenciales del uso de rootkits, que pueden aplicarse legítimamente a las siguientes áreas:

  • Supervisión de los empleados.
  • Protección de datos intelectuales.
  • Protección de programas contra actividades de malware o errores de usuario (por ejemplo, borrado accidental).

 

¿Cuáles son los diferentes tipos de rootkits?

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


Persistencia:

Un rootkit persistente es aquel que se activa cada vez que se inicia el sistema. Para ello, debe almacenar su código de alguna manera dentro del dispositivo, y también debe tener alguna forma de iniciarse automáticamente.

Por otro lado, un rootkit no persistente no es capaz de volver a ejecutarse automáticamente después de reiniciar el sistema.


La forma en que se ejecutan:

Modo de usuario: este tipo de rootkit engancha las llamadas del sistema y filtra la información devuelta por las APIs (Application Programming Interface).

Modo kernel (núcleo del sistema operativo): estos rootkits modifican las estructuras de datos del kernel, así como enganchan las propias APIs del kernel.

 

¿Cómo puedo protegerme de los rootkits?

Las siguientes técnicas pueden utilizarse para detectar la existencia de rootkits en un sistema:


Detección basada en firmas:

Tecnología madura que ha sido utilizada con éxito por las empresas antivirus durante muchos años. Esta tecnología se basa en escanear archivos y compararlos con una colección de firmas de malware conocido.


Detección heurística o basada en el comportamiento:

Identifica los rootkits reconociendo cualquier desviación en la actividad normal del ordenador.


Detección por comparación:

Compara los resultados devueltos por el sistema operativo con los obtenidos a través de llamadas de bajo nivel; si se detecta alguna diferencia, existe un rootkit en el sistema.


Detección basada en la integridad:

Muestra la existencia de un rootkit comparando archivos y memoria con un estado de prueba que se sabe que es fiable.

Cada una de estas técnicas tiene sus limitaciones, por lo que es muy recomendable integrar diferentes tecnologías. También hay que tener en cuenta que algunos de estos rootkits están diseñados expresamente para evitar ser detectados por las empresas antivirus que lideran el mercado.

La primera línea de defensa contra los rootkits consiste en evitar que entren en tu ordenador. Para ello, ten en cuenta los siguientes consejos básicos sobre protección contra el malware:

  • Instalar una buena solución antimalware en su ordenador y mantenerla siempre activada y actualizada.
  • Instalar un cortafuegos para proteger contra el acceso no autorizado a tu equipo.
  • Asegurarse siempre de que las aplicaciones instaladas en tu ordenador estén actualizadas, así como de instalar los parches de seguridad suministrados por los fabricantes.

Sin embargo, la tarea de protegerse contra los rootkits no debe tomarse a la ligera y no puede limitarse a una serie de medidas de protección genéricas.