拉链炸弹是一个压缩的zip存档文件,该文件停止或崩溃了读取它的系统。解压缩软件当取消压缩这样的存档文件时,需要大量的磁盘空间,处理时间或内存。这使得执行系统最终从资源中消失并崩溃。一个这样的ZIP炸弹文件的例子是42. zip压缩档案,其大小为42千容器,但扩展到4.5 pb的未压缩数据。 了解在我们的简短纲要中的压缩算法
递归vs非追回拉链炸弹
可以用两种不同的方法来创建ZIP炸弹文件,即递归爆炸和非辅助压缩的邮政编码。 递归zip炸弹在单个存档文件中包含压缩文件的层。这告诉解压缩软件以递归扩展嵌套的档案,并呈指数增长。 非恢复Zip Bomb存档将邮政编码内的文件重叠,并且不依赖解压缩器的递归解开嵌套在zip文件中的zip文件。这会导致一轮减压后档案的扩展,并在四次中增加输出尺寸,从而使输出文件大小从小型10 MB文件中最多高达281 TB。
42.zip - 邮政炸弹示例存档文件
42.zip是最著名的示例ZIP档案文件,大小仅为42kb,但是扩展时,它的大小达到4.5 pb,远超过任何可用存储系统的大小。它由递归嵌套的Zip-Files组成,其中最低级别的ZIP文件解压缩到4.3 GB的SIE。该构造使用最常见的缩放压缩算法,该算法与大多数拉链解析器兼容。
结论
单个拉链炸弹文件可能会给您的计算机系统带来巨大问题。例如,防病毒扫描仪软件将扫描这种存档的内容,以确保它们不包含任何恶意软件。但是,这些邮政炸弹将使防病毒软件参与非结束活动,从而导致系统崩溃或系统摆脱内存问题。在防病毒软件的停止活动期间,其他恶意软件可以感染计算机。值得庆幸的是,现在许多防病毒扫描仪仅扫描几层递归,以帮助防止使用这种拉链炸弹进行攻击。