Articulo de referencia

Bomba Zip

Descripción general de algunos archivos comprimidos, incluido 42.zip. En informática, una bomba zip , también conocida como bomba de descompresión o zip de la muerte ( ZOD ), es...

Descripción general de algunos archivos comprimidos, incluido 42.zip.

En informática, una bomba zip , también conocida como bomba de descompresión o zip de la muerte ( ZOD ), es un archivo comprimido malicioso diseñado para bloquear o congelar el programa o sistema que lo lee. Cuanto más antiguo sea el sistema o programa, menor será la probabilidad de que se detecte la bomba zip. A menudo se utiliza para deshabilitar el software antivirus y así crear una vulnerabilidad para malware más tradicional . [ 1 ]

Una bomba zip permite que un programa funcione normalmente, pero en lugar de secuestrar su funcionamiento, crea un archivo que requiere una cantidad excesiva de tiempo, espacio en disco, potencia de cálculo o memoria para descomprimirse. [ 2 ] La mayoría de los programas antivirus modernos pueden detectar bombas zip e impedir que el usuario extraiga cualquier contenido de ellas. [ 3 ]

Tipos

Recursión

Al anidar un archivo zip dentro de otro archivo zip, es posible superar el límite de relación de compresión de deflate (1032:1).

Un ejemplo famoso de una bomba zip recursiva se titula 42.zip , que es un archivo zip de autoría desconocida [ 4 ] que consta de 42 kilobytes de datos comprimidos, que contiene cinco capas de archivos zip anidados en conjuntos de 16, cada archivo de capa inferior contiene un archivo de 4,3 gigabytes (4 294 967 295  bytes ;4 GiB 1  B ) archivo por un total de4,5 petabytes  (4 503 599 626 321 920  bytes ;4 PiB 1 MiB  ) de datos sin comprimir. [ 5 ] Una publicación de junio de 2001 en la lista de correo vuln-dev hace referencia al archivo, lo que indica que fue creado antes de esa fecha. [ 6 ]

Otro ejemplo es el archivo "^.zip", de autoría desconocida, que contiene aproximadamente 203 kilobytes de datos comprimidos y afirma contener aproximadamente 16 yottabytes (YB) de datos sin comprimir. Esto representa una relación de expansión de aproximadamente 78,8 quintillones a 1, lo que demuestra cómo el anidamiento recursivo de archivos puede exceder los límites prácticos de la compresión normal y generar una amplificación de tamaño extrema.

También existen archivos zip , archivos que se descomprimen en sí mismos. [ 7 ]

Superposición

Otra técnica para crear bombas zip es mediante la superposición de archivos. La superposición ingenua (que múltiples entradas del Directorio Central apunten al mismo Encabezado de Archivo Local) es rechazada por muchas implementaciones, ya que los nombres de archivo en el CD y el LFH no coinciden. El método más compatible requiere usar tantos Encabezados de Archivo Local como entradas haya en el Directorio Central. Los Encabezados de Archivo Local hacen referencia a porciones superpuestas del archivo: más específicamente, cada LFH hace referencia a todos los bytes entre él y el Directorio Central como parte de sus "datos comprimidos", lo que permite que el tamaño total de estas entradas de "datos comprimidos" crezca cuadráticamente. [ 6 ]

La técnica de superposición permite que un  archivo de 42 KB se expanda a 5,4  GB, con una relación de compresión de 129 mil. Debido a la escala cuadrática, las bombas zip más grandes que utilizan esta técnica son aún más eficientes: un  archivo de 9,8 GB se expande a 281  PB (una relación de 28 millones). También existe una variante Zip64 con una relación de 98 millones. [ 6 ]

El método requiere el uso de comillas para los LFH intermedios, de modo que puedan tratarse como parte de los datos comprimidos sin errores. DEFLATE permite un método de comillas sencillo que no es aplicable a los archivos zip bzip2 . Para todos los métodos de compresión, es posible marcar los datos adicionales como parte del campo adicional del LFH, aunque debido a las limitaciones de tamaño de campo existe un tamaño máximo para el crecimiento cuadrático. [ 6 ]

Contramedidas

Bombas recursivas : En muchos antivirus, solo se realizan unas pocas capas de recursión en los archivos para prevenir ataques que podrían causar un desbordamiento de búfer , una condición de falta de memoria o exceder un tiempo de ejecución aceptable. Las bombas Zip suelen basarse en la repetición de archivos idénticos para lograr sus índices de compresión extremos. Se pueden emplear métodos de programación dinámica para limitar el recorrido de dichos archivos, de modo que solo se recorra un archivo recursivamente en cada nivel, convirtiendo así su crecimiento exponencial en lineal. [ 5 ]

Bombas de superposición : Los archivos superpuestos son fáciles de detectar en un analizador ZIP modificado. Sin embargo, debido a que los analizadores ZIP pueden presentar grandes discrepancias entre sí, el uso de un analizador modificado independiente no será suficiente: el analizador en uso debe modificarse. [ 6 ]

Lo anterior no abarca otros posibles tipos de archivos zip maliciosos. Al igual que con otros formatos de archivo complejos propensos a errores de análisis (por ejemplo, archivos de imagen), una protección robusta requiere aislar el analizador para limitar su uso de tiempo, memoria y espacio en disco. [ 6 ]

Aunque no es una solución totalmente fiable, los sistemas de archivos con compresión transparente y/o deduplicación transparente tienden a sufrir menos ataques de tipo zip bomb, ya que estas operaciones reducen el espacio necesario para descomprimir los datos. Por ejemplo, zfs con compresión LZ4 y sin deduplicación descomprime el ataque de superposición de 42  KB a 165  MB. [ 6 ]

Véase también

Referencias

  1. Leyden, John. "¿Riesgo de DoS por ataques Zip of death contra software antivirus?" . www.theregister.co.uk . Archivado del original el 2 de marzo de 2020 . Consultado el 10 de agosto de 2017 .
  2. Pelton, Joseph N (28 de agosto de 2018). Ciudades inteligentes de hoy y de mañana : mejor tecnología, infraestructura y seguridad . Springer. ISBN  978-3-319-95822-4OCLC 1097121557 .​ 
  3. Bieringer, Peter (12 de febrero de 2004). "AERAsec - Seguridad de red - Avisos propios" . Archivado del original el 3 de marzo de 2016. Consultado el 19 de febrero de 2011 .
  4. Smith, Ernie (10 de julio de 2019). "La 'bomba zip' más ingeniosa jamás creada hace explotar un archivo de 46 MB a 4,5 petabytes" . VICE . Archivado del original el 11 de septiembre de 2024. Consultado el 11 de septiembre de 2024 .
  5. 1 2 Svoboda, David (8 de abril de 2011). "IDS04-J. Extraer archivos de forma segura de ZipInputStream" . SEI CERT Oracle Coding Standard para Java . Universidad Carnegie Mellon . Recuperado el 11 de septiembre de 2024 .
  6. 1 2 3 4 5 6 7 Fifield, David (2019). "Una mejor bomba zip" . www.bamsoftware.com .
  7. Cox, Russ (18 de marzo de 2010). "research!rsc: Zip Files All The Way Down" . research.swtch.com .