Новий Zip Bomb Stuffs 4.5PB даних в 46MB файлу

Новий Zip Bomb Stuffs 4.5PB даних в 46MB файлу

Файли ZIP були зручним способом стиснення інформації для легшого транспортування та зберігання протягом десятиліть. Але реалії 5,25-дюймового і 3,5-дюймового довголіття дискети зробили покладатися на багатодискові zip-архіви, коли йшлося про довгострокове збереження даних. Протягом багатьох років ми знали, що можна створити тип файлу, відомий як "zip bomb" - начебто малий zip-файл, який містив шар за шаром вкладених архівів zip, так що остаточна розпакована версія набору даних бути на багато порядків більше остаточної версії. Файл з невідомим походженням, названий 42.zip, плавав навколо онлайн протягом багатьох років, упаковуючи 4.5PB даних у файл 42KB, використовуючи цей метод. Антивірусні сканери та розпаковують програми зазвичай тепер запобігають роботі zip-бомб, відмовляючись привабитись до розпакування шару за шаром рекурсивних даних.

Дослідник Девід Фіфілд розробив свій тип поштової бомби, яка покращує (або "покращує") цю практику. Розмір його файлу набагато більший, що вимагає розширення файлу розміром 46 МБ у архіві 4.5PB, але це не залежить від рекурсії для досягнення стиснення.

Причина використання рекурсії з допомогою zip-бомб полягає в тому, що алгоритм DEFLATE, який використовується в ZIP-парсерах, не може досягти ступеня стиснення, вищого за 1032: 1. Якщо ви хочете більше стиснення, ніж це, ви повинні рекурсивно. Fifield відкрив спосіб обійти цю межу. Як він пише в своєму блозі: \ t

Ця стаття показує, як побудувати нерекурсивну zip-бомбу, у якої коефіцієнт стиснення перевищує ліміт DEFLATE 1032. Він працює, перекриваючи файли всередині zip-контейнера, щоб посилатися на "ядро" високо стислих даних у декількох файлах, не роблячи кілька копій. Вихідний розмір zip-бомби зростає квадратично у вхідному розмірі; тобто ступінь стиснення стає кращою, коли бомба стає більшою. Конструкція залежить від особливостей як zip, так і DEFLATE - вона не безпосередньо переноситься на інші формати файлів або алгоритми стиснення. Він сумісний з більшістю ZIP-парсерів, виняток - "потокове" парсери, які аналізують за один прохід без попереднього звернення до центрального каталогу zip-файлу.

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

Зображення Девіда Фіфілда
Зображення Девіда Фіфілда

Він використовував custom_deflate, спеціальний компресор, «спеціалізований для стиснення рядка повторюваних байтів», оскільки він міг запаковувати дані більш щільно, ніж zlib, info_ZIP або Zopfli. Незважаючи на те, що bulk_deflate перевершує ці рішення, він зазначає, що він не є ефективним у загальних випадках. Він також повинен був використовувати розширення стандарту zip, відомого як ZIP64, щоб створити файл з більш ніж 281 ТБ виводу даних. З ZIP64, ви можете побудувати поштову бомбу ефективно нескінченної довжини.

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

Деякі антивірусні програми, які можуть виявляти рекурсивні поштові бомби, вже можуть виявити цей спосіб їх створення, і Fifield вважає, що їх буде досить легко захистити. Тим не менш, це приклад того, як можна модифікувати код, щоб увімкнути нові типи файлів високого стиснення, які раніше не були відомі. Хоча надзвичайно проста атака, поштову бомбу можна розглядати як аналогічну DoS-атаці проти однієї системи, в певному сенсі. За допомогою усунення всіх доступних ресурсів процесора, оперативної пам'яті та ресурсів сховища машина може бути переглянута без відповіді та недоступна. Це метод нападу, який датується найдавнішими днями Інтернету (перша відома поштова бомба була завантажена в 1996 році). Продовжувані дослідження на цю тему є цікавою інженерною історією, навіть якщо потенціал для масової атаки досить низький.

Читати далі

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

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

Нові відомості про Intel Rocket Lake: Сумісність із зворотною стороною, Xe Graphics, Cypress Cove
Нові відомості про Intel Rocket Lake: Сумісність із зворотною стороною, Xe Graphics, Cypress Cove

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

RISC-V навшпиньки до основного потоку завдяки платформі розробників SiFive, високопродуктивний процесор
RISC-V навшпиньки до основного потоку завдяки платформі розробників SiFive, високопродуктивний процесор

RISC V продовжує проникати на ринок, цього разу завдяки дешевшій та повнофункціональнішій тестовій материнській платі.

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

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