- Bombe de décompression
-
Une bombe de décompression est un type de logiciel malveillant qui consiste en un fichier compressé dont la décompression mobilise tellement de ressources qu'il peut faire geler le système. Elle peut aussi être utilisée pour occuper l'antivirus pendant qu'un virus plus traditionnel est introduit.
Sommaire
Bombe simple (ou bombe à données répétées)
Il s'agit d'un simple fichier compressé, placé à un endroit quelconque du disque dur, d'une taille relativement légère (n'excédant pas une dizaine de méga-octets), qui contient après décompression des données d'une taille beaucoup plus importante (plusieurs giga-octets). Pour ce faire, on remplit intégralement, sur plusieurs giga-octets, un fichier binaire d'une même donnée (0 ou 1). Ainsi, une fois compressé, il sera très léger.
Lors d'une analyse ce fichier va être analysé par l'antivirus pour peu que celui-ci supporte l'analyse de fichiers compressés (ce qui est le cas pour pratiquement tous les antivirus à ce jour). Pour cela, l'antivirus va devoir extraire l'archive dans une zone temporaire, afin de les analyser un par un. Là est la source du problème : lorsqu'on extrait ce fichier ce sont plusieurs giga-octets de données qui doivent être extraits et copiés dans cette zone. Ce processus de décompression occupe toute la mémoire temporaire qui lui est dédiée et créé un déni de service (ou DoS) en accaparant toutes les ressources du processeur.
Certains antivirus sont cependant capables de reconnaître les bombes de décompression avant qu'elles ne soient décompressées.
Traitement des données dans le cadre d'une Bombe simple
La taille d'une bombe simple n'est pas très grande pour la raison suivante:
Le programme qui a servi à compresser cette bombe a réagit de façon à réduire un maximum la taille du fichier, un fichier ne contenant que des "0" des "1" ou autres caractère répété se verra attribué par le compresseur le nombre d'occurrence de ce caractère puis la place de ces caractères dans le fichier. Par exemple si le fichier contient "aaaaaaaaa", le compresseur attribuera "9a1" interprété comme "9 fois le caractère "a" à la position 1". Ainsi ce fichier qui devait faire 9 octets n'en fera plus que 3. Imaginez alors que le fichier contienne des millions de milliards de "a"...
Bombe complexe
Une bombe complexe est un fichier compressé dont l'en-tête est incorrect.
Bombe simple à série de fichiers
Cette bombe est en fait plusieurs bombes identiques les unes dans les autres. Certains formats de compression permettent de compresser un grand nombre de fois un même fichier dans une seule archive sans augmenter la taille finale de l'archive. On compressera donc plusieurs milliers voire millions de bombes simples dans un fichier compressé, et la taille de la bombe finale différera peu de celle d'une unique bombe simple. La taille des fichiers décompressés lors de l'explosion de la bombe peut alors atteindre plusieurs centaines de péta-octets.
Un exemple de ce type de bombe est le fichier
42.zip
, un fichier ZIP de 42 kilo-octets, qui contient un fichier de 4,3 giga-octets répété à 165 exemplaires (par groupe de 16 sur 5 niveaux de profondeur), soit un total de 4,5 péta-octets après décompression[1].Autres bombes
Ce problème touchant tous les types de fichiers compressés, il est ainsi possible de créer des bombes à image (picture bomb : un seul pixel est répété sur une image de plusieurs millions de pixels de côté).
Voir aussi
- Compression de données : article détaillant le fonctionnement (normal) des logiciels de compression de données.
Références
Wikimedia Foundation. 2010.