Founder of MalwareIntelligence, a site dedicated to research on all matters relating to anti-malware security, criminology computing and information security in general, always from a perspective closely related to the field of intelligence.

jueves, 1 de octubre de 2009

Rompiendo el esquema convencional de infección

Luego de varios años de estar en el ámbito de seguridad de la información, y en particular seguridad antivirus, uno tiene la suerte de escuchar comentarios que intentando justificar lo injustificable se asemejan más a mitos que a verdades.

Hace poco tiempo un periodista nos preguntaba cuál es nuestra sensación frente a usuarios medianamente avanzados que aseguran no necesitar software de seguridad antivirus porque saben lo que realmente tienen en su equipo.

Si bien esto puede ser cierto, creo que no debemos pecar de arrogantes. ¿Qué quiero decir con esto? Muchas veces confiamos en saber lo que hacemos y luego nos encontramos con que aquello que parecía trivial resulto ser muy peligroso. Obviamente el caso utópico seria el de un usuario conciente de los peligros que existen en la nube (esta palabra tan de moda para referirse a Internet) y obre en consecuencia a través de mecanismos de prevención.

Sin embargo, muchas veces, esos aspectos triviales nos llevan a crear en nuestra mente una falsa sensación de seguridad, creyendo que la tenemos cuando en realidad no. Trasladado este aspecto al mundo del malware, es más habitual de lo que se cree.

Repasemos en primera instancia la estructura de un código malicioso convencional. Podríamos decir que se encuentra, básicamente, compuesto de tres módulos: de daño, de auto-defensa y de comunicación.

El módulo de daño, está diseñado para ejecutar las instrucciones dañinas como la eliminación de información, el cifrado de archivos, el envío de spam, de mensajes a los contactos del MSN, de ejecutar ataques DDoS, keylogging, entre muchas cosas más.

El módulo de auto-defensa se encargará de controlar aquellos aspectos que atenten contra sus instrucciones maliciosas, por ejemplo, desactivando los programas de seguridad (firewall, antivirus); bloqueando el acceso a funcionalidades nativas del sistema operativo (registro, CMD, Administrador de tareas), incluso bloqueando también el acceso a las páginas web de los antivirus para evitar su actualización. En este módulo también se incluyen técnicas más avanzadas como rootkit, detección de máquinas virtuales, anti-debugging, entre otros.

En cuanto al módulo de comunicación, que no necesariamente tiene que estar presente pero que es característico del malware actual, se encargará de establecer una comunicación contra un servidor malicioso (que puede ser una zombi) para descargar otros códigos maliciosos, actualizar su propio código, continuar con su ciclo de propagación, manipular la conexión de red (DNS, SMTP, proxys HTTP), cifrar la información robada, y más dependiendo del tipo de malware.

Todas estas actividades permiten evidenciar la presencia de malware en el equipo, y de ellas se aferran las soluciones antivirus durante el proceso de detección. Sin embargo… ¿qué pasa cuando este esquema se rompe? Esto sucede en el siguiente ejemplo:

Tenemos un archivo que se propaga a través de correo electrónico simulando ser un video, su nombre es videotestimonio.mpeg.exe (Ingeniería Social aplicada al archivo). El usuario ejecuta ese archivo e inmediatamente se ejecuta una instancia del navegador que muestra un video alojado en YouTube que hace referencia a lo que alude el nombre del archivo.

Es decir, no quedan procesos residentes en memoria, no se manipula ninguna clave del registro, la PC no presenta síntomas extraños y el usuario visualizó lo que se le prometió. Sin embargo, en segundo plano pasó algo.

El código malicioso agregó información en el archivo host llevando a cabo un ataque de pharming local, destinado a realizar ataques de phishing contra la víctima. En este caso, el malware no posee módulos de comunicación, ni de auto-defensa, sólo un módulo de ataque que lo único que hace es agregar información en el host; rompiendo así el esquema convencional de infección. En base a esto… ¿la máquina está infectada? Sí ¿el antivirus lo detectará? Lo más probable es que no porque el archivo host no es un malware.

En cuanto al desarrollo del código malicioso, también es trivial. Simplemente se compone de un archivo .bat (video.bat) que posee las instrucciones necesarias para agregar información en el archivo host, comprimido con WinRAR generando un archivo SFX (videotestimonio.mpeg.exe) con dos líneas de código que ejecutan el archivo .bat.

Independientemente de lo trivial del malware. Los efectos que se pueden lograr a través de esta técnica son muy peligrosos. Además, la tasa de detección es muy baja. Sólo el 12/41 (29.27%).

Evidentemente, la confianza no es tan saludable, sobre todo en un ambiente tan ambiguo como lo es Internet.

Información relacionada
Propagación automática de códigos maliciosos vía http
Simbiosis del malware actual. Koobface
Análisis esquemático de un ataque de malware basado en web

Pistus

3 comentarios:

Sebastián dijo...

Confundir conciencia con seguridad es, como vos decís, para los arrogantes.

Yo les preguntaría a la gente que dice eso si compran autos sin airbag o no utilizan el cinturón de seguridad, solo por el hecho de que saben manejar bien o son conscientes.

Jorge Mieres dijo...

jejejeje, muy buena analogía :-)

Saludos.

Anonymous dijo...

La conciencia es la base de la seguridad, si se esta seguro de ser conciente de la seguridad, y concientemente se asegura la concientizacion....

JAJA!!! coincido con Sebastián, y le sumo "si no puedes con ellos confúndelos".....

Publicar un comentario en la entrada