No toda la detección de programas maliciosos se crea igual

Fraser Howard, Analista Principal, Sophos

Internet es el conducto principal para la infección de usuarios con malware. SophosLabs informó que en 2009, todos los días se descubrieron 23 500 nuevas páginas web infectadas. Es decir, una cada aproximadamente cuatro segundos, cuatro veces peor que en el mismo período en 20081. Los autores de malware son muy exitosos con un método conocido: comprometer sitios legítimos, populares y de alto volumen de tráfico a fin de impulsar el proceso de infección 2.

Los usuarios que visitan un sitio que remite a otras páginas no tienen manera de saber que el sitio está comprometido porque el código malicioso es invisible pero se ejecuta tan pronto como la página se descarga en el navegador del usuario. Generalmente, el código utiliza scripts de sitios para ir a buscar un ataque aun más malicioso desde un sitio de terceros que luego intentará aprovechar una de las muchas amenazas conocidas en el navegador o en el sistema operativo para infectarlo, robar datos o modificarlo en una red de zombis.

El alcance de estos ataques no debe subestimarse, ya que están dirigidos a todo tipo de sitios, desde sitios del gobierno hasta instituciones educativas, conocidos portales de noticias, blogs y redes sociales.

Dado que los proveedores de seguridad añaden detección para este tipo de código malicioso, los atacantes evolucionan constantemente para evitar que los atrapen. A medida que este juego del gato y el ratón se intensificaba, los atacantes comenzaron a utilizar JavaScript para la distribución de los ataques.

  • JavaScript es muy poderoso y universal y cuenta con muchas funcionalidades compatibles en todos los navegadores y sistemas operativos.
  • La gran flexibilidad de JavaScript permite ocultar (o camuflar) el código malicioso.

En la Figura 1, se ilustra de manera sencilla. En A, se insertó un simple iframe con HTML en la página, lo que hará que el navegador cargue contenido malicioso desde un sitio remoto específico cuando se visualice la página.

En B, se insertó un código corto de JavaScript en la página. El ataque no es visible a los ojos de manera inmediata; está utilizando un camuflaje muy sencillo. En realidad, el ataque es el mismo que en A. El código JavaScript simplemente escribe el mismo objeto iframe en la página cuando se visualiza en el navegador.

Figura 1: ejemplo de una página web que está en peligro de diferentes maneras, pero donde el ataque es exactamente el mismo. El iframe insertado (A) y el código (B) hacen que el navegador cargue contenido desde el sitio remoto malicioso cuando se navega por la página web.

La flexibilidad de JavaScript permite que este ataque se camufle de muchas maneras en B. Esto representa un problema para los escáneres de contenido porque el ataque se oculta de manera efectiva cuando se escanea el contenido de la página. Por lo tanto, la detección genérica proactiva es más difícil de lograr.

SophosLabs observó una gran cantidad de ataques de destrucción masiva en 2009 en los que decenas de miles de sitios legítimos estuvieron en peligro (las páginas tenían código JavaScript malicioso insertado). Estos ataques siempre utilizan código JavaScript excesivamente camuflado para evitar su detección en un período de tiempo lo más extenso posible.

Un buen ejemplo es Gumblar3, en el que se insertó un código malicioso que utilizaba una sustitución de caracteres sencilla para ocultar el ataque en varios sitios (Figura 2A). Como puede ver, el ataque no es visible en el código insertado. Pero después de simplificar el código de manera manual, el ataque es evidente (Figura 2B), la carga de un código malicioso desde un sitio remoto.

Figura 2: código malicioso (A) insertado en páginas legítimas como parte de los ataques de destrucción masiva Gumblar en 2009. En (B), se muestra el código simplificado manualmente.

Los ataques de destrucción masiva como Gumblar pueden tener un gran alcance. Inmediatamente después de añadir la detección (como Troj/JSRedir-R), esa amenaza rápidamente pasó a estar en primer lugar en las estadísticas de amenazas web de SophosLabs, por lo que se le quitó importancia a otras amenazas en aquel momento (Figura 3).

 Figura 3: principales amenazas web detectadas entre el 6 y el 13 de mayo de 2009. Troj/JSRedir-R (también conocido como Gumblar) reduce la importancia de las demás detecciones más de un 40% según todos los informes.

Compresores comerciales de código

