Zip 炸彈

一种恶意的计算机压缩文件

zip 炸彈,也稱為死亡 zip解壓縮炸彈,是一種惡意的電腦檔案,會使讀取它的程式或系統崩潰或失效。它會使防毒軟體失去能力,來為更多的傳統電腦病毒創造機會。[1]

zip 炸彈不會阻止程式的正常執行,而是讓程式工作,但是檔案里的檔案是精心設計的,因此要解壓縮檔案時(比如用病毒掃描程式來給它掃描病毒),就需要花費大量時間、磁碟空間隨機存取記憶體

大多數現代防毒軟件都可以檢測檔案是否是 zip 炸彈,以免將其解壓縮。[2]

細節和用途

一個 zip 炸彈通常是一個小檔案,便於傳輸也避免被懷疑。 但是,解壓縮檔案時,它的內容就會超出系統的處理能力。

zip炸彈的一個範例是檔案42.zip,它是一個只有42 KB大的zip檔案,其中包含5層巢狀的zip檔案(每組16個),如果全部解壓縮出來,每個底層壓縮檔案的大小是 4.3 GB(4 294 967 295位元組,約為3.99GiB),總計4.5 PB(4 503 599 626 321 920位元組,約為3.99 PiB),是解壓縮前約一百多兆倍大。[3] 這個檔案可從互聯網上的各種網站上下載。 在許多防病毒掃描程式中,僅對歸檔執行幾層遞歸,免受可能導致緩衝區溢位,主記憶體不足或超出程式執行時間的攻擊。zip 炸彈經常(如果不是總是)依靠重複相同的檔案內容來實現它極高的壓縮率。 可以採用動態編程方法以免遍歷這些檔案,在每個級別上只跟蹤一個檔案,從而有效地將它的指數增長轉換為線性增長。

也有一些 zip 檔案在未壓縮時會產生相同的副本[4][5] 還有一種複雜的 zip 炸彈形式,它利用 zip 檔案的規範和Deflate壓縮演算法來建立炸彈,而無需使用 42.zip 那樣的巢狀。[6]

另見

參考資料

  1. ^ at 14:35, John Leyden 23 Jul 2001. DoS risk from Zip of death attacks on AV software?. www.theregister.co.uk. [2020-09-12]. (原始內容存檔於2020-03-02). 
  2. ^ Bieringer, Peter. AERAsec - Network Security - Eigene Advisories. 2004-02-12 [2011-02-19]. (原始內容存檔於2016-03-03). 
  3. ^ 42.zip. unforgettable.dk. [2020-09-12]. (原始內容存檔於2022-02-07). 
  4. ^ research!rsc: Zip Files All The Way Down. research.swtch.com. [2020-09-12]. (原始內容存檔於2022-02-24). 
  5. ^ Quine.zip. [2020-09-12]. (原始內容存檔於2022-01-13). 
  6. ^ A better zip bomb. www.bamsoftware.com. [2020-09-12]. (原始內容存檔於2022-02-15).