Zip-бомба, також відома як файлова бомба, бомба розпакування або «zip of death» (ZOD; ) — це шкідливий архівний файл при розпакуванні якого можна викликати зависання системи шляхом заповнення всього вільного місця на носії. Він створений для того, щоб зламати або зробити непридатною програму чи систему, що його читає. Чим старіша система або програма, тим більше ймовірність, що вона піддасться дії «бомби». Часто використовується для вимкнення антивірусного програмного забезпечення, щоб створити можливість для традиційнішого шкідливого програмного забезпечення.
Zip-бомба дозволяє програмі працювати нормально, але замість того, щоб захоплювати її роботу, вона створює архів, для розпакування якого потрібна надмірна кількість часу, дискового простору або пам'яті.
Більшість сучасних антивірусних програм можуть визначати, чи є файл zip-бомбою, щоб уникнути його розпакування .
Використання Zip-бомба зазвичай є невеликим файлом для легкості передачі та уникнення підозр. Однак, коли файл розпаковується, його вміст перевищує можливості системи для обробки.
Відомим прикладом zip-бомби є файл 42.zip, який є zip-файлом невідомого авторства. Коефіцієнт стиснення 42.zip 106 мільярдів до одного, він містить 42 кілобайти стиснених даних, що складаються з п'яти шарів вкладених zip-файлів по 16 у кожному. Кожен архів на нижньому рівні містить файл розміром 4,3 гігабайти (4294967295 байтів), загальний обсяг яких становить 4,5 петабайта (4503599626321920 байтів) нестиснених даних.
У багатьох антивірусних сканерах виконується лише кілька рівнів рекурсії на архівах, щоб запобігти атакам, які можуть призвести до переповнення буфера, недостатньої пам'яті або перевищення допустимого часу виконання програми. Zip-бомби часто покладаються на повторення однакових файлів, щоб досягти екстремальних коефіцієнтів стиснення. Методи динамічного програмування можуть бути використані для обмеження проходження таких файлів, так що на кожному рівні рекурсії слідує лише один файл, ефективно перетворюючи їхній експоненційний ріст у лінійний.
Інший варіант шкідливого архіву розробив програміст Девід Фіфілд. У запакованому вигляді його архів має 46 МБ, а при розпакуванні займає 4,5 петабайти. При створенні Фіфілд використовував не рекурсивну техніку, а її попередники (метод «зворотної матрьошки»), та зумів перекрити файли всередині архіву, що дозволило досягти вищого коефіцієнта стиснення.
Див. також Квадратичний вибух fork-бомба Логічна бомба
Примітки