Camuflar el código JavaScript no tiene nada de malicioso. En realidad, hay herramientas comerciales disponibles que pueden utilizarse para camuflar el código. ¿Por qué?:

  • Protección de propiedad intelectual: es posible que los usuarios opten por utilizar esas herramientas para camuflar el código con el propósito de evitar que otros lo copien.
  • Eficiencia: algunas herramientas pueden producir códigos más pequeños que se descargan más rápido, los cuales resultan en sitios con gran capacidad de respuesta.

Esto ocasiona otro problema para los analistas y los escáneres de contenido. Cuando los atacantes utilizan herramientas comerciales para camuflar los códigos maliciosos, los analistas de malware deben ser cuidadosos de no generar un falso positivo en los códigos legítimos camuflados con la misma herramienta4.

Polimorfismos en el servidor (SSP)

Muchas de las amenazas actuales también utilizan técnicas avanzadas de codificación en el servidor para crear código malicioso polimórfico. Por ejemplo, en 2009, SophosLabs identificó varios ataques dedicados a infectar usuarios con Zbot 5,6  que estaban utilizando SSP de manera agresiva. En estos ataques, los códigos maliciosos utilizados para explotar las vulnerabilidades en las máquinas de los usuarios se crearon de manera dinámica en el servidor, lo que deriva en un código ligeramente diferente en cada solicitud.

SSP es básicamente un caso especial de camuflaje que, una vez más, plantea un desafío para los analistas de malware y escáneres de contenido.

Documentos PDF maliciosos

SophosLabs informa acerca de la utilización extendida de documentos PDF en ataques en 20097. La razón es que los atacantes se dirigen de manera agresiva a las vulnerabilidades de las aplicaciones comunes para la lectura de documentos PDF a fin de infectar a los usuarios. Lo que es menos sabido es que JavaScript se utiliza generalmente en esos ataques.

Adobe Acrobat permite incrustar JavaScript en archivos PDF8 para crear documentos dinámicos. Sin embargo, esto ofrece un mecanismo para que los atacantes realicen archivos PDF maliciosos que utilizan JavaScript incorporado para explotar las vulnerabilidades de las aplicaciones.

Tanto el camuflaje del código como las técnicas de SSP analizadas con anterioridad pueden aplicarse al código JavaScript incorporado en archivos PDF.

Cómo Sophos lo hace mejor: resolución mejorada de JavaScript

En el motor central contra programas maliciosos, se incluirá la nueva función espacialmente diseñada para ofrecer una mejor resolución de JavaScript. A continuación, se mencionan las mejoras:

  • Capacidad de acortar y analizar JavaScript: permite a los analistas de SophosLabs escribir detecciones genéricas de manera más eficiente para el contenido de JavaScript.
  • Emulación de JavaScript: el principal motor antivirus incluye un emulador de JavaScript que ofrecerá un mecanismo genérico para simplificar los contenidos del código. Esto permite al motor ver la carga útil del código, por lo que proporciona un estímulo importante para la detección genérica proactiva.

El motor anti-malware de Sophos existente (y algunos de los motores de la competencia) ya tienen, en parte, la capacidad de “desempaquetar” los códigos camuflados. Entonces, ¿en qué se diferencia esta nueva tecnología? Las actuales tecnologías para desempaquetar confían en el reconocimiento de camuflajes específicos y en la escritura del código para manejar cada uno (donde sea posible). En la actualidad, este enfoque no progresa al mismo ritmo que el volumen de programas maliciosos. Los códigos pueden camuflarse, prácticamente, de infinitas maneras, y sabemos que los atacantes modifican sus técnicas con frecuencia. Se requiere una solución genérica para descubrirlos. Esto es lo que ofrece la emulación de JavaScript.

Los beneficios clave de esta nueva tecnología para los clientes de Sophos son los siguientes:

  • Aumento en las tasas de detección de documentos PDF y contenido de código malicioso
  • Aumento de la protección proactiva (día cero) contra nuevos ataques

En noviembre de 2009, Sophos Web Security and Control incluirá está funcionalidad en el motor central anti-malware. Esta actualización se distribuirá a todas las aplicaciones de los clientes como parte del paquete de actualización mensual (no se requerirá trabajo adicional).

Desde comienzos de 2010, la tecnología se incluirá en el componente Objeto auxiliar de explorador (BHO) de Sophos Endpoint Security and Data Protection, que ejecuta y protege a Internet Explorer para que no procese los programas maliciosos en las solicitudes.

Para obtener más información sobre Sophos, visite:http://esp.sophos.com

download Descargue nuestra herramienta gratuita para la eliminación de virus
Encuentre las amenazas no detectadas por su antivirus