24 юли, 2019

Zip файловете са полезен инструмент за транспортиране и архивиране на информация от няколко десетилетия насам. Но все пак, тази полезност има и друга – тъмна страна, която може да предизвика огромни щети, че дори и фатални. Така наречените “файлови бомби” са способни да убият компютър. От години в интернет циркулира 42.zip с големина от 42 KB, което разгърнато става 5.5 GB. Но вече съществува ъпгрейд с масивна мощ.

Програмистът и инженер David Fifield разкри за нова зип-бомба, създадена от него, чиято големина е 46 МB. Алгоритъмът, който е измислил, успява да компресира файловете до такъв коефициент, че когато тези 46 MB бъдат unzip-нати, се превръщат в 4.5 PB, което се равнява на 4608 TB. Не съществува компютър за масова продажба с толкова място, а за референция – storage пространството на суперкомпютъра Titan е 40 PB. При хипотетично покусяване, няма да го унищожи, но щетите ще са значителни.

За създаването на 46.zip (не теглете), David Fifield използвал bulk_deflate, персонализиран компресор, който успява да компресира данните по-плътно отколкото zlib, info_Zlib или Zopfli. Въпреки, че bulk_deflate имал добро представяне, все пак Fifield трябвало да използва и разширението на zip стандарта – ZIP64, чрез който успял да достигне до повече от 281 TB продукция.

Все пак, според самия Fifield, почти е невъзможно някой да нацели zip бомба, просто ей така, докато сърфира из интернет. По-скоро трябва да се търси целенасочено, за да се попадне на нея. Но защо някой би го направил? Дори и попадайки, обаче, би трябвало една модерна антивирусна програма да го засече, така че, едва ли някой би го разархивирал. Друго, което го издава е застъпилите се файлове. Ако има прекалено много, инсепшън от zip-файлове един в друг, определено има нещо съмнително.

Създателят на 46.zip смята, че работата му е важна за дивелъпърите, защото демонстрира рисковете в работата и обработката на сложни архивни формати като Zip. Целият процес на работа по създаването може да бъде разгледан в блога на David Fifield.

Тагове: , ,