Zip-бомбы: что это и как защититься

Представьте: вы спокойно пользуетесь интернетом, у вас сильный сигнал, но браузер внезапно зависает и перестаёт загружать страницы. Причина может скрываться в так называемой zip-бомбе (её ещё называют декомпрессионной бомбой или encoding bomb). Эта статья объясняет, что такое zip-бомбы, как они работают, как их обнаружить, устранить и предотвратить их влияние — с практическими чеклистами и планом реагирования.
Что такое zip-бомба
Zip-бомба — это специально сформированный файл или архив, цель которого — при распаковке потреблять огромное количество дискового пространства и вычислительных ресурсов. Часто такие файлы используются как отвлекающий манёвр: пока антивирус пытается распаковать и просканировать архив, основной вредоносный код получает время для выполнения или скрытой установки.
Ключевые свойства zip-бомб:
- Небольшой объём на диске в сжатом виде, но экстремально большой распакованный размер.
- Может быть реализована как ZIP-архив, многослойные архивы или программный файл (.exe и другие форматы).
- Прячется внутри вложенных архивов или использует дублирование данных и пересечение ссылок внутри архива.
Важно: сам по себе файл zip-бомбы безопасен, пока вы его не распакуете. Распространённый вектор доставки — вложения к электронным письмам и сомнительные загрузки с ненадёжных сайтов.
Как работает zip-бомба
На первый взгляд такие файлы выглядят как типичный небольшой архив — несколько килобайт. Но при распаковке они разворачиваются в гигабайты, терабайты или даже петабайты бесполезных данных (в истории встречается пример файла «42.zip», который занимал около 42 КБ в сжатом виде и разворачивался до примерно 4,5 петабайта).
Механизмы реализации:
- Повторяющиеся структуры. Архив содержит один фрагмент данных, многократно дублирующийся в метаданных или через ссылки.
- Вложенные архивы. Одна папка содержит другой архив, в котором снова тот же самый архив, и так далее (рекурсивная упаковка).
- Перекрывающиеся заголовки и ссылки в формате архива, которые заставляют стандартные распаковщики повторять обработку.
Чаще всего zip-бомбы применяются как первичный «шум» в сложной атаке: антивирус и администратор переключаются на распаковку огромных объёмов данных, в то время как другие трояны или эксплойты выполняют свою работу.
Типы zip-бомб
Рекурсивные zip-бомбы
Рекурсивные бомбы содержат один архив внутри другого, причём каждый вложенный уровень содержит ссылку на предыдущий или на тот же набор данных. При распаковке происходит экспоненциальное увеличение содержимого.
Пример: «42.zip» — кажется небольшим, но при последовательной распаковке складывается во множество повторяющихся копий данных.
Нерекурсивные zip-бомбы
Нерекурсивные бомбы разворачиваются за одну итерацию распаковки — файл внутри архива уже содержит огромный объём дублированных данных. Такие бомбы сложнее обнаружить по паттерну «вложение внутри вложения», потому что они не используют классическую рекурсию.
Они опасны тем, что антивирусы, настроенные искать рекурсивные вложения, могут их пропустить.
Как обнаружить zip-бомбу
Распознать zip-бомбу на глаз сложно. Но есть рабочие признаки и методы:
- Соотношение сжатого и распакованного размера. Если единичный файл 10–50 КБ разворачивается в сотни мегабайт или больше — это тревожный знак.
- Большая глубина вложений при просмотре списка архива (список файлов внутри архива показывает многократные вложения).
- Необычные заголовки архиватора и повторяющиеся имена файлов.
- Антивирусные сканы и шлюзы электронной почты, настроенные на ограничение максимального размера распаковки и глубины вложения.
- Запуск распаковки в изолированной среде (песочнице) с учётом лимитов времени и диска.
Практическая проверка: перед распаковкой посмотрите метаданные архива — список входящих файлов и их предполагаемые размеры. Если сумма ожидаемых размеров явно завышена, не распаковывайте.
Как удалить или восстановиться после воздействия zip-бомбы
Если вы случайно распаковали подозрительный архив и система начала тормозить — действуйте по проверенному плану.
Инцидентный план (шаги):
- Отключите устройство от сети — это предотвратит распространение и утечку данных.
- Не перезагружайте компьютер, если распаковка в процессе — завершите процессы распаковки и архивного менеджера через диспетчер задач, если возможно.
- Сделайте образ диска (если есть опыт) или снимок памяти для последующего анализа.
- Загрузитесь с внешнего носителя (Live‑CD/USB) и оцените состояние файловой системы.
- Просканируйте диск надёжным антивирусом в офлайн‑режиме. Многие продукты умеют обнаруживать признаки декомпрессионных бомб без распаковки.
- Если система нестабильна, восстановите из резервной копии до момента появления инцидента.
- При отсутствии резервной копии — вынесите устройство специалистам по восстановлению данных.
Важно: попытки «очистить вручную» системные каталоги без плана могут привести к потере данных. Если есть критические данные — сначала снимите резервную копию диска.
План защиты: до, во время и после
Ниже — практическая методика и готовые чеклисты для разных ролей.
Проактивные меры (до инцидента)
- Используйте проверенное антивирусное ПО и держите его обновлённым.
- Ограничьте максимальную глубину распаковки и общий объём распаковываемых данных в почтовых шлюзах и на файловых серверах.
- Блокируйте вложения с архивами от незнакомых отправителей или требуйте проверки администратора.
- Отключите автоматическую предварительную распаковку вложений в почтовых клиентах и на серверах.
- Настройте политику резервного копирования: регулярные бэкапы и проверка их целостности.
- Внедрите песочницу (sandbox) для автоматической распаковки подозрительных архивов с лимитами по времени и размеру.
Чеклист для конечного пользователя
- Не открывайте ZIP/архивы от неизвестных отправителей.
- Удаляйте подозрительные вложения, не скачивая их на устройство.
- При получении предупреждения от антивируса действуйте согласно его инструкциям: удалите файл.
- Сообщайте о подозрительных письмах в службу поддержки вашей организации.
Чеклист для администратора / SOC
- Ограничьте максимальный объём и глубину распаковки на шлюзах и файлопомещениях.
- Включите эвристический анализ архивов и обнаружение аномалий по отношению «сжатый/распакованный размер».
- Разверните изолированные среды для автоматической распаковки и анализа.
- Настройте алерты на аномальное потребление диска и CPU в момент массовой распаковки.
Быстрый план реагирования для малого офиса
- Отключите поражённый ПК от сети.
- Изолируйте пострадавший аккаунт/учётную запись.
- Сканируйте сервер почты и удалите подозрительные вложения в очереди.
- Восстановите из последней чистой резервной копии.
- Проведите разъяснительную сессию с сотрудниками.
Мини‑методология безопасной проверки архива
- Проверка метаданных: посмотреть список файлов внутри архива, суммарные размеры и глубину вложений.
- Сравнить сжатый и предполагаемый распакованный объём — если соотношение чрезмерно велико, не распаковывать.
- Запустить распаковку в песочнице с жёсткими лимитами по диску и времени.
- Если распаковка проходит нормально, произвести сканирование на вредоносные сигнатуры.
Когда zip‑бомба не сработает или не применима
- Если вы используете почтовые шлюзы с лимитами распаковки, бомба будет нейтрализована до достижения цели.
- На системах с контейнеризированной обработкой и лимитами ресурсов бомба может распаковаться в изолированном контейнере и не навредить хосту.
- Если файл — не архив, а исполняемый файл, поведение и вектор атаки будут иными; распаковка не требуется, но нужна обычная антивирусная проверка.
Ментальные модели и эвристики
- Правило 1: маленький размер в архиве + огромный распакованный объём = подозрительный файл.
- Правило 2: чем глубже вложения, тем выше риск рекурсивной бомбы.
- Правило 3: доверяй, но проверяй — даже письма от знакомых адресов стоит проверять, если вложение выглядит странно.
Короткий словарь
- Zip-бомба: файл/архив, при распаковке потребляющий непропорционально много ресурсов.
- Рекурсивная бомба: бомба, использующая многослойные вложения архивов.
- Нерекурсивная бомба: бомба, разворачивающаяся за один шаг распаковки.
- Песочница: изолированная среда для безопасного исполнения и анализа файлов.
Риск‑матрица (качественная)
- Вероятность: низкая — файл должен быть доставлен и распакован; средняя — через почту или скачивание; высокая — при отсутствии политик безопасности.
- Влияние: низкое — предупреждение от антивируса; среднее — замедление работы сервера; высокое — отказ в обслуживании, потеря данных.
Меры смягчения: ограничение распаковки, офлайн‑сканирование, бэкапы, обучение пользователей.
Диаграмма принятия решения
flowchart TD
A[Получен архив] --> B{Источник надёжен?}
B -- Нет --> C[Не открывать, удалить или отправить на анализ]
B -- Да --> D{Размер архива мал, а распакованный объём велик?}
D -- Да --> E[Остановиться, распаковать в песочнице с лимитами]
D -- Нет --> F[Обычная распаковка и сканирование]
E --> G{Анализ в песочнице чист?}
G -- Нет --> C
G -- Да --> FТесты и критерии приёмки
- Антивирус на шлюзе блокирует архивы, где ожидаемый распакованный объём превышает заданный порог.
- Песочница завершает распаковку заданным таймаутом и не допускает выхода за выделенный диск.
- Регулярные бэкапы проходят проверку восстановления хотя бы раз в квартал.
Итог и рекомендации
Zip‑бомбы — это вектор атаки, направленный не столько на непосредственное заражение, сколько на вывод из строя средств защиты и отвлечение внимания. Самые эффективные меры — сочетание настроек инфраструктуры (ограничения на распаковку, просмотр содержимого архивов на шлюзе), проверенные антивирусы и подготовленные процедуры реагирования.
Важно: не паникуйте при первом подозрении — следуйте чеклисту реагирования и при необходимости привлекайте специалистов по информационной безопасности.
Краткие рекомендации для пользователей:
- Не открывайте вложения от неизвестных отправителей.
- Настройте почту и антивирус так, чтобы крупные или глубоко вложенные архивы проходили дополнительную проверку.
- Храните актуальные резервные копии и проверяйте их возможность восстановления.