Zip-бомба

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

История

править

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

Алгоритм

править

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

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

править

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

Примеры

править

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

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

Примечания

править
  1. материалы USENIX 2015 (англ.). — страница 804. Дата обращения: 4 марта 2020. Архивировано 24 июля 2020 года.
  2. Архивированная копия. Дата обращения: 4 марта 2020. Архивировано 20 февраля 2020 года.
  3. 42.zip. Дата обращения: 22 сентября 2013. Архивировано 13 октября 2013 года.
  4. David Fifield. A better zip bomb (англ.) (28 ноября 2019). Дата обращения: 4 марта 2020. Архивировано 15 февраля 2022 года.
  5. m1rko. Ещё лучшая ZIP-бомба (8 июля 2019). — перевод оригинальной статьи David Fifield. Дата обращения: 4 марта 2020. Архивировано 27 декабря 2019 года.

Ссылки

править