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).