世界上最大的ZIP炸弹:114885734 Quettabytes,一个普通人无法想象的量级
2024-8-23 13:27:26 Author: www.freebuf.com(查看原文) 阅读量:36 收藏

freeBuf

主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

1148857344 Quettabytes,这个量级可能很多人没有概念:

1 Quettabytes = 1,000,000,000,000,000,000,000,000,000,000 bytes(不用数了,后面有30个零)

目前全球数字存储总量约为ZB(Zettabyte)级,比 1QB(Quettabytes)小得多,目前世界上没有任意方式可以处理如此海量级的数据,需要的技术远远超出我们目前的能力。

而 1148857344 Quettabytes 转换为 Zettabytes 是 1,175,061,884,160Zettabytes。

ZIP炸弹实际上很简单,就是一个很小的压缩文件,看似无害。但是当我们去解压这个看起来很小的压缩文件时,会发现它像一个炸弹一样,疯狂的膨胀,消耗大量的系统资源,如CPU、内存和磁盘空间。

比如之前很出名的一个42.zip的文件,初始大小就只有42kb,但是解压之后,达到了4.5PB

它实际上并不是通过创建一个巨大的文件并将它进行压缩来生成zip文件,而是通过对zip格式的解析,直接通过程序来虚构一个文件。这个文件在使用对应的压缩算法进行解压缩时,会被解压成一个超大的文件

取个例子,假设我们有一个压缩算法,它会将重复的字母进行压缩,通过在对应的字母后面加一个数字来标记它重复了多少次。

比如字符串“aaaaabbbb”,我们通过这个压缩算法,可以压缩为“a5b3”,那如果我们希望生成一个1GB的文件,那我们不需要输入无数个a,让它达到1GB的大小,而是可以直接生成一个压缩文件,它的内容是“a1000000000”,那我们就创建了一个压缩比高达9000多万倍的压缩文件(从1GB压缩到11Byte)。

那假如这种压缩格式还允许嵌套的话,那就更可怕了,每嵌套一次,还要再膨胀一倍,这就会让我们的压缩率变得很夸张。

事实上目前的压缩算法基本上都可以嵌套,比如42.zip它就包含16组的五层嵌套zip文件。

目前市面上所有的杀毒软件基本上都会识别到这种恶意的ZIP包,而且部分操作系统也会限制解压的层级的识别文件大小,所以目前这种攻击危害算是有限。

但是不排除后面有新的绕过手段,所以还是不要在没有做任何防护的情况下,随便乱解压各种未知的压缩文件。

来源:混入安全圈的程序猿

本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022


文章来源: https://www.freebuf.com/news/409266.html
如有侵权请联系:admin#unsafe.sh