ZIP-бомбы — необычный тип эксплойтов. Технически их нельзя назвать вирусами или вредоносными программами, но при распаковке безобидного, на первый взгляд, архива даже мощнейший компьютер может выйти из строя. Портал howtogeek.com рассказал, что такое ZIP-бомбы и как они работают.
При сжатии файла в формат ZIP-архива, компьютер ищет паттерны в единицах и нулях, из которых он состоит. Повторяющиеся части сохраняются. После этого, вместо того, чтобы записывать ту же самую последовательность символов еще раз, архив просто указывает на оригинал. Алгоритм сжатия безжалостно эффективен — именно поэтому текстовые файлы обычно так хорошо сжимаются. Пара повторенных строк могут сжать размер из мегабайтов до килобайтов
ZIP-бомбы берут эту логику и оборачивают ее против компьютера. Вместо пары повторенных блоков они содержат один блок, повторенный миллионы раз. Данные ни разу не копируются — бомба просто указывает на оригинальные данные бесчисленное множество раз. Потом заворачивает их в еще один архив. И еще один. И еще один.
К моменту, когда человек смотрит на внешние слои ZIP-бомбы, она выглядит совершенно безвредной. Архив маленький, и передается быстро. В нем нет ничего необычного. Но стоит начать распаковку, как крохотный файл превращается в лавину.
Пожалуй, самая известная ZIP-бомба — forty-two. Она представляет собой архив весом всего 42 килобайта, а внутри — 16 архивных файлов. Каждый из них содержит еще 16 файлов, и все они отсылают к одному и тому же фрагменту филлерных данных; если выражаться на языке программирования, это называется рекурсией. Один файл открывает другой, другой файл открывает тот же, каждый слой сжатия повторяет предыдущий. Ничего нового не появляется. Бомба продолжает отсылать к самой себе, пока у системы не закончится место для отслеживания операции.
Даже если какой-то компьютер сможет разархивировать forty-two целиком (большинство не могут), то его содержимое будет весить примерно 4,5 млн ГБ. Целью этой ZIP-бомбы никогда не было заражение систем — она предназначена для краша инструментов, которые пытаются открыть файл.
ZIP-бомбы используются и сегодня, преимущественно в техническом или исследовательском окружении. Некоторые применяются тестировщиками безопасности для нагрузки систем, другие появляются в академических работах, посвященных изучению сжатия. А третьи действительно отправляются злоумышленниками, но не в качестве самой атаки, а в качестве диверсии.
У современных ZIP-бомб есть свои трюки, опирающиеся на актуальные технологии. Есть бомбы, сочетающие разные форматы архивов; другие используют слои, зашифрованные паролями, чтобы обдурить базовые сканеры. Некоторые вообще разбиты на несколько электронных писем, и представляют опасность только в том случае, если собрать их воедино.
Можно ли защититься от ZIP-бомб? Непосредственно архив никак нельзя «починить» — по своему содержанию он не вредоносный. Поэтому самый надежный способ защиты — внимательность. Некоторые системы прекращают распаковку, пройдя несколько слоев, а некоторые — отказываются распаковывать больше определенного объема. Также есть инструменты, которые обнаруживают повторяющиеся отсылки к одному и тому же блоку кода. Антивирусные программы тоже способны распознавать бомбы.