Bombas Zip
Existen muchas maneras de atacar un ordenador. A veces nuestro dispositivo
sencillamente se encuentra en el lugar y el momento equivocados y es objeto de
ataques, y nuestra exitosa defensa depende de que tengamos un buen y
actualizado antivirus, un firewall activo y un sistema operativo y aplicaciones
actualizadas; en fin, que no haya huecos ni rendijas (agujeros de
seguridad) por donde pasar o introducir nada.
Pero en otras ocasiones la manera de atacar el dispositivo es engañando al
usuario para que él mismo abra la puerta.
Generalmente la gente escucha de contaminarse por visitar páginas
web infectadas (el primer caso) o por ejecutar un archivo ejecutable
(.exe) o dándole click a un enlace (link) que aparentando otra cosa, en
realidad pasan a activar un programa malicioso (el segundo caso). Aunque ambas
formas necesitan de conocimiento y creatividad, estas últimas acciones, que
requieren que el propio usuario apriete el botón que activa la bomba, son las
más ingeniosas por su nivel de manipulación psicológica (ingeniería
social[1]).
Existen muchos tipos de malware y aunque la mayoría buscan un fin
económico, también existen los que sólo desean dañar el ordenador objetivo.
Los archivos
comprimidos ya llevan mucho tiempo con nosotros en el mundo informático. Es un archivo
que contiene uno o más archivos y/o carpetas y que ocupan un espacio que puede
llegar a ser muy inferior al de su contenido en estado normal (descomprimido).
Con un algoritmo de compresión estándar se pueden comprimir datos entre 0,5 y
20 veces su tamaño, dependiendo de lo que contenga. Uno de los formatos
comprimidos más populares es el zip[3].
Usando ingeniería social el propio usuario activa una bomba cuyo efecto
expansivo colapsa el ordenador al ‘descomprimir’ un archivo que crece
continuamente de tamaño, más allá de cualquier capacidad en un ordenador. Este
efecto no sólo bloquea la aplicación y el sistema (denegación de servicio) al
requerir una gran cantidad de tiempo de proceso y demandar ingentes cantidades
de espacio de memoria y disco. También puede llegar a impedir el inicio del
ordenador, al no tener espacio para poder ejecutar las aplicaciones de arranque
del sistema operativo, sino que incluso puede llegar a provocar problemas
varios debidos a la alta temperatura que pudieran alcanzar algunos componentes
del ordenador.
Hasta ahora las bombas zip utilizaban la recursividad, bucles que se van
generando uno dentro de otro, volviendo al punto de partida haciendo así un
ciclo infinito. Se tiene constancia de que existen desde 1996.
En el caso de las bombas Zip-Kuin, Cox y Ellingsen el archivo zip contiene una copia de sí
mismo, de esa manera generan un círculo recursivo, pudiendo en teoría
expandirse indefinidamente.
Se llegó a temer que las bombas zip se enviaran con el fin
de colapsar a los antivirus, para después lograr introducir otro tipo de
malware[4]. Pero actualmente la
mayoría de los antivirus poseen la capacidad de analizar el comportamiento de
descompresión de un archivo comprimido, permitiendo la ejecución de sólo
algunas capaz de recursividad y deteniendo el proceso antes de que pudieran
causar un desbordamiento de búfer, una condición de falta de memoria o un
exceso de tiempo de ejecución del programa, de espacio en disco o memoria.
Un ejemplo famoso es el conocido como 42.zip[5], de autor desconocido, que posee una
relación de compresión de 106.000 millones a uno; lo que ha sido todo un récord
hasta ahora (la mayoría de zips usan el algoritmo de compresión DEFLATE cuyo
ratio máximo de compresión está marcado en 1032 a uno). De los 42 kilobytes que
‘pesa’ el archivo comprimido se descomprime expandiendo 16 archivos, cada uno
de los cuales alcanza los 4,3 gigabytes, totalizando 68 gigabytes. Pero el
42.zip posee 5 capas, por lo que en total tratará de expandirse hasta los 4,5
petabytes.
El detalle es que en muchas aplicaciones no es compatible o no se activa la
recursividad; aún así sólo la primera capa tiene buenas posibilidades de lograr
hacer daños. Además los antivirus actuales al detectar diversas capas de
recursividad anulan el proceso.
David
Fifield ha creado la que ahora se considera la bomba zip con mayor capacidad de
expansión: el zbxl.zip. El archivo pesa 46 MB[6]
(un tamaño que no se considera grande actualmente) y que puede expandirse hasta
los 4,5 Petabytes[7]
(si usamos como referencia discos duros de 2 TB, sería el equivalente a 2.200
discos).
Tal vez el aspecto más importante de esta nueva bomba es que no usa el
recurso de la recursividad para alcanzar este nuevo récord, por lo que se
descomprime en una sola ronda o capa, con el estándar algoritmo DEFLATE, que es
compatible con la mayoría de los analizadores zip. En cambio, utiliza una
técnica de superponer ficheros unos encima de otros, lo que le hace más difícil
de detectar por parte de los actuales antivirus. Y ese es justamente el
objetivo que ha tenido el investigador David Fifield, proporcionarle a las
empresas creadoras de antivirus la posibilidad de tener material de estudio
para que se preparen de forma preventiva, antes de que los ciberdelincuentes
usen esta posibilidad.
Como curiosidad, hay quien ha creado bombas zips para defender sitios
web WordPress de las herramientas de escaneo de vulnerabilidades. Puede
verse un ejemplo aquí.
Aunque las bombas zip no son una amenaza común, debemos estar concientes de
su existencia.
Francisco Javier Castañé Sanz
Técnico Informático
23/08/2019
Fuentes:
#bombaszip, #malware, #zbxl.zip, #42.zip
[1]
Ingeniería social, en
el ámbito informático, es la práctica maliciosa que se realiza con el fin de
obtener información, acceso o privilegios en sistemas informáticos sin que el
usuario sea consciente realmente de todas las implicaciones y con fines
beneficiosos sólo para quien está realizando la manipulación.
[3]
Creado en 1989 por Phil
Katz, pero originalmente sólo era una optimización de la velocidad de ejecución
del ARC de Thom Henderson de 1985.
[4]
Malware es un término informático que indica cualquier tipo de programa cuyo
objetivo sea malintencionado.
[6]
Esta versión usa
extensiones de 64 bits. La versión de 32 bits (zblg.zip) pesa sólo 10 MB y se
expande hasta los 281 TB; suficiente para colapsar a la gran mayoría de los
ordenadores.
No hay comentarios:
Publicar un comentario