Les pirates ne trouvent pas chaque jour une nouvelle façon d’accéder à vos serveurs. Le bombardement zip est l’un des moyens les plus simples mais les plus efficaces d’y parvenir.
La fréquence des cyberattaques augmente chaque jour. Le développement de mesures de cybersécurité pousse les acteurs de la menace à trouver de nouvelles voies. Cela est naturel dans le monde d’aujourd’hui où les données ont plus de valeur que l’or, car toutes les informations se trouvent désormais dans l’environnement virtuel et il n’y a rien qui puisse pirates au chapeau noir ne fera pas pour l’obtenir.
Qu’est-ce qu’une bombe Zip ?
Pour expliquer le bombardement zip, nous devons d’abord expliquer ce qu’est un fichier ZIP. Un fichier ZIP est une archive de fichiers qui stocke plusieurs fichiers en un seul. Il s’agit d’un format de compression sans perte, ce qui signifie que les données sont compressées sans perte de qualité. Les fichiers ZIP sont souvent utilisés pour réduire la taille des fichiers afin de faciliter leur stockage ou leur transmission.
En revanche, une bombe zip est un fichier ZIP malveillant conçu pour submerger un système informatique de données. Les bombes Zip sont généralement créées en imbriquant récursivement des fichiers ZIP les uns dans les autres. Le bombardement zip fonctionne en exploitant la façon dont les fichiers zip sont compressés. Les fichiers Zip utilisent un algorithme de compression appelé Deflate, qui est très efficace pour compresser les données. Cependant, Deflate a également une faiblesse : il peut être utilisé pour créer des fichiers beaucoup plus volumineux une fois décompressés que lorsqu’ils sont compressés.
Pour créer une bombe zip, un attaquant va créer un fichier ZIP contenant un grand nombre de fichiers identiques. Ces fichiers peuvent être n’importe quoi, comme des fichiers texte vides ou des images. L’attaquant compressera ensuite le fichier ZIP plusieurs fois, en utilisant à chaque fois un niveau de compression différent.
Ce processus peut créer un fichier ZIP très petit une fois compressé, mais très volumineux une fois décompressé. Par exemple, un fichier de bombe zip d’une taille de seulement quelques kilo-octets peut atteindre des centaines de gigaoctets, voire des téraoctets, une fois décompressé.
Bombes Zip récursives ou non récursives
Bombes zip récursives travaillez en imbriquant les fichiers zip les uns dans les autres. Par exemple, une bombe zip récursive peut contenir un fichier zip contenant un autre fichier zip, et ainsi de suite. Lorsque la victime ouvre la bombe zip, l’ordinateur tente d’extraire tous les fichiers zip imbriqués. Cela peut rapidement surcharger les ressources de l’ordinateur et provoquer son crash.
Bombes zip non récursives n’utilisez pas de fichiers zip imbriqués. Au lieu de cela, ils s’appuient sur une technique appelée fichiers superposés. Les fichiers qui se chevauchent sont des fichiers qui contiennent les mêmes données, mais à des emplacements différents dans le fichier zip. Lorsque l’ordinateur tente d’extraire une bombe zip non récursive, il extraira les mêmes données plusieurs fois. Cela peut également surcharger les ressources de l’ordinateur et provoquer son crash.
Les bombes zip non récursives sont plus efficaces car elles peuvent être beaucoup plus petites que les bombes zip récursives. Par exemple, une bombe zip non récursive pouvant atteindre 1 To peut être aussi petite que 10 Mo. En effet, les bombes zip non récursives n’ont pas besoin de contenir plusieurs copies des mêmes données.
Comment les bombes zip sont-elles utilisées dans les cyberattaques ?
Les bombes zip sont souvent utilisées dans les attaques par déni de service. Une attaque par déni de service est un type d’attaque qui vise à rendre un système informatique indisponible pour ses utilisateurs prévus. Lors d’une attaque par déni de service, l’attaquant inondera le système informatique de trafic ou de données, provoquant son crash ou sa submersion.
Les bombes Zip peuvent également être utilisées pour propager des logiciels malveillants ou voler des données. Par exemple, un attaquant pourrait envoyer une bombe zip à une entreprise pour tenter de désactiver son logiciel antivirus. Une fois le logiciel antivirus désactivé, l’attaquant peut alors envoyer d’autres malwares sur les ordinateurs de l’entreprise.
Ensuite, lorsqu’il n’y a pas assez d’espace pour le stockage des données, cela arrive surtout dans une entreprise qui ne le fait pas archivage des données, les systèmes deviennent instables et ralentissent d’abord puis tombent complètement en panne. Un bombardement zip comme celui-ci peut prendre très longtemps à réparer manuellement si les sauvegardes ne sont pas effectuées sur de courtes périodes.
Un système stable est le rêve de tout pirate informatique et il est beaucoup plus facile de mettre la main sur des données personnelles/d’entreprise après une telle attaque.
Comment se protéger contre les bombardements Zip ?
Vous pouvez prendre plusieurs mesures pour protéger votre serveur contre une attaque de bombe zip :
- Limiter la taille des fichiers téléchargés
- Vérifiez la taille non compressée des fichiers téléchargés avant de les extraire
- Extraire les fichiers zip dans un répertoire temporaire
- Utiliser un pare-feu d’application Web (WAF)
Limiter la taille des fichiers téléchargés
La plupart des serveurs Web ont une limite intégrée sur la taille des fichiers téléchargés. Cette limite doit être définie sur une valeur suffisamment grande pour permettre les téléchargements de fichiers légitimes, mais suffisamment petite pour empêcher le téléchargement de bombes zip.
Pour limiter la taille des fichiers téléchargés dans Apache, vous pouvez utiliser la directive suivante :
LimitRequestBody 1048576
Cela limitera la taille des fichiers téléchargés à 1 Mo. Vous pouvez ajuster la limite pour répondre à vos besoins.
Vérifiez la taille non compressée des fichiers téléchargés avant de les extraire
Une bombe zip peut être compressée à une très petite taille, mais elle s’étendra jusqu’à une taille beaucoup plus grande lorsqu’elle sera extraite. Vous pouvez utiliser une bibliothèque zip pour vérifier la taille non compressée d’un fichier zip avant de l’extraire. Si la taille non compressée est supérieure à un certain seuil, le fichier doit être rejeté.
Par exemple, en Python, vous pouvez utiliser le code suivant :
importer un fichier zip
def check_uncompressed_size(zip_file) :
taille_totale = 0
avec zipfile.ZipFile(zip_file, ‘r’) comme zip_ref :
pour info dans zip_ref.infolist() :
total_size += info.file_size
retourner taille_totalesi check_uncompressed_size(‘my_file.zip’) > 10000000 :
# Le fichier zip est trop volumineux, rejetez-le
passer
autre:
# Le fichier zip peut être extrait en toute sécurité
extract_zip_file(‘mon_fichier.zip’)
Extraire les fichiers zip dans un répertoire temporaire
Cela empêchera la bombe zip de remplir le disque dur de votre serveur. Vous pouvez utiliser le code suivant sur Python pour créer un répertoire temporaire et y extraire un fichier zip :
importer un fichier temporaire
def extract_zip_file(zip_file) :
temp_dir = tempfile.mkdtemp()
avec zipfile.ZipFile(zip_file, ‘r’) comme zip_ref :
zip_ref.extractall(temp_dir)# Faire quelque chose avec les fichiers extraits
passer
Utiliser un pare-feu d’application Web (WAF)
Un WAF peut être configuré pour détecter et bloquer les attaques de bombes zip. Pour configurer un pare-feu d’application Web (WAF), vous devrez :
- Choisissez une solution WAF. Il existe de nombreuses solutions WAF différentes, à la fois commerciales et open source. Vous devez choisir une solution qui répond à vos besoins spécifiques, tels que les types d’attaques contre lesquels vous souhaitez vous protéger, la taille et la complexité de votre application Web et votre budget. Les solutions WAF les plus populaires en 2023 sont les suivantes :
- Déployer la solution WAF. Une fois que vous aurez choisi une solution WAF, vous devrez la déployer devant votre application web. Cela peut impliquer la configuration de votre serveur Web ou de votre équilibreur de charge pour acheminer le trafic via le WAF.
- Configurer les règles WAF. La plupart des solutions WAF sont livrées avec un ensemble de règles préconfigurées qui protègent contre les attaques courantes d’applications Web. Vous pouvez également créer vos propres règles personnalisées pour vous protéger contre des attaques ou menaces spécifiques.
- Surveiller les journaux WAF. Il est important de surveiller les journaux WAF pour identifier toute attaque bloquée ou tentée. Cela vous aidera à vous assurer que le WAF fonctionne correctement et à identifier toute nouvelle menace qui pourrait émerger.
N’oubliez pas que toute mesure que vous prenez pour assurer votre cybersécurité et celle de vos employés n’est pas superflue. Les données valent leur pesant d’or et vous êtes un bijoutier moderne.
Crédit image en vedette: rawpixel.com/Freepik.