Zip-бомба

Zip-бомба

27.09.2021


Zip-бомба, также известная как файловая бомба, архив смерти или англ. decompression bomb — архивный файл, который по своей природе обладает разрушающим действием. При распаковке может вызвать крах системы, путем заполнения всего свободного места на носителе. Современные[когда?] антивирусы вполне распознают подобные файлы и предупреждают пользователя о разрушающем действии.

История

Первая задокументированная «zip-бомба» появилась в 1996 году, когда один пользователь загрузил на доску объявлений в Фидо вредоносный архив, который открыл ничего не подозревающий администратор.

Алгоритм

Внешне подобный файл выглядит как маленький архив. При распаковке распаковывается тот же самый архив. Данный файл может предоставлять опасность для антивирусов: в попытке распаковать все архивы антивирус может забить всю память и ничего не найти. Получится бесконечная цепочка - антивирус видит архив, распаковывает тот же самый архив и его распаковывает и так снова и снова.

Использование

В некоторых случаях таким способом можно устроить DoS-атаку на систему, обрабатывающую архивы без участия человека. Так, сообщения между узлами Фидонета пересылаются в архивах, которые создаёт и распаковывает эхопроцессор; а на некоторых сервисах для обмена файлами файлы проверяет антивирус (например, в сентябре 2008 года такая атака была осуществима с Файлы@mail.ru, Яндекс.Народ).

Примеры

Один из самых известных примеров «архива смерти», файл 42.zip, коэффициент сжатия которого 106 миллиардов к одному. В сжатом виде архив занимает 42 килобайта (42.374 байта), при постоянной распаковке, пока набор данных не достигнет верхнего предела распаковки в 4.3 гигабайта (4 294 967 295 байт), будет занимать в памяти более 4,5 петабайт (4 503 599 626 321 920 байт).

Другой вариант вредоносного архива разработал программист Дэвид Фифилд. В запакованном виде его архив имеет 46 МБ, а при распаковке занимает 4,5 петабайта. При его создании Фифилд использовал не рекурсивную технику, как его предшественники (то есть методом «обратной матрешки»), а сумел перекрыть файлы внутри архива, что позволило достичь более высокого коэффициента сжатия .