Une "bombe Zip" au ratio de compression de 28 millions !

Stéphane Ficca
Spécialiste hardware & gaming
12 juillet 2019 à 15h37
21
Winzip

Si vous recevez un fichier ZIP de provenance inconnue, méfiez-vous, il pourrait bien s'agir d'une « bombe ZIP »...

Un ratio de compression record de 28 millions !

Véritable fléau depuis près de 30 ans maintenant, les bombes ZIP sont des fichiers compressés qui, une fois décompressés, font littéralement exploser la mémoire de votre machine.

Le dernier en date, baptisé zbxl.zip et mis au point par David Fifield, dispose d'un ratio de compression de 28 millions. En d'autres termes, ce petit fichier ZIP de 46 Mo va atteindre, une fois décompressé (et via une seule décompression)... un poids total de 4 500 To !

Autant dire qu'il est fortement déconseillé de tenter de décompresser le-dit fichier, ou même de l'envoyer à un contact, pour une (mauvaise) blague. Certains logiciels antivirus parviennent toutefois à déceler les fichiers de type « bombe ZIP » avant que l'utilisateur n'ait le temps de les décompresser.

Source : BamSoftware
Soyez toujours courtois dans vos commentaires.
Respectez le réglement de la communauté.
21
15
PirBip
Des fichiers texte avec le même caractère répété en boucle. Pour atteindre 28M de ratio de compression, il ne peut y avoir que ce système ! Et encore, 28M ça implique que la compression fasse son travail en 32 bits minimum.<br /> Par contre faut savoir quel PC est capable de générer 4500 To de données avant la compression… à moins que le fichier compressé ait été créé à la main remarque !
LeGrosWinnie
Pour ceux qui veulent tester les 3 versions sont dispo sur le site en source :<br /> https://www.bamsoftware.com/hacks/zipbomb/
LeGrosWinnie
Le fichier compressé est créé via une boucle qui rajoute ce fichier sur lui-même.<br /> Il n’y a rien de compliqué en vrai, c’est l’outil de compression qui fait tout le boulot.<br /> Exemple clic droit sur un fichier et “ajouter à l’archive”.<br /> Suffit de faire ça en boucle sur le même fichier optimisé. Donc à la base il n’y a rien comme fichier source.<br /> Enfin c’est le principe en résumé, la vraie méthode largement plus complexe est décrite sur le site source.
barjy
“font littéralement exploser la mémoire de votre machine.”<br /> Littéralement ? Vous vous tripoteriez pas un peu la nouille chez Clu²?
barjy
bah comme d’habitude Clu² a du mal à comprendre les infos qu’ils relaient! la fichier de 4.5Po n’est compatible qu’avec les systèmes 64 bits!<br /> La source, décrivant sa construction, est disponible ici (et sous l’article)<br /> https://www.bamsoftware.com/hacks/zipbomb/<br /> C’est quand même bien plus compréhensible que le charabia présent ici!
PirBip
Aaaaah m’en doutais de celle-là ! Si t’as un dictionnaire en 64 bits et que tu décompresses en 64 bits, tu peux atteindre des sommets en termes de compression. Mais du coup ça ne protège pas grand monde, le 64 bits est quand même monopolistique dans le monde du desktop. Malgré que sur des vieux PC ça passe.
gwlegion
Je te propose de le faire, et tu nous dira si c’est si simple que ca…<br /> meme si dans la theorie, t’a pas tord, ca n’a rien de si simple que ca…<br /> On vois d’ailleurs dans la source toute la maitrise necessaire.
jcc137
C’est sûr qu’en anglais spécial informatique c’est plus clair… Merci quand même à Clubi pour avoir dégrossi l’info et de nous avoir prévenu de l’existence d’une telle bombe (terme non littéral).
bmustang
fin de tache sur le processus de décompression sans attendre
SPH
Il suffit que les logiciels qui “interpretent” les .zip refusent de décompresser quand le ratio depasse 1 pour 1000.
Jacky67
barjy:<br /> La source, décrivant sa construction, est disponible ici (et sous l’article)<br /> https://www.bamsoftware.com/hacks/zipbomb/<br /> Chez moi le lien sous l’article, pointant vers la source, ne fonctionne pas.<br /> Et d’après mes calculs, 46 Mo x 28 M ça donne 1288 To et non 4500 To.
PirBip
Oui c’est normal, c’est parce que le ratio est en réalité de 98M dans sa forme la plus sévère. ( dans sa forme originale, l’archive fait 46.2Mo, × 98M ≈ 4 500 To de données). Je ne sais pas d’où sort le 28M, mais ça doit être dans le lien partagé par les commentateurs au-dessus.
Mr_Fi
C’était le but oui : dégrossir, vulgariser un peu… Un littéral merci
pascal16
j’ai testé.<br /> la ram va bien, le HDD reste en pleine écriture pendant pas mal de temps, j’ai arrêté avant saturation.
ares-team
C’est normal, Clubic ne comprend jamais ce qu’ils lisent en anglais.<br /> C’est le ZIP de 10 MB qui a un taux de compression de 28 Millions<br /> Le ZIP de 46 MB a un taux de 98 Millions
Jacky67
Déjà 28 M c’est assez incroyable, mais alors 98 M !!!
RRaphael
Il n’y a nul besoin de comprimer des données réelles, l’astuce est d’écrire le fichier zip… Une simple routine CC+ suffit…
PirBip
Je me doute que la méthode existe, et qu’un algo est pas compliqué à développer. Je suis plutôt ignorante sur la question, je ne suis pas spécialiste de la compression. Mon domaine de prédilection c’est l’embarqué et l’IA.<br /> Merci encore pour ces précisions !
sources
De toute manière, ne jamais ouvrir une pièce-jointe reçu par email à moins d’être absolument sûr de l’expéditeur. Mais c’est quand même moins gênant qu’un virus. Tu forces l’arrêt et tu redémarres.
hellraisercom
XDD ! Je suis pas le seul a a avoir bugger sur le ‘Littéralement’ doivent pas savoir ce que cela implique une explosion XDD
inconnu_de_passage
L’article est bidon parce qu’il est inutile à la fois pour les néophytes et pour les gens qui connaissent le sujet.<br /> Ce qui est écrit est juste du sensationnalisme en s’extasiant sur des chiffres qui veulent rien dire hors-contexte.<br /> Quand on clique sur la source, le 1er truc qu’il y a après le résumé, c’est un tableau qui compare ce nouveau type de “zipbomb” avec d’autres types, et OH LA LA MAIS C’EST INCROYABLE d’autres types de zipbomb ont un ratio de compression bien meilleur de 106 MILLIARDS, voire même un RATIO INFINI !<br /> (EDIT : le formatage des listes passe pas terrible sur le site, c’est plus lisible côté forum : Une "bombe Zip" au ratio de compression de 28 millions ! )<br /> Les trucs à savoir pour ceux qui connaissent pas le sujet :<br /> Les zipbomb sont des fichiers ultra-compressés conçus spécialement pour avoir un gros ratio taille décompressée/taille compressée<br /> Pour un utilisateur humain, il y a pas trop de risques à les décompresser, la plupart des programmes de décompressions peuvent facilement être interrompus quand l’utilisateur s’aperçoit que ça décompresse un truc qui sert à rien.<br /> Ça peut servir en tant que malware, parce que les antivirus fouillent activement les fichiers téléchargés sur internet et reçu en PJ d’e-mails, et comme les fichiers sont souvent contenus dans des zips, l’antivirus est obligé d’analyser le contenu des zips pour être proactif est bloquer les menaces avant qu’elles attaquent le PC. Et du coup, en essayant d’ouvrir une “zipbomb” les antivirus se retrouvent souvent coincés, soit en saturant la RAM, soit en saturant le disque dur, ou juste en utilisant tout le CPU pendant 50 ans pour analyser un fichier fictif de plusieurs téraoctets. Pendant ce temps, le PC fait un peu la gueule.<br /> Du coup, une fois que la technique à commencé à se répandre, les antivirus se sont mis à jour, et je pense que depuis le temps que c’est “connu”, ils doivent tous être capables de gérer ça sans tomber dans le piège.<br /> Mais comme là il s’agit d’une nouvelle technique, certains antivirus pourraient se faire avoir. Mais comme il s’agit d’un article de recherche scientifique, et non pas d’une attaque trouvée dans la nature, le mot devrait se répandre rapidement et ils devraient tous être patchés rapidement, donc aucune raison de paniquer.<br /> Les trucs intéressants pour ceux qui s’intéressent a ce qui se passe derrière les rideaux, en restant dans ce qui est compréhensible pour le commun des mortels :<br /> L’algorithme DEFLATE (le plus répandu pour zipper, mais pas le seul, et loin d’être le meilleur) peut faire au mieux un ratio de 1032 (le lien n’explique pas pourquoi cette limite, je suppose que c’est pas vulgarisable).<br /> Les zipbomb existantes dépassent cette limite en ayant plusieurs couches de compression (comme des poupées russes), du coup pour être efficace il faut espérer que le décompresseur va automatiquement décompresser toutes les couches à l’infini (les logiciels pour humain en général ne décompressent qu’une seule couche à la fois).<br /> Ce nouveau type de zipbomb n’a qu’une seule couche de donnée, donc même si le décompresseur ne traite qu’une seule couche, la “bombe” sera efficace.<br /> Pour faire ça, l’auteur explique comment est organisé un fichier ZIP : il y a des données compressées d’un côté, et une sorte d’annuaire à la fin qui indique la structure des fichiers et renvoie vers les données compressées. Donc pour pour faire la “bombe”, l’auteur modifie l’annuaire pour avoir plusieurs fichiers fictifs qui pointent sur le même bloc de données compressées : en rajoutant seulement 47 octets dans l’annuaire, il peut doubler la taille du zip, donc en modifiant à souhait l’annuaire, ça permet d’augmenter rapidement le ratio de compression.<br /> Après cette explication sur l’annuaire, ça part dans des détails complexes pour optimiser ça au mieux, donc la vulgarisation peut s’arrêter là<br />
Voir tous les messages sur le forum

Actualités du moment

Canal VOD sur Freebox : achetez le disque en plus de la version numérique de vos films
Un ancien employé Tesla a copié le code de l'Autopilot sur son compte iCloud
🔥 Soldes : toutes les meilleures offres en attendant le Prime Day
Donald Trump tweet sa méfiance à l'égard de Libra et des cryptomonnaies
Une vidéo de la Volkswagen ID.3 captée en charge (à l'insu de son conducteur)
🔥 Soldes Cdiscount : Ultrabook Asus Vivobook S512FA-EJ027T 15.6
Les inscriptions à la beta de Minecraft Earth sont ouvertes
Samsung Galaxy Note 10+ : la FCC publie les premières photos officielles
La taxe GAFA tout juste adoptée ne plait pas du tout à Trump
Haut de page