İnternette yıllardır mobil telefonlardan ortalama bir fotoğraf kadar küçük bir dosyanın varlığına rağmen, tamamen açılması inanılmaz 4,5 petabayt alan gerektiğini belirtiyor. Adı 42.zip ve en ünlü ZIP bombalarından biri olarak kabul ediliyor.
Ancak hemen açıklamak önemli - 42.zip klasik bir bilgisayar virüsü değil ve dosyayı indirdiğiniz anda hard diskinizi otomatik olarak yok etmiyor. Tehdit, programın tüm arşiv katmanlarını açmaya çalıştığında ortaya çıkıyor, bu da bilgisayarın boş alan, bellek veya işlemci kaynaklarından yoksun kalmasına neden olabilir.
ZIP bombasının çalışma prensibi, sıkıştırılmış ve açılmış verilerin boyutları arasındaki muazzam fark üzerine kuruludur.
Kaspersky şirketi tarafından yapılan bilgilere göre, ünlü 42.zip sadece yaklaşık 42 kilobyte kaplıyor ancak altı seviyede iç içe geçmiş arşiv içeriyor. Eğer bunların hepsi sırayla açılırsa, son veri miktarı yaklaşık 4,5 petabayt veya yaklaşık 4,5 milyon gigabayt olur.
Karşılaştırma için, 1 TB SSD diskinin kapasitesine sahip bir bilgisayar, bu kadar büyük bir veri miktarını almak için yaklaşık 4.500 tane disk bulundurması gerekirdi.
Trik, arşivlerde çok etkili bir şekilde sıkıştırılabilen verilerin bulunması ve ardından arşivelerin birbirine yerleştirilmesidir. Her sonraki seviye, programın işlemesi gereken veri miktarını önemli ölçüde artırır.
Program ZIP bombasına rastlarsa ve sınırlamadan işleme koymaya başlarsa, sorun sadece disk alanında olmaktan çıkar.
Açma işlemi işlemciyi zorlayabilir, büyük miktarda RAM belleğini kullanabilir ve depolama alanı için mevcut alanı doldurabilir. Sonuç olarak bilgisayarın aşırı yavaşlaması, programın çalışmayı durdurması veya sistemin çökmesi olabilir.
Web uygulamaları güvenliğiyle ilgilenen en ünlü uluslararası organizasyonlardan biri olan OWASP, ZIP bombalarını, hizmetlerin engellenmesi ve DoS saldırıları için kullanılan bir tür dekompresyon bombası saldırısı olarak tanımlıyor. Bu saldırılar, bellek veya disk alanında tüketim yoluyla gerçekleşir.
Bu nedenle ZIP bombaları sadece ev bilgisayarları için değil, özellikle de kullanıcıların gönderdiği dosyaları otomatik olarak kabul eden, tarayan veya açan sunucular ve hizmetler için de tehlikeli olabilir.
42.zip'in bir tıkla 4,5 petabayt veri oluşturmaya çalışacağı gibi görünse de gerçek biraz farklıdır.
USENIX konferansında sunulan bir araştırma, klasik 42.zip'in ünlü 4,5 PB'ye sadece programın arşivi açmaya devam ettiğinde ulaşabileceğini gösteriyor. Eğer sadece ilk seviye açılırsa, veri miktarı çok daha düşüktür.
Bu nedenle "dünyanın en tehlikeli dosyası" başlığı daha çok bir metafor olarak anlaşılmalıdır.
42.zip, ancak, aşırı sıkıştırmanın nasıl kötüye kullanılabileceğinin neredeyse okul dersidir.
Daha ilginç olan şey, 42.zip'in bugün artık bu tür saldırıların en sofistike örneği değil.
İnşaatçı David Fifield, 2019 yılında rekursif olmayan ZIP bombaları oluşturma tekniğini tanıttı. Klasik 42.zip'e kıyasla, bunlar çok sayıda bir arşivi birbirine yerleştirmeye dayalı değildir. Teknoloji, ZIP ve DEFLATE formatının özelliklerini kullanarak sıkıştırılmış dosya boyutuyla ortaya çıkan veri miktarı arasındaki aşırı oranı elde etmek için tasarlanmıştır.
Bu önemlidir çünkü klasik ZIP bombaları genellikle programın arşivi otomatik olarak açma derinliğini sınırlayarak nispeten kolayca durdurulabilirler.
Günümüz güvenlik programları, sunucuları ve dosya işleme sistemleri, şüpheli arşivlerin tespit edilmesine yardımcı olmak için farklı sınırlamalar kullanabilirler.
Örneğin, bir sistem, açılacak veri miktarını, bellek tüketimini, işlem süresini veya iç içe geçmiş arşiv seviyelerini sınırlayabilir.
OWASP bu nedenle programcıları, sunuculara dosya gönderme imkanı sağlarken ZIP bombalarını ve depolama alanını doldurabilecek diğer dosyaları göz önünde bulundurarak uyarıyor. Bu durum sistemin erişilebilirliğini tehdit edebilir.
Bu nedenle 42.zip bugün bilgisayar güvenliği efsanesi haline geldi ve aşırı sıkıştırmanın harika bir göstergesi olarak kabul ediliyor, ancak tek bir tıkla herhangi bir modern bilgisayarın yok edileceği bir dosya değil.
Ancak rakamlar hala büyüleyici: birkaç düzine kilobyte büyüklüğündeki bir dosya, tüm katmanları doğru şekilde işlendiğinde milyonlarca gigabayt ölçüsünde veri temsil eder.