Zip 炸弹
![本页使用了标题或全文手工转换](http://images.weserv.nl/?url=//upload.wikimedia.org/wikipedia/commons/thumb/c/cd/Zh_conversion_icon_m.svg/35px-Zh_conversion_icon_m.svg.png)
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]
另见
参考资料
- ^ 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).
- ^ Bieringer, Peter. AERAsec - Network Security - Eigene Advisories. 2004-02-12 [2011-02-19]. (原始内容存档于2016-03-03).
- ^ 42.zip. unforgettable.dk. [2020-09-12]. (原始内容存档于2022-02-07).
- ^ research!rsc: Zip Files All The Way Down. research.swtch.com. [2020-09-12]. (原始内容存档于2022-02-24).
- ^ Quine.zip. [2020-09-12]. (原始内容存档于2022-01-13).
- ^ A better zip bomb. www.bamsoftware.com. [2020-09-12]. (原始内容存档于2022-02-15).