Новый Zip Bomb Stuff 4.5PB данных в файл 46MB

Новый Zip Bomb Stuff 4.5PB данных в файл 46MB

ZIP-файлы на протяжении десятилетий были удобным способом сжатия информации для более удобной транспортировки и хранения. Но реалии 5,25-дюймовой и 3,5-дюймовой долговечности дискет сделали ставку на многодисковые zip-архивы азартной, когда речь заходит о долгосрочной сохранности данных. В течение многих лет мы знали, что было возможно создать тип файла, известный как «zip bomb» - кажущийся небольшим zip-файл, который содержал слой за слоем вложенных zip-архивов, так что окончательная разархивированная версия набора данных будет быть на много порядков больше, чем окончательная версия. Файл с неизвестным происхождением, названный 42.zip, распространялся онлайн в течение многих лет, упаковывая 4,5 ПБ данных в файл размером 42 КБ с помощью этого метода. Антивирусные сканеры и приложения для разархивирования теперь обычно предотвращают работу почтовых бомб, отказываясь быть заманенными в слой распаковки за слоем рекурсивных данных.

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

Причина, по которой zip-бомбы используют рекурсию, заключается в том, что алгоритм DEFLATE, используемый в парсерах ZIP, не может достичь степени сжатия выше 1032: 1. Если вы хотите больше сжатия, чем это, вы должны повторить. Файфилд нашел способ обойти этот предел. Как он пишет в своем блоге:

В этой статье показано, как создать нерекурсивную zip-бомбу, степень сжатия которой превышает предел DEFLATE, равный 1032. Он работает путем наложения файлов внутри zip-контейнера, чтобы ссылаться на «ядро» сильно сжатых данных в нескольких файлах, не делая несколько копий этого. Выходной размер Zip-бомбы увеличивается в квадрате по сравнению с входным размером; то есть степень сжатия улучшается, когда бомба становится больше. Конструкция зависит от функций как zip, так и DEFLATE - она ​​не может напрямую переноситься на другие форматы файлов или алгоритмы сжатия. Он совместим с большинством парсеров zip, за исключением «потоковых» парсеров, которые анализируют за один проход без предварительной консультации с центральным каталогом zip-файла.

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

Изображение Дэвида Фифилда
Изображение Дэвида Фифилда

Он использовал bulk_deflate, специальный компрессор, «специально предназначенный для сжатия строки повторяющихся байтов», потому что он может упаковывать данные более плотно, чем zlib, info_ZIP или Zopfli. Хотя bulk_deflate превосходит эти решения, он отмечает, что он не так эффективен в общих случаях использования. Ему также пришлось использовать расширение стандарта zip, известное как ZIP64, для создания файла с объемом вывода более 281 ТБ. С ZIP64 вы можете создать бомбу с молнией практически бесконечной длины.

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

Некоторые антивирусные приложения, которые могут обнаруживать рекурсивные бомбы на молнии, уже могут обнаружить этот метод их создания, и Fifield считает, что от них будет довольно легко защититься. Тем не менее, это пример того, как код можно творчески изменить, чтобы включить новые типы файлов с высокой степенью сжатия, которые ранее не были известны. В то время как чрезвычайно простая атака, в некотором смысле зомб-бомба может рассматриваться как аналог DoS-атаки на одну систему. Перебирая все доступные ресурсы ЦП, ОЗУ и СХД, компьютер может перестать отвечать на запросы и быть недоступен. Это метод атаки, который относится к самым ранним дням Интернета (первая известная бомба на молнии была загружена в 1996 году). Продолжающиеся исследования по этой теме - интересная инженерная история, даже если вероятность массивной атаки довольно мала.

Читать далее

Новая серия AMD Radeon RX 6000 оптимизирована для борьбы с амперами
Новая серия AMD Radeon RX 6000 оптимизирована для борьбы с амперами

AMD представила серию RX 6000 сегодня. Впервые с момента покупки ATI в 2006 году использование графических процессоров AMD на платформах AMD даст определенные преимущества.

Новые детали Intel Rocket Lake: обратная совместимость, графика Xe, Cypress Cove
Новые детали Intel Rocket Lake: обратная совместимость, графика Xe, Cypress Cove

Intel опубликовала немного больше информации о Rocket Lake и его 10-нм процессоре, который был перенесен на 14-нм.

Хаббл исследует 16 "Психеи", астероид стоимостью 10 000 квадриллионов долларов
Хаббл исследует 16 "Психеи", астероид стоимостью 10 000 квадриллионов долларов

Исследователи только что завершили ультрафиолетовое обследование 16 Psyche, сверхценного астероида, который НАСА планирует посетить в 2026 году.

Intel представляет новые мобильные графические процессоры Xe Max для создателей контента начального уровня
Intel представляет новые мобильные графические процессоры Xe Max для создателей контента начального уровня

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