Zip Bombası Nedir
Zip Bombası
Sıkıştırılmış bir bomba (veya aşırı dramatik olanlar için 'Ölüm Zipi') olarak da bilinen bir zip bombası, programı veya sistemi okurken kazara veya yararsız hale getirmek için tasarlanmış kötü amaçlı bir arşiv dosyadır. Daha geleneksel virüsler için bir açılım yaratmak için genellikle virüsten koruma yazılımını devre dışı bırakmak için kullanılır. Programın normal çalışmasını ele geçirmek yerine, bir zip bombası programın tasarlandığı gibi çalışmasını sağlar, ancak arşivin ambalajından çıkarılması (örneğin bir virüs tarayıcı tarafından virüs taraması yapmak için) aşırı miktarda zaman gerektirir, Disk alanı veya bellek.
Klasik fermuar bomba çoğu edilir, küçücük bir zip dosyası ölçülen kilobayt. Ancak, bu dosya sıkıştırılmadığında içerikleri sistemin kullanabileceğinden fazla (genellikle Petabyte'a kadar, yani 1000 Terabyte'a kadar). Bazıları da exabytes'e kadar çıkıyor). Evet, exabytes'lik verileri kilobaytlara doldurmaktan bahsediyoruz. Bana göre, bu dahiyane küçük numara "saf bilgisayar korsanı zihniyet" in ürünüdür. Özünde, bu, kimlik avı veya oturum kaçırma veya "korsanlara" kötü bir ad veren başka bir şey gibi bir şey değildir. Bu, basit bir yaratıcı çözüm, gerçekten gösterilen "İsteğin bir yönü var" olan bir sömürülen boşluktur. Nasıl çalıştığını anlamak için, veri sıkıştırmasının nasıl çalıştığını görmek için biraz dolambaçaltı yol almak zorundayız (WinZip, WinRAR vb.)
Çeşitli sıkıştırma yazılımı ve araçları, "Kayıpsız sıkıştırma algoritmaları" denilen şeylerden faydalanmaktadır. Adından da anlaşılacağı gibi, bu algoritmalar herhangi bir bilgi kaybı olmadan dosyaları sıkıştırmak için çalışıyoruz. Açıkça, Bir dosyayı sıkıştırdığımızda, sıkıştırmayı açtıktan sonra onu aynı şekle sokmak isteriz. Bu algoritmalar, istatistiksel fazlalığı gönderenin verilerini hatasız bir şekilde daha kısa bir sürede temsil edecek şekilde kullanır. Şu anda İngilizce: Bilgisayarın sadece 0 ve 1'leri anladığını biliyoruz, bu yüzden her program ya da bilgisayarınızda saklanan herhangi bir veri aslında sadece bir dizi olan 1 ve 0'dır (İkili form). Tamamen doğru olmayan bir örneği ele alalım, ancak ilkeyi anlamanıza yardımcı olacaktır. Diyelim ki ikili dile dönüştürüldükten sonra "1110000101" e benzeyen bir dosya var . Daha önce bahsedilen istatistiksel artıklığı hatırlıyor musunuz? Bu dize içinde bulmaya çalışın (1110000101). İstatistiksel fazlalık temelde aynı şeyin defalarca tekrarlandığı anlamına gelir. Bu dizede, üç tane 1'in ardından dört 0'ın izlediğini görüyoruz. Şimdi şu dizeye bir göz atın: "3140101". Burada olanı sıkıştırma. Biz sadece kodları ve (yukarıdaki gibi dosyaları çözen bir program yazabilirsiniz Yazılım WinZip gibi bir fantezi formu ve yukarıda yaptıklarının aşırı karmaşık formu kullanın). Program, tekrar eden desenleri bulursa, çok fazla 1 gibi, sadece 1'in hepsini başka bir sayı ile değiştirebilir. Bir başka örnek, bir programda "111111111" buluyoruz. Bu dokuzun üst üste 1'dir. Ya onu "91" ile değiştirirsek? Programımızı bir "91" yerine dokuz kez "1" yazarak kodlayabiliriz, Sürecin etkili bir şekilde tersine çevrilmesi. Yine, kod çözme işlemi sırasında, program bizim durumumuzda 1 veya 0'dan farklı herhangi bir sayı ile karşılaşırsa, ardışık sayı yazmak, bizim durumumuzda 1, 9 kez talimatı verilebilir. Böylece "91", "111111111" e dönülür. Bu kayıpsız sıkıştırma.
Önceki dize ne oldu (3140101)? Bunu çözdükten sonra 1110000101, yani orijinal dize geri döndük. Dediğim gibi, bu örnek tamamen doğru değil. Bilgisayarı yalnızca ikili anladığına dikkat edin. Bir bilgisayarda yapacağınız her şey, bir noktada ikili biçimde dönüştürülecektir. Aslında bilgisayar ikili daha (gibi başka bir şeye dönüştürmek zorunda kalır İngilizce sadece bizim için), dilsiz insanlar. "111111111" e "91" yazarak sıkıştırdık. Ancak "91" de "9" da yine 1 ve 0 değerlerine dönüştürülmelidir. Dolayısıyla programımız oldukça arabalık. WinZip, WinRar, PowerISO gibi yaygın kullanılan programlar farklı durumlar için farklı algoritmalar kullanır.
Kayıpsız sıkıştırma mümkündür çünkü çoğu gerçek dünya verileri istatistiksel fazlalığa sahiptir. Kayıpsız sıkıştırma düzenleri tersine çevrilebilir, böylece orijinal veriler yeniden oluşturulabilir.
Bununla birlikte, kayıpsız veri sıkıştırma algoritmaları daima bazı dosyaların sıkıştırılmasında başarısız olur. Gerçekten de, herhangi bir sıkıştırma algoritması, mutlaka, görülebilir desenler içermeyen herhangi bir veriyi sıkıştıramaz. Zaten sıkıştırılmış olan verileri sıkıştırmaya çalışmak, en önemlisi şifrelenmiş verilerin tümünü sıkıştırmaya çalışacağından, aslında bir genişleme ile sonuçlanabilir. Bu nedenle, "ZIPing" veya "RARing" denen bir dosyayı denediysek, bazı durumlarda harika çalıştığını fark edersiniz, ancak diğer durumlarda dosya boyutunu% 5 oranında düşürmeyebilir.
(WinRAR ve WinZIP, neredeyse tüm pratik amaçlar için aynı kabul edilebilirler.Adları, sıkıştırma yeteneklerinden daha farklıdır.İsterseniz kullanmaktan çekinmeyin.) Şimdi, zip bombalarına geri dönün. Daha derinlemesine bir göz atmadan önce, temizlenmiş temel anlamı öğrenelim. Yeni bir metin dosyası alın ve 1000 kez '0' yazın. Kaydet, dosya boyutu sadece 1 kilobayt civarında olmalıdır. Açın, CTRL + A, CTRL + C, CTRL + V - yani her şeyi kopyalayıp yapıştırın. Bunu on kere yapın. Dosyamız şu an 10kb civarında ve tamamen 0'dan yapılmıştır. Bunu birkaç kez daha yapın. Beklentilerinizden daha hızlı, Dosya boyutu hızla megabayt ve daha sonra gigabayt tırmanacaktır. Çoğu durumda, not defteri (veya herhangi bir metin editörü) gerçekten de gecikmeye başlar çünkü pencerede gülünç bir miktarda 0 değeri açıktır. Böyle olduğunda, farklı işletim sistemleri ve yazılımlar, bu tür büyük dosyalarla uğraşırken beklenmedik davranışlara neden olabileceği için, yavaşlama ipucu budur . Pratik olarak, birkaç gigabayt altında tutun ve iyi olmanız gerekir.
(Bazı sistemler için bu çok fazla olabilir, yaklaşık 100 Mb'de duraklatma yapmayı ve daha sonra boyutu yavaşça artırmanızı öneririm, gecikme yaklaşık 15 saniyeden uzun sürerse sınırı aştınız demektir.) Dolayısıyla, 5 GB'lık bir alana sahibiz 0'dan başka bir şey içermeyen metin dosyası (müthiş bir bilgisayarda). Biraz perspektif: Masum küçük not defterinin itaatkar bir şekilde birkaç saniye içinde ele aldığı beşinci milyarı aşan milyar sıfırlar. Bu yüzden, bir dahaki sefer tarayıcınızda biraz gerginleştiğinizde bir defter alıp 5 Gb tutarında bir metin yazmayı deneyin. Bu sadece adil.
Ve geri döndük. Şu gülünç derecede büyük metin dosyasıyla şimdi ne yapacağız? Sıkıştırın ve ciddi biçimde beğenilmeyen bilgisayarın sihir izleyeceğini izleyin. Aynı dizinde artık anlamsız büyük metin dosyasını ve yanında 1 Megabayt altında olması gereken bir zip dosyası görürsünüz. Bu, birinin hacmine 5000 top doldurmak gibidir.
Şimdi, daha derin bir bakış için en ünlü zip bombasını, 42.zip dosyasını kontrol edelim. Bu, 42 kilobayt sıkıştırılmış veriden oluşan, 16 katlı iç içe geçmiş zip dosyalarının beş katmanını içeren bir zip dosyasıdır; Her alt katman arşivinde, sıkıştırılmamış verilerden toplam 4.5 petabayt (4 503 599 626 321 920 bayt; ~ 3.99 PiB) için 4.3 gigabayt (4 294 967 295 bayt; ~ 3.99 GiB) dosyası bulunur. Bu dosya, İnternet'te çeşitli web sitelerinde halen indirilebilir. Birçok anti-virüs tarayıcıda, arabellek taşması, bellek yetersizliği veya kabul edilebilir miktarda program yürütme süresinin aşılmasına neden olan saldırıları önlemek için arşivlerde yalnızca birkaç tekrarlama katmanı gerçekleştirilir. Zip bombaları, sık sık (her zaman olmasa da) aşırı sıkıştırma oranlarını elde etmek için özdeş dosyaların tekrar edilmesine dayanır. Dinamik programlama yöntemleri, bu tür dosyaların geçişini sınırlamak için kullanılabilir; böylece yalnızca üst düzey büyümeyi lineer olarak efektif olarak dönüştürerek yalnızca bir dosya her aşamada ardışık olarak izlenir.
(İşte' Yalnızca 42.zip'e adanmış küçük bir web sitesi, http://www.unforgettable.dk/. Buradan hazır bir zip bombası indirebilirsiniz. Zip dosyası için şifre '42'.
Dosya, otomatik olarak tüm indirmeleri tarayacak şekilde ayarlanmış eski antivirüs yazılımına sahip olan kullanıcıları korumak için bir şifreye sahiptir) Şimdi, yanlış gösterimi önlemek için bir efsananın bozulması gerekiyor. "Zip Bomb" bu kötü amaçlı dosya için doğru bir ad değil. Bir zip-bombası çıkarırsanız, bilgisayarınıza hiçbir şey yapmaz, sadece 16 küçük zip-bomba oluşturacaktır. Bunlardan birisini çözersen, 16 zip-bomb daha verir. Bu nedenle, biri açtığında "patlayacak" değil, Kötü niyetli yazılım yazarları tarafından anti-virüs yazılımını yok etmek için kullandıklarından, kötü amaçlı yazılımların geri kalmasına gerek kalmadan çalışabilirler. Ne olur ki, kötü niyetli bir program AV yazılımına yem olarak yakınında bir zip bombası ekleyebilir. Program rutin bir tarama için anti-virüs ortaya çıkıncaya kadar bekleyecek ve zip-bombanın arkasında "saklanmasını" bekleyecektir. Anti-virüs bombaya ulaştığında, hepsi sınırlı hafızasında açmaya çalışacaktır. 1 dosya 16 olur ve 256 olur ve bellek dolana kadar devam eder. Her ne kadar gerçekte bilgisayar hiçbir zaman belleği kaybetmez, çünkü her işlem yalnızca çok fazla bellek kullanmasına izin verilir, sınırına girdikten sonra bilgisayarın geri kalanını bir OOM (Bellek Yetersizliği) olayından korumak için çöker. Bu, kötü amaçlı yazılım için dosyayı araştırmaya çalışırken bir anti-virüs programına dönüştüğünde, Bilgisayarın geri kalanını yaralı bırakırken yazılım sadece çöker ve çıkar. Zararlı yazılım bunu algılar ve hemen ardından köşede olabilecek AV yazılımı hakkında endişelenmeden bu fırsatı istediği gibi yapmak için kullanır. Ayrıca, iç içe geçmiş arşivler, virüs tarayıcıları (bu "bombalar" ın ana hedefi) gibi programların zekice olmasını ve "çok büyük" arşivlerin paketini açmayı reddetmesini çok daha zorlaştırıyor çünkü son seviyeye kadar toplam veri miktarı "O kadar çok" değil, "en düşük seviyedeki dosyaların bu seviyeye gelene kadar ne kadar büyük olduğunu" görmüyorsunuz; bu da tabii ki çok geç olduğu zamandır. Ancak, çoğu anti-virüs yazılımı bugün bir zip-bombayı tanıdığında bir zip-bombayı tanıyor ve onu atlıyor olacak, Kullanıcıyı, bilgisayarın kötü amaçlı yazılım ile bulaşmış olabileceğini bildirir. Dosyayı işaretlemeden önce genellikle ikinci veya üçüncü seviyeye inerler.
Dahası, kullanılan disk alanını fark etmemelisiniz, çünkü zip bombaları bir anti-virüs programının belleğinde, diske değil, sıkıştırmasını engeller. Çoğu elle arşiv açma programının bu sebepten dolayı bile özyinelemeli bir açılış modu yoktur. Artı, zip-bombalar o kadar hızlı çalışıyorlar ki, toplam bilgisayarın belleğinin yalnızca bir bölümünü kullanırken, saniyeler içinde yetersiz korunan bir anti-virüs programını elinden alabildikleri için CPU'nun çok fazla çalışmasını da fark etmezsiniz.
42.zip sadece bir örnektir, bunun gibi çok daha fazlası var ve siz de kendi yaratabilirsiniz. Benzer bir dosya, "milyar gülüyor" (veya XML Bombası) adı verilen XML tabanlı bir dekompresyon bombası. Temel olarak XML çözümleyicisinin belleğin bitmesine neden olarak bir web tarayıcısını çöker (Yine çoğu tarayıcı bugüne kadar böyle özyinelemeli genişlemeyi algılayacak ve bubi tuzağına sahip XML'leri ayrıştırmaya çalışmayacaktır).
Tüm tohum ekme makinesinin çoktan gitmiş olduğu halde, internette en büyük (ve en küçük) zip bombalarından biri için bile bir sel var. 4 Zettabyte'a kadar genişleyen 5.61 kilobaytlık bir zip dosyası. Zip bombalarının mutlak sınırında görünüyor. İşte KickAss Torrent linki: http://kickass.to/zip-bomb-insanely-huge-zip-archive-4zb-t2105770.html (Bir meydan okuma olarak, çoğaltmayı deneyebilirsiniz. Dosya yapısı Bağlantı: 8 katman, her katmanda 32 arşiv, her arşiv 4Gb dosyası içeriyor)
İşlemi bir kez daha gözden geçirelim . 0'lı dolu 4 Gb'lik bir metin dosyası oluşturun. Sıkıştırın. Zip1 olarak adlandıralım. Bu zip dosyasının 10 kopyasını oluşturun. 10 zip1 var. Şimdi, on zip1'i tekrar sıkıştırın. Zip2 deyin. Şimdi ikinci aşamadayız ve sürece istediğimiz kadar devam edebiliriz ve zip dosyası gittikçe büyüyor. Genel bir şüphe, Bilgisayarlarımızda 4 Zettabyte bellek olmadan 4 Zettabayt'a kadar açılan bir zip dosyası nasıl oluşturabiliriz? Aslında, bunun için 10 Gb'ye bile ihtiyacımız yok. Sadece 4Gb'lık bir metin dosyası aldık ve zip1'e sıkıştırdık. Artık orijinal metin dosyasını artık gerekli olmadığı için silebiliriz. İhtiyacımız olan tek şey, ilk küçük küçük zip dosyasıdır ve bu zip dosyasında daha fazla kopya oluşturup, onları sıkıştırıp, daha fazla kopya oluşturup tekrar sıkıştırıyoruz. Ve bu zip bombasının hikayesini bitiyor. Bunlar aslında toplu iş dosyası kullanarak yaptığımız çatalı bombayı içeren mantık bombaları sınıfına giriyor. Yine, burada DDOS ismi çıkacak. Zip bombaları temel olarak antivirüsler için DDOS'lerdir. Sınırlı bellek, kurulumlarından bu yana tüm bilgisayarlarda kalmış 'kusur' ve bilgisayar korsanları her zaman onu kullanmanın bir yolunu buluyor. Eski yöntemler çalışmayı bıraktığında, yeni yöntemler kısa süre içinde açılır ve yerini alır. DDOSing, Zip Bombs, Çatal Bombaları, XML bombaları, PDF bombaları, arabellek taşmaları ve ne olmaz. Bu, 'bellek yönetimi' programlamanın çok önemli bir bölümünü gerçekten gösterir. Ve böylece, bir sonraki problemle savaşmaya hazır bir gün yaşıyoruz. Zip bombaları temel olarak antivirüsler için DDOS'lerdir. Sınırlı bellek, kurulumlarından bu yana tüm bilgisayarlarda kalmış 'kusur' ve bilgisayar korsanları her zaman onu kullanmanın bir yolunu buluyor. Eski yöntemler çalışmayı bıraktığında, yeni yöntemler kısa süre içinde açılır ve yerini alır. DDOSing, Zip Bombs, Çatal Bombaları, XML bombaları, PDF bombaları, arabellek taşmaları ve ne olmaz. Bu, 'bellek yönetimi' programlamanın çok önemli bir bölümünü gerçekten gösterir. Ve böylece, bir sonraki problemle savaşmaya hazır bir gün yaşıyoruz. Zip bombaları temel olarak antivirüsler için DDOS'lerdir. Sınırlı bellek, kurulumlarından bu yana tüm bilgisayarlarda kalmış 'kusur' ve bilgisayar korsanları her zaman onu kullanmanın bir yolunu buluyor. Eski yöntemler çalışmayı bıraktığında, yeni yöntemler kısa süre içinde açılır ve yerini alır. DDOSing, Zip Bombs, Çatal Bombaları, XML bombaları, PDF bombaları, arabellek taşmaları ve ne olmaz. Bu, 'bellek yönetimi' programlamanın çok önemli bir bölümünü gerçekten gösterir. Ve böylece, bir sonraki problemle savaşmaya hazır bir gün yaşıyoruz. Bu, 'bellek yönetimi' programlamanın çok önemli bir bölümünü gerçekten gösterir. Ve böylece, bir sonraki problemle savaşmaya hazır bir gün yaşıyoruz. Bu, 'bellek yönetimi' programlamanın çok önemli bir bölümünü gerçekten gösterir. Ve böylece, bir sonraki problemle savaşmaya hazır bir gün yaşıyoruz.C2991 ACIL DURUM KODU.