Algunas de las numerosas variantes de Bagle aparecidas en estos
últimos días, y que forman parte de la plaga de gusanos que nos azota
actualmente, 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
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.
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.
bernardo@hispasec.com
Más información:
01/12/2003 – Gusano invisible a filtros y antivirus perimetrales
http://www.hispasec.com/unaaldia/1863
Deja una respuesta