Найти в Дзене
Герман Геншин

Эта крошечная ZIP-бомба способна полностью уничтожить ваш компьютер за секунды!

Вы можете случайно открыть такой файл. И как только начнется разархивация, файловая система вашего компьютера просто рухнет. При этом в ZIP-архиве нет никакого вредоносного ПО — только чистая математика. Когда вы упаковываете файл в ZIP-архив, компьютер ищет закономерности в потоке единиц и нулей. Повторяющиеся фрагменты сохраняются только один раз. Вместо того чтобы записывать одно и то же содержимое по несколько раз, архив просто ссылается на исходную версию. Это невероятно эффективно. Именно поэтому текстовые файлы сжимаются так хорошо — несколько повторяющихся строк могут превратить мегабайты в килобайты. ZIP-бомба использует эту логику против самого компьютера. Вместо нескольких повторяющихся блоков она содержит один блок, продублированный миллионы раз. Данные никогда не копируются физически, но zip-бомба ссылается на них снова и снова. Затем всё это упаковывается в ещё один архив. Потом ещё раз. И ещё раз. К тому времени, когда вы добираетесь до внешнего слоя, файл выглядит сове
Оглавление

Краткий обзор

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

Как работает сжатие

Когда вы упаковываете файл в ZIP-архив, компьютер ищет закономерности в потоке единиц и нулей. Повторяющиеся фрагменты сохраняются только один раз. Вместо того чтобы записывать одно и то же содержимое по несколько раз, архив просто ссылается на исходную версию. Это невероятно эффективно. Именно поэтому текстовые файлы сжимаются так хорошо — несколько повторяющихся строк могут превратить мегабайты в килобайты.

ZIP-бомба использует эту логику против самого компьютера.

Вместо нескольких повторяющихся блоков она содержит один блок, продублированный миллионы раз. Данные никогда не копируются физически, но zip-бомба ссылается на них снова и снова. Затем всё это упаковывается в ещё один архив. Потом ещё раз. И ещё раз.

К тому времени, когда вы добираетесь до внешнего слоя, файл выглядит совершенно безобидно. Он крошечный. Передается мгновенно. В нём нет ничего подозрительного. Но стоит начать распаковку — и ссылки разворачиваются. Каждая открывает следующую. Результат — это не обычная разархивация, а настоящая лавина данных.

Знаменитый пример

Самая известная zip-бомба называется "42.zip". Она занимает всего 42 килобайта на диске. Внутри содержится шестнадцать архивных файлов. Каждый из них содержит ещё шестнадцать. Все они указывают на один и тот же блок данных-заполнителя. В программировании это называется рекурсией. Представьте её как зеркальный коридор. Один файл открывает другой. Тот снова открывает такой же файл. Каждый слой порождает следующий. Ничего нового не добавляется. Структура просто продолжает вызывать сама себя, снова и снова, пока система не исчерпает место для отслеживания.

-2

Если вам удастся полностью разархивировать его (что большинство систем не может сделать), содержимое развернется примерно в 4,5 миллиона гигабайтов. Архив 42.zip никогда не предназначался для заражения чего-либо. Его единственная цель — обрушить программы, которые пытаются его открыть.

Почему они всё ещё существуют

ZIP-бомбы используются и сегодня, в основном в технических или исследовательских целях. Некоторые применяют специалисты по безопасности для тестирования пределов системы. Другие появляются в академических работах для изучения экстремальных случаев сжатия. А иногда их отправляют во время реальных кибератак — не как основную атаку, а как отвлекающий маневр.

Современные zip-бомбы используют новые хитрости. Некоторые комбинируют различные форматы архивов. Другие включают слои, защищенные паролем, которые сбивают с толку простые сканеры. Есть и такие, что разбиваются на несколько писем и становятся опасными только при сборке.

-3

Один такой архив, созданный в 2023 году, занимал десять мегабайтов на диске. При полном извлечении он производил более пяти миллионов гигабайтов данных-заполнителя.

Даже прямо сейчас вы можете создать такой сами. Напишите скрипт, который архивирует файлы. Заархивируйте файл. Затем заархивируйте получившийся zip. Потом заархивируйте и его. Повторите это 100 раз. Внешний файл всё ещё выглядит маленьким. Он всё ещё быстро отправляется по электронной почте. Но каждый слой углубляет разрушительную нагрузку.

Можно ли их обнаружить?

Единственная защита — это правильная стратегия. Исправить сам файл нельзя. Архив — это просто безобидные биты данных. Защита должна приходить извне.

Некоторые системы прекращают разархивацию после нескольких слоев. Другие отказываются извлекать больше определенного объема данных. Несколько инструментов ищут повторяющиеся ссылки на один и тот же блок памяти.

Антивирусные программы тоже научились справляться. Они устанавливают ограничения: насколько глубоко сканировать, какой размер распаковывать. Но не каждая система защищена. Иногда жертвой становится любопытный пользователь. Иногда — автоматизированная система. Всё, что пытается полностью разархивировать файл, попадает в ловушку. И это работает в WSL, в Docker — метод не зависит от операционной системы.

-4

Если вы пишете автоматизацию — ограничьте размер декомпрессии. Если сканируете загрузки — установите ограничение глубины. Если получаете файлы от незнакомцев — не доверяйте только размеру или типу файла.

Законно? Технически да

ZIP-бомбы открывают внутри виртуальных машин с аварийными переключателями и ограничениями памяти. Тестирование всегда изолировано. Файл никогда не запускается на рабочей системе.

ZIP-бомба — это не код. Это не скрипт и не исполняемый файл, поэтому это не эксплойт в привычном понимании. Это особенность работы современных компьютеров — простой zip-файл без исполняемых файлов может нанести реальный ущерб.

Нет закона против отправки кому-то zip-файла без вирусной нагрузки. Но это не означает, что это разрешено. ZIP-бомба, отправленная чтобы обрушить компьютер коллеги — это не розыгрыш. Это саботаж. Суды обычно смотрят на результат, а не на тип файла.

Настоящая опасность zip-бомбы в том, что она заставляет систему работать гораздо усерднее, чем предполагалось, перегружая файловую систему. И большинство систем послушно соглашаются. В этом и заключается вся хитрость ловушки.

Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!

Премиум подписка - это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь

Также подписывайтесь на нас в: