|
Преди много години бяха доста популярни zip-бомбите, които се разархивират в себе си. Zip-бомбата може да се използва и за организиране на своеобразни компютърни атаки. Пример за това е файлът 42.zip (unforgettable.dk), с размер 42 KB. При опит да бъде разархивиран, процесът продължава, докато се запълнят системните ресурси, и би могъл да заеме 4,5 PB дисково пространство. 
Програмистът Дейвид Фифийлд измисли нов начин за използване на тези архиваторни бомби. Той се досетил, че по подобен начин е организиран графичният формат PNG, в който се използва алгоритъма за компресиране DEFLATE, включен в програмната библиотека zlib. Той пробвал най-различни варианти и накрая получил файла spark.png.bz2 с размер 420 байта. Алгоритъмът DEFLATE заменя повтарящите блокове с указатели, като всеки два бита кодират 258 нулеви байта. Компресията в този случай достига 1032 към 1. След като DEFLATE приключи работата си следва използването на алгоритъма bzip2, който компресира дългите последователности, съдържащи еднакви символи, в максимално компактен вид. В крайна сметка, в архива с размер 420 байта се намира PNG файл с размер 6 132 534 байта (5,8 MB) и изображение с размер 225 000 х 225 000 пиксела (50,625 мегапиксела). Но в буфера за пиксели, който използва три байта за всеки пиксел, изображението заема около 141,4 GB. Изображението почти изцяло е съставено от нули, но в центъра има таен текст. За по-добра компресия се използва 1-битово цветово пространство, но повечето програми за обработка на графика използват по три байта на пиксел и разгръщат изображението до 141,4 GB. |
|