Publicado por Javier Guerrero,  Jueves 2 de Septiembre de 2010

Hace ya mucho que el malware abandonó su afán de notoriedad y lejos quedan ya aquellas infecciones masivas, como la del gusano “I love you” que tanto daban que hablar incluso en medios no especializados.

Hoy en día, la profesionalización de sus creadores y su búsqueda de beneficios económicos ha hecho que todo virus, gusano o troyano necesite pasar lo más desaperbicido posible, puesto que la ignorancia del usuario es un ingrediente esencial para conseguir sus objetivos. En otras palabras, un virus invisible es muchísimo más peligroso que uno detectable a simple vista.

¿Y cómo se puede “ver” el malware?

Bien, no hay que olvidar que no es más que software, y todo software deja sus huellas en el sistema donde se instala: no sólo el archivo o archivos que contienen al intruso, sino también claves del registro , carpetas, reportes de actividad, etc. Cualquier herramienta que nos permita listar ficheros o valores de registro, como Windows Explorer o Regedit, dejará en evidencia a cualquier intruso que no sepa ocultar sus huellas.

Es en este contexto donde entran en acción los rootkits. Un rootkit es un componente de software cuyo único y exclusivo propósito es la ocultación de elementos del sistema, como ficheros, procesos, claves de registro, etc, de tal forma que el usuario no pueda verlos. Para ello, se introducen en la capa más crítica del sistema operativo, el kernel, y manipulan determinadas funciones y estructuras internas, consiguiendo engañar a las aplicaciones y evitando que éstas muestren el contenido “real” de nuestro sistema.

Por ejemplo, supongamos que un virus cuyo nombre binario es “malo.exe” se instala en la carpeta “C:WindowsSystem32”

Cuando el intruso se cargue en memoria, el rootkit manipulará las funciones del sistema que se encargan de enumerar los ficheros de esa carpeta, de tal forma que al detectar la aparición de la ruta “C:WindowsSystem32MALO.EXE”, la ignorará y pasará a la siguiente. De este modo, una aplicación que solicite la enumeración de archivos no podrá “ver” dicha carpeta; y lo mismo ocurrirá con claves de registro, procesos, y cualquier otro componente del sistema que el rootkit quiera esconder.

Es interesante resaltar que, en sentido estricto, el rootkit no es “maligno” per se, pudiendo ser empleado en prácticas totalmente legítimas o, al menos, que nada tienen que ver con el malware. De hecho, el término “rootkit” empezó a ser conocido a gran escala a raíz del incidente protagonizado por la compañía Sony.

En 2005 Sony BMG Music introdujo, en algunos de sus CDs musicales, un software de protección contra copia que instalaba además un rootkit para ocultar dicho esquema de protección. Lo malo del caso es que lo hacía sin autorización del usuario, enviaba información sobre el mismo, creaba un agujero de seguridad en el sistema, y si se intentaba eliminar manualmente, lo dejaba inservible.

Resulta evidente, por tanto, la alta peligrosidad de cualquier malware que incluya un componente de rootkit, puesto que le aporta una elevadísima capacidad de ocultación y le permite controlar el sistema sin que el usuario pueda darse cuenta. Además, el rootkit es una de las amenazas más complejas, avanzadas y difíciles de combatir, ya que actúa a un nivel tan interno que las técnicas habituales de detección en memoria no sirven, y se debe recurrir a scanners específicos, como nuestro detector gratuito Panda Anti-Rootkit.

En cualquier caso, no hay que olvidar que cualquier rootkit se introducirá en nuestra máquina a través de un archivo, por lo que los habituales consejos que damos para otro tipo de malware también se aplican al rootkit: usar un buen detector, mantenerlo actualizado, utilizar firewall, mantener el sistema con los últimos parches de seguridad, no usar la cuenta de administrador cuando no sea estrictamente necesario, etc.

Así que ya sabéis….cuidado con los rookits!!

Javier Guerrero Díaz
Dpto. Desarrollo I+D
Panda Security