Introducción
En 2008 nuestra compañía constató la aparición del programa nocivo Backdoor.Win32.Sinowal y lo calificó como extremadamente peligroso desde el punto de vista tecnológico.
Se le asignó esta apreciación porque los autores del programa usaron las tecnologías de creación de virus más avanzadas del momento:
- La inoculación “individual” de la infección a los usuarios de sitios afectados por una gran cantidad de diferentes vulnerabilidades, incluyendo algunas de ‘día cero’.
- El uso de avanzadas tecnologías rootkit y métodos de discos de arranque para infectar el MBR del equipo del usuario. Los métodos de infección de los sectores de inicio de los discos eran muy populares en los albores de la época de los virus informáticos, y su aparición en estos tiempos se considera un renacimiento de las antiguas tecnologías, pero en un nuevo nivel. El problema se hace más profundo porque muchos de los antivirus recientemente desarrollados no tienen la capacidad de analizar el MBR, porque se juzgaba que esta amenaza ya era obsoleta.
- El uso de tecnologías de migración constante de los servidores de administración e infección (cambio de sus direcciones IP y nombres de dominio). Los equipos infectados usaban un algoritmo especial de formación del nombre de dominio para facilitar la búsqueda de sus centros de administración. Más tarde se usaría una tecnología similar en los programas maliciosos de la familia Kido (Conficker).
Un año después, estas tecnologías y métodos maliciosos se han convertido en ‘clásicos’ y ahora se los usa en muchos y variados programas nocivos. Pero los programadores del bootkit en cuestión no se han detenido en la tarea de crear, desarrollar y propagar sus tecnologías.
De esta manera, actualmente el bootkit es el programa malicioso más avanzado: es invisible e indetectable para la mayoría de los programas antivirus modernos.
A finales de marzo de 2009 los expertos de Kaspersky Lab detectaron en Internet la propagación de una nueva modificación del bootkit. En este artículo presentamos los resultados del análisis de su funcionamiento y métodos de propagación.
Estado actual
Al analizar el desarrollo del bootkit, podemos señalar que los cambios más significativos son:
1. Su modo de difusión
En este momento, el bootkit se propaga mediante sitios craqueados, de pornografía y sitios de software pirata. Casi todos los servidores que participan en el proceso de infectar al usuario, a todas luces tienen indicios de usar la lengua rusa: funcionan en el marco de los así llamados ‘programas de partners’, que son esquemas de interacción entre los propietarios de los sitios y los autores de los programas nocivos. Estas estructuras de ‘partners’ son muy populares en el espacio cibernético ruso y ucraniano.
Entre la nuevas tecnologías que usan está el mecanismo de creación del nombre de dominio que se asigna al sitio desde donde se difundirán los exploits.
Cuando un usuario visita una página web infectada, en su equipo empieza a ejecutarse un script que, basándose en la fecha establecida en el ordenador genera el nombre de sitio al que se remitirá al usuario para recibir su exploit ‘personal’.
Parte del script de generación del nombre del sitio con los exploits, después de haber sido descifrada
Esta tecnología hace que sea prácticamente imposible utilizar el método clásico de las listas de rechazados para bloquear el acceso a los sitios con los exploits. Sin embargo, los investigadores tienen la posibilidad de analizar el algoritmo de generación de los nombres, averiguar cuales de ellos serán usados y bloquearlos.
El script incrustado en las páginas web infectadas, además de la generación del nombre de dominio y dependiendo de la fecha en curso, crea también un fichero de cookies válido durante 7 días. Su propósito es evitar que el navegador abra por segunda vez la página con el Neosploit en caso de que el usuario visite la página web varias veces. El script comprueba la presencia del fichero cookies y si éste está presente y su periodo de validez no ha caducado, no genera el nombre de dominio y no se remite al usuario al Neosploit.
2. Las tecnologías de los rootkits
Los bootkits siguen usando un método basado en la infección del MBR para ejecutar su driver durante el inicio del sistema operativo. El driver se usa para evitar la detección y el tratamiento del sector de inicio infectado. Las primeras versiones interceptaban los procedimientos IRP del objeto DriverDisk, pero como las tecnologías de lucha contra los programas maliciosos tampoco dejan de desarrollarse, los creadores de virus se vieron obligados a hacer grandes cambios en su algoritmo de funcionamiento. La variante actual del rootkit usa una tecnología más avanzada que la de la versión anterior para ocultar su presencia en el sistema. En este momento ninguno de los rootkits conocidos usa los métodos descritos a continuación.
Al iniciarse el driver malicioso se constata la presencia de un depurador activo. Si está presente, el rootkit no oculta el MBR infectado y no revela de ninguna manera su presencia en el sistema.
Para convertirse en prácticamente invisible, el rootkit reemplaza el indicador de tipo del dispositivo. Este tipo es una estructura distribuida en la cual el driver malicioso sustituye el indicador de función (ParseProcedure).
Instalación del interceptor de función para suplantar el MBR
En caso de que el programa antivirus quiera obtener acceso de bajo nivel al disco físico, se hará una llamada a la función suplantada. A su vez, en esta última se interceptará el procedimiento IRP de un driver de nivel aún más bajo que DriverDisk y de la función que se llame al cerrar el disco abierto anteriormente. Tan pronto como se cierre el disco, todas las intercepciones volverán a su estado anterior.
Driver ATAP de bajo nivel del sistema infectado
Merece una mención especial el código del driver, que ha sufrido cambios sustanciales durante este tiempo. La mayoría de las funciones clave que instalan los interceptores de las funciones del sistema operativo son interceptores que cambian de forma, lo que complica el procedimiento de análisis del código malicioso.
Ejemplo cifrado de la función de intercepción
Métodos de defensa
A pesar de que varias compañías antivirus también han detectado esta variante del bootkit y han desarrollado ciertos métodos para detectarlo, Kaspersky Lab es la única compañía que brinda una protección fiable a sus usuarios contra el bootkit en todas las etapas de su funcionamiento.
Si el usuario visita una página infectada, Kaspersky Internet Security bloquea:
- El acceso al nombre de dominio generado que se asigna al sitio que contiene el exploit:
- Los scripts de creación y descarga de los exploits:
- Los exploits más peligrosos en vigencia:
La parte más compleja e importante de Kaspersky Internet Security es la detección del bootkit activo y la curación del equipo infectado.
La primera versión de Sinowal apareció a principios de 2008, pero incluso hasta octubre de 2008 sólo 4 de los 15 antivirus más populares podían detectarlo y curarlo. (vínculo en ruso: http://www.anti-malware.ru/malware_treatment_test_2008).
La variante del bootkit de 2009, por desgracia, sigue siendo un problema serio. En nuestro antivirus existe la solución:
Después de detectar la amenaza, nuestro antivirus elude todos los interceptores establecidos por el rootkit y cura el MBR infectado:
La defensa en todas y cada una de las etapas del funcionamiento del bootkit (desde la visita al sitio infectado hasta la curación de la infección activa) es de vital importancia, ya que si no se lo detecta, aunque sea en una de las etapas, los delincuentes pueden eludir todos los demás métodos de defensa e infectar el equipo, haciendo que el programa malicioso se mantenga invisible durante mucho tiempo.
Conclusión
Los bootkits continúan siendo los programas maliciosos más peligrosos y de difusión más rápida. Y es precisamente para su creación y propagación para lo que se han creado las tecnologías de escritura de virus en estos últimos tiempos.
Las compañías antivirus deben hacer un atento seguimiento de todas las modificaciones y nuevas tecnologías introducidas por los autores del bootkit, ya que los autores de virus no tardarán en usar estas tecnologías a gran escala.
Pero es aún más importante optimizar las tecnologías y productos antivirus existentes para contrarrestar no sólo los intentos de infección de ordenadores, sino también detectar las complejísimas amenazas que operan en el sistema operativo a un nivel de profundidad si precedentes.
El Bootkit de 2009