Una bomba zip o zip de la muerte, es un archivo malicioso en apariencia inocente, que esconde una enorme cantidad de datos comprimidos anidados en diferentes niveles, de forma que en un zip muy pequeño de pocos kilobytes, pueden esconderse gigabytes de datos.
Descomprimir este tipo de archivos puede colapsar tu ordenador causando un desbordamiento de buffer, pero ninguno al nivel de la bomba "definitiva" que ha creado el ingeniero David Fifield, capaz de hacer "explotar" un zip de apenas 42 MB en 4.5 PB, es decir, cuatro millones y medio de gigas.
Como explica el ingeniero en su sitio web, la novedad no son las bombas zip en sí, sino la técnica que él ha desarrollado para "hacerlas mejores" porque no dependen de la descompresión recursiva. Las bombas de compresión que usan el formato zip deben lidiar con el hecho de que el algoritmo más usado por los lectores de zip, no puede alcanzar un rango de compresión mayor de 1032 a 1, y por eso dependen de la descompresión recursiva.
La descompresión recursiva funciona básicamente como una muñeca rusa invertida, es decir, los archivos se van haciendo más grandes conforme se descomprimen las capas. Al anidar archivos zip dentro de archivos zip, se logra un factor adicional de 1032 para cada capa.
Ahora, esto solo funciona si se descomprime de forma recursiva, es decir, capa tras capa, tras capa. Si alguien descomprime uno de estos archivos una sola vez, es perfectamente seguro, aunque se puedan descomprimir hasta el infinito como en experimentos como Zip File Quine.
De 42.zip a Zip64
Es aquí donde entra el logro de Fifield: inspirado por 42.zip, una de las bombas zip más famosas de la historia, capaz de expandirse de meros 42 KB hasta 4.5 petabytes, siempre que se descompriman de forma recursiva todas sus capas, el ingeniero ha hecho su propia bomba con una técnica que le permite elevar el rango de compresión a 98 millones.
Fifield ignora el rango de compresión máximo de 1032 sobreponiendo archivos encima de otros en el proceso de compresión, creando un archivo más compacto en una sola capa, sin recursión.
42.zip en tamaño comprimido pesa uno 42 kilobytes, mientras que descomprimido de forma no recursiva apenas sobrepasa los 5.5 GB (sobrepasa el rango de compresión 129 mil veces). Mientras que, de forma recursiva puede llegar a los 5.5 PB.
La bomba zip de Fifield con un tamaño de 45 megabytes, alcanza los 4.5 petabytes es una descompresión no recursiva, sobrepasa el rango de compresión 98 millones de veces. Para poder lograrlo, también necesito usar Zip64, una extensión del formato zip que eleva el tamaño de ciertos campos de encabezados a 64 bits, o no lograba pasar de 281 TB de salida, por más que empaquetara el paquete zip de la forma más ingeniosa posible.
Aunque la bomba zip de Fifield está menos comprimida que 42.zip, es decir, necesita un archivo más grande (44 KB vs 45 MB), su bomba explota en un archivo del tamaño de casi todos los datos que capturó Event Horizon para tomar la primera foto de un agujero negro, que son tantos que fue más fácil mandar por avión que por Internet.
Si bien es muy difícil que te consigas una de estas bombas por ahí, a pesar de ser una nueva técnica, el mismo investigador apunta que en sus pruebas algunos antivirus lo identificaron fácilmente como una bomba zip. Sin embargo, estos hallazgos siguen siendo importantes para avanzar el campo en el futuro, y para crear conciencia sobre la existencia de estas técnicas.
Ver todos los comentarios en https://www.genbeta.com
VER 18 Comentarios