Qu'est-ce que la Bombe Zip?
September 01, 2023
La bombe Zip classique est une petite archive, la plupart du temps mesurée en kiloctets. Lorsque ce fichier est décompressé, son contenu est plus important que ce que le système peut gérer. En général, il s'agit de centaines de gigaoctets de données, et les versions plus avancées peuvent atteindre les pétaoctets (millions de Go) voire les exaoctets (milliards de gigaoctets). Donc, oui, pour être clair, nous parlons de remplir les exaoctets dans les kiloctets.
La première mention d'une bombe Zip remonte à 1996. Un des utilisateurs du service de messagerie alors populaire Fidonet a posté sur le tableau d'affichage une archive malveillante, que l'administrateur insouciant a ouverte.
Lorsque vous ouvrez un fichier, il commence à décompresser toutes les données, ce qui provoque le plantage du programme ou de tout le système, car il n'y a tout simplement pas assez d'espace pour décompresser cette quantité de données.
42.zip - Une Bombe Zip Classique
La bombe Zip la plus courante que vous pouvez trouver sur Internet est "42.zip". Elle pèse seulement 42 Ko sous forme compressée.
Cependant, si vous la décompressez, vous obtenez 4,5 pétaoctets (36 000 000 Go) de données !
Cela est réalisé par un système de fichiers zip imbriqués de manière récursive, où le niveau de fichier zip le plus bas est décompressé à une taille de 4,3 Go. La construction utilise l'algorithme de décompression le plus courant, qui est compatible avec la plupart des analyseurs zip.
Définition de la Bombe Zip: Comment ça fonctionne?
Le principe de la bombe Zip est de créer, par exemple, un fichier texte qui est soit vide, soit contient les mêmes symboles, puis de l'archiver. Étant donné que le fichier contient les mêmes informations, il s'archivera lui-même et aura une taille bien plus petite que les autres. Ensuite, 16 autres copies identiques de cette archive sont créées, mais comme elles sont totalement identiques dans leur hachage, elles ressembleront à un seul fichier et ne pèseront rien. Ensuite, 16 autres copies, puis 16 autres copies, et ainsi de suite, 6 fois. Finalement, nous avons 6 couches de 16 archives, chacune contenant 16 archives identiques.
Qu'est-ce que la compression?
La compression consiste à réduire le nombre de bits nécessaires pour représenter des données. Regardons cela de plus près:
| xxxyyyyxxxyxxxyxxx
Cette chaîne mesure 18 caractères de long. Les xxx peuvent être trouvés de nombreuses fois. C'est ce qu'on appelle la redondance statistique. Prenons les séquences les plus longues dans les données et représentons-les avec le moins de bits possible. Maintenant, compresser cette chaîne signifie que nous devons représenter cette information en moins de 18 caractères. Remplacez chaque occurrence de "xxx" par un symbole, disons "$", et voyez ce qui se passe.
Maintenant, nous utilisons une forme intermédiaire (compressée) de la chaîne ainsi que des instructions sur la façon de récupérer la chaîne d'origine:
| $yyyy$y$y$
| $=xxx
La première ligne est notre donnée compressée, et la deuxième est une instruction. Un dictionnaire que nous avons créé nous indique que si nous devons décompresser les données, nous devons remplacer chaque occurrence de $ par xxx pour récupérer les données d'origine. Maintenant, comptons le nombre total de caractères.
Maintenant, nous n'avons besoin que de 10 + 5 = 15 caractères pour représenter les mêmes informations.
À quoi sert la Bombe Zip?
Étant donné que la bombe Zip ne endommage pas directement le système, elle est souvent utilisée pour provoquer une défaillance ou la désactivation du programme qui tente d'y accéder. Elle peut également être utilisée pour désactiver les logiciels antivirus afin de créer une porte dérobée pour d'autres malwares typiques.
Au lieu de perturber le fonctionnement régulier du programme, la bombe Zip permet au programme de fonctionner comme prévu. Cependant, l'archive est soigneusement conçue de telle sorte que sa décompression (par exemple, une analyse antivirus pour détecter des virus) prend un temps excessif, occupe un espace disque important ou consomme beaucoup de mémoire (ou les trois à la fois). Pendant ce temps, l'attaquant peut tenter d'infecter le système avec un vrai virus. Parfois, lors d'une tentative d'analyser les pièces jointes, l'antivirus utilise toutes les ressources de l'ordinateur, surchargeant ainsi le système au point où l'utilisation ultérieure de l'appareil devient impossible.
D'où vient la Bombe Zip?
Il est presque impossible de tomber accidentellement sur un tel virus de nos jours. La plupart des antivirus modernes ont appris à reconnaître et à neutraliser les bombes Zip, et en pratique, l'efficacité d'une telle attaque est minimale.