Problemas de los antivirus perimetrales con algunas versiones de Bagle

Algunas de las numerosas variantes de Bagle tienen la particularidad de
propagarse como un archivo ZIP protegido con contraseña.

Esta característica ha supuesto un contratiempo para los antivirus, en

especial para los situados en los servidores de correo, que en principio

no contaban con mecanismos para detectar este tipo de archivos, de forma

que estas muestras llegaban infectadas al buzón de los usuarios.

Este problema ya lo predecíamos en Hispasec el pasado diciembre, bajo el

título “Gusano invisible a filtros y antivirus perimetrales”

(http://www.hispasec.com/unaaldia/1863). A continuación reproducimos un

par de extractos de aquella nota:

“Desde el punto de vista de un

antivirus en el perímetro la detección se produce a través del análisis

del código. Una vez extraído el ejecutable que se encuentra en el ZIP,

se compara su código con una base de datos de firmas de virus (porciones

de código de los virus conocidos). Si existe coincidencia, hemos

encontrado al gusano.

Si además de comprimir, utilizamos funciones de

contraseña y cifrado, podemos obtener un archivo que contiene un

ejecutable que los antivirus no pueden extraer y, por tanto, comprobar

si se trata de un virus o no. Para que el virus sea efectivo debe,

mediante algún tipo de engaño, proporcionar la contraseña al usuario y

convencerlo para que lo descomprima y ejecute”[…].

“Pero, ¿que

ocurre si el gusano es capaz de comprimirse y cifrarse en base a una

contraseña al azar antes de cada autoenvío?. En ese caso tendríamos

envíos de archivos con aspectos externos diferentes, ya que la

contraseña se utiliza como clave para el cifrado simétrico del archivo,

dando como resultado diferentes archivos, con diferentes firmas, según

la contraseña utilizada.

Llegados a este punto tendríamos un archivo

protegido, de forma que los antivirus no pueden examinar su interior, y

que tampoco podrían reconocerlo por su aspecto exterior ya que varía en

cada envío al utilizar diferentes contraseñas.”

Esta técnica ha

sido la utilizada por algunas variantes de Bagle, que llegan al usuario

en un mensaje donde se le facilita una contraseña para que puedan abrir

el archivo ZIP adjunto. Veamos algunos mensajes de ejemplo, algunos más

elaborados como:

Dear user, the management of [dominio del

destinatario] mailing system wants to let you know that, Your e-mail

account has been temporary disabled because of unauthorized access.

Advanced details can be found in attached file.

In order to read the attach

you have to use the following password: 21049.

O tan simples como:

archive password: 38902

Los antivirus

Si tenemos un antivirus instalado en nuestro PC, en estos casos el

problema es menor, ya que en vez de detectar el gusano cuando llega a

nuestro buzón, simplemente lo detectaría más tarde, si engañados por el

mensaje introducimos la contraseña e intentamos acceder al interior del

ZIP. Al extraerlo o ejecutarlo se realiza una copia del ejecutable

original en el disco, momento en el cual nuestro antivirus residente

puede identificarlo sin problemas.

El auténtico problema de esta

técnica se presenta en los antivirus perimetrales, por ejemplo los que

están instalados en el servidor de correo. Cuando el ZIP protegido con

contraseña pasa por el servidor de correo, el motor antivirus no podía

examinar los archivos que esconde en su interior y determinar si están

infectados o no. El resultado es que el archivo ZIP pasa al buzón de los

usuarios, y éstos pueden tener una falsa sensación de seguridad al creer

que su servidor de correo les detecta cualquier tipo de virus o gusano.

En la nota del pasado diciembre, donde comentábamos este tipo de problemas,

también apuntábamos una posible solución en el caso de los ZIP

protegidos con contraseña:

“Si nos basamos en el formato ZIP, que

ya de por si tiene algunas debilidades por diseño en su algoritmo,

existen diversas soluciones para atajar este hipotético gusano en

tránsito, por ejemplo se almacena en el ZIP en texto claro algunos datos

como el nombre, tamaño o CRC del archivo original, que podría permitir

detectarlo de forma rápida si el gusano no utiliza funcionalidades

extras para modificar algunos de sus aspectos más externos.”

Este

método es el utilizado por soluciones antivirus como NOD32, que nos

conste el primero en detectar las variantes de ZIP con contraseñas, o

Panda, que también incorpora este tipo de reconocimiento. Estas

soluciones pueden detectar los ZIP protegidos que Bagle infecta, sin

necesidad de conocer la contraseña.

Más compañías

Otras casas han optado por otro camino, por ejemplo Kaspersky o

BitDefender, que consiste en identificar la contraseña en el cuerpo del

mensaje y utilizarla para poder abrir el ZIP protegido y analizar el

ejecutable de su interior.

Sin entrar en detalles, tampoco se

trata de dar ideas, es bastante obvio que ambos métodos tienen sus

propias debilidades intrínsecas, y que podrían ser también burladas por

futuras variantes de forma fácil. En cualquier caso lo importante es la

capacidad de reacción que algunas casas antivirus están demostrando para

adaptarse a las nuevas amenazas, y exigir al resto de motores antivirus,

que no lo hayan hecho ya, incorporen cuanto antes éstas u otras

soluciones.

Dejando a un lado las soluciones antivirus, otras

medidas que se están mostrando eficaces contra este tipo de gusanos van

desde simples políticas en el tipo de archivos permitidos en el correo

electrónico, filtros por contenidos, o filtros antispam.

Por

último, hacer hincapié una vez más, que si bien los antivirus y filtros

perimetrales representan una capa importante en la protección de una

red, el punto crítico a proteger sigue siendo el PC o la estación de

trabajo, ya que por definición hay formatos o protocolos que no permiten

analizar los contenidos desde el perímetro. Por eso nunca debemos

descuidar el antivirus en nuestro ordenador de trabajo, de manera

independiente a las soluciones de seguridad instaladas en el servidor de

correo o similares.