欢迎留言讨论,期待与你共同进步掘金人的第一篇博客 - 掘金 (juejin.cn)
写在前面
感谢原作认可,时过两年,重新根据最新版本再次翻译。
当前版本:V2,from Version2021-07-29
存储有价,数据无价,谨慎使用,请勿用于非法用途。
译文发表记录声明
当前版本:V2,from Version2021-07-29
「掘金:北岸冷若冰霜」[译]A better zip bomb,比例28000000:1「掘金首发V2」
「CSDN:北岸冷若冰霜」A better zip bomb,比例28000000:1已发版本:V1,from Version2019-07-06
「个站:北岸冷若冰霜」A better zip bomb
「看雪:北岸冷若冰霜」ZBLG:非递归zip bomb,比例为28000000:1
「CSDN:北岸冷若冰霜」ZBLG:非递归zipbomb,比例为28000000:1
原创声明
原文:www.bamsoftware.com/hacks/zipbo…
作者:David Fifield
Email:david@bamsoftware.com一切版权原作者所有。
文章内容仅代表原作者独立观点,不代表本账号立场,翻译目的在于传递更多知识。如有侵权请联系删除。
2019-07-02 updated 2019-07-03, 2019-07-05, 2019-07-06, 2019-07-08, 2019-07-18, 2019-07-20, 2019-07-22, 2019-07-24, 2019-08-05, 2019-08-19, 2019-08-22, 2019-10-14, 2019-10-18, 2019-10-30, 2019-11-28, 2020-07-28, 2021-01-21, 2021-02-02, 2021-05-03, 2021-07-29
[译]Part 1:A better zip bomb,比例28000000:1「掘金首发V2」
[译]Part 2:A better zip bomb,比例28000000:1「掘金首发V2」
因篇幅限制,上接Part 1,详细请转至Part 1:
感谢
Mark Adler、 Blake Burkhart、 Gynvael Coldwind、 Russ Cox、 Brandon Enright、 Joran Dirk Greef、 Marek Majkowski、 Josh Wolfe和USENIX WOOT 2019审阅者对本文或草稿的评论。Caolán McNamara 评估了 LibreOffice 中 zip bomb的安全影响。 @m1rko 写了俄文翻译。 北岸冷若冰霜 写了中文翻译。Daniel Ketterer 报告说,--template在添加--giant-steps.
本文的一个版本出现在 USENIX WOOT 2019 研讨会上。提供研讨会谈话 视频、幻灯片和成绩单 。论文的源代码是可用的。 准备提交的工件是zipbomb-woot19.zip。
你有没有发现一个系统会被这些 zip bomb中的一个阻塞?他们是否帮助您展示漏洞或赢得错误赏金? 让我知道,我会试着在这里提到它。
-
LibreOffice 6.1.5.2
zblg.zip 重命名为 zblg.odt 或 zblg.docx 将导致 LibreOffice 在尝试确定文件格式时创建和删除一些 ~4 GB 的临时文件。它最终会完成,并且会在执行过程中删除临时文件,因此它只是一个不会填满磁盘的临时 DoS。Caolán McNamara 回复了我的错误报告。
-
Mozilla 插件服务器 2019.06.06
我针对本地安装的 addons-server 尝试了 zip bomb,它是 addons.mozilla.org 背后软件的一部分。该系统处理它摆好,强加时间限制 的110 秒在提取上。zip bomb的扩展速度与磁盘允许的时间限制一样快,但在那之后,该进程将被终止,解压缩的文件最终会被自动清理。
-
解压 6.0
Mark Adler 为 UnZip编写 了一个补丁来检测此类 zip bomb。
2019-07-05:我注意到CVE-2019-13232 被分配给 UnZip。就我个人而言,我认为 UnZip(或任何 zip 解析器)处理此处讨论的 zip bomb 的能力必然代表安全漏洞,甚至是错误。这是一个自然的实现,不会以我能说的任何方式违反规范。本文中讨论的类型只是 zip bomb的一种类型,并且 zip 解析出错的方式有很多种,但都不是zip bomb。如果要抵御资源耗尽攻击,你应该不尝试枚举、检测和阻止每个已知的攻击;相反,您应该对时间和其他资源施加外部限制,以便解析器无论面临什么样的攻击,都不会表现得过多。尝试检测和拒绝某些构造作为第一遍优化并没有错,但您不能就此止步。如果您最终不隔离和限制对不受信任数据的操作,您的系统可能仍然容易受到攻击。考虑与HTML 中的跨站点脚本进行类比:正确的防御不是尝试过滤掉可能被解释为代码的字节,而是正确地转义所有内容。
Mark Adler 的补丁在错误 #931433 中进入了 Debian 。 有一些意想不到的后果:解析某些 Java JAR 时出现问题(错误 #931895)和 Firefox 的 omni.ja 文件的突变 zip 格式问题(错误 #932404)。SUSE 决定 不对 CVE-2019-13232采取任何措施。我认为 Debian 和 SUSE 的选择都是有道理的。
-
罗诺蒙/zip
在这篇文章发表后不久,Joran Dirk Greef 发布了一个 限制性的 zip 解析器(JavaScript),它禁止出现文件重叠或文件之间未使用空间等违规行为。虽然它可能因此拒绝某些有效的 zip 文件,但其想法是确保任何下游解析器将只接收干净、易于解析的文件。
-
防病毒引擎
总体而言,恶意软件扫描程序似乎已慢慢开始将此类 zip bomb(或至少可下载的特定样本)识别为恶意。看看检测是健壮的还是脆弱的会很有趣。例如,您可以颠倒中央目录中条目的顺序,然后查看是否仍然检测到 zip 文件。在源代码中,有一个生成 zbsm.extra.zip 的方法,它类似于 zbsm.zip,除了它使用 字段外引用而不是 DEFLATE 引用——如果您是检测 zbsm.zip 的 AV 服务的客户,但是不是 zbsm.extra.zip,你应该要求解释。另一个简单的变体是 在zip bomb文件之间插入间隔文件,这可能会欺骗某些重叠检测算法。
Twitter 用户@TVqQAAMAAAAEAAA 报告 “我的测试机器上的 McAfee AV 刚刚爆发。” 我没有独立确认它,也没有版本号等详细信息。
Tavis Ormandy指出 zblg.zip 的 VirusTotal 中有许多“超时”结果 (截图2019-07-06)。 AhnLab-V3、ClamAV、DrWeb、Endgame、F-Secure、GData、K7AntiVirus、K7GW、MaxSecure、McAfee、McAfee-GW-Edition、Panda、Qihoo-360、Sophos ML、VBA32。 zbsm.zip 的结果 (截图2019-07-06) 是相似的,但有一组不同的超时引擎:Baido、Bkav、ClamAV、CMC、DrWeb、Endgame、ESET-NOD32、F-Secure、GData、Kingsoft、McAfee-GW-Edition、NANO-Antivirus、Acronis . 有趣的是, zbxl.zip 的结果中没有超时 ; (截屏2019-07-06) 也许这意味着某些防病毒软件不支持 Zip64?
论坛用户 100报告 某个 ESET 产品未检测到 zbxl.zip,可能是因为它使用 Zip64。三天后线程中的更新显示该产品正在更新以检测它。
在ClamAV 错误 12356 中,Hanno Böck 报告说 zblg.zip 导致 clamscan 中的 CPU 使用率过高。 检测重叠文件 的初始补丁被证明是不完整的, 因为它只检查了相邻的文件对。(我个人通过在错误跟踪器上发布解决方法的详细信息而不是私下报告来错误地处理了这个问题。) 后来的补丁 对文件分析施加了时间限制。
2020-07-28:FlyTech Videos 展示了针对 Windows Defender、Windows Explorer 和 7-zip测试各种 zip bomb(包括zbxl.zip)的 视频。
在我的 Web 服务器日志中,我注意到许多引用者似乎指向错误跟踪器。
- jira.athr.ru/browse/WEB-…
- project.avira.org/browse/ENGI…
- project.avira.org/browse/ENGI…
- topdesk-imp.cicapp.nl/tas/secure/…
- jira-eng-rtp3.cisco.com/jira/browse…
- jira-eng-sjc1.cisco.com/jira/browse…
- flightdataservices.atlassian.net/secure/Rapi…
- projects.ucd.gpn.gov.uk/browse/VULN…
- testrail-int.qa1.immunet.com/index.php?/…
- redmine-int-prod.intranet.cnim.net/issues/5596
- bugs.drweb.com/view.php?id…
- dev-jira.dynatrace.org/browse/APM-…
- webgate.ec.europa.eu/CITnet/jira…
- jira.egnyte-it.com/browse/IN-8…
- jira.hq.eset.com/browse/CCDB…
- bugzilla.olympus.f5net.com/show_bug.cg…
- mantis.fortinet.com/bug_view_pa…
- redmine.joesecurity.org:64998/issues/4705
- dev.maildev.jp/mantis/view…
- confluence.managed.lu/pages/viewp…
- jira-lvs.prod.mcafee.com/browse/TSWS…
- jira.modulbank.ru/browse/PV-3…
- jira.netzwerk.intern:8080/browse/SALE…
- jira-hq.paloaltonetworks.local/browse/CON-…
- jira-hq.paloaltonetworks.local/browse/GSRT…
- jira-hq.paloaltonetworks.local/browse/PAN-…
- paynearme.atlassian.net/browse/PNM-…
- jira.proofpoint.com/jira/browse…
- dev.pulsesecure.net/jira/browse…
- qualtrics.atlassian.net/browse/APP-…
- jira.sastdev.net/browse/CIS-…
- jira.sastdev.net/secure/Rapi…
- bugzilla.seeburger.de/show_bug.cg…
- svm.cert.siemens.com/auseno/crea…
- jira.sophos.net/browse/CPIS…
- jira.vrt.sourcefire.com/browse/TT-1…
- task.jarvis.trendmicro.com/browse/JPSE…
- segjira.trendmicro.com:8443/browse/SEG-…
- segjira.trendmicro.com:8443/browse/SEG-…
- ucsc-cgl.atlassian.net/secure/Rapi…
- jira.withbc.com/browse/BC-4…
- zscaler.zendesk.com/agent/ticke…
-
网络浏览器
这个我自己没有直接体验过,不过网上有报道说Chrome和Safari下载后可能会自动解压文件。
- ittakir : "Скачал самый маленький файл на 5GB, Chrome тут же начал его распаковывать, хотя его об этом нерикорить. “我下载了 5GB 的最小文件,Chrome 立即开始解压缩它,虽然它没有被要求,好吧,吃掉处理器和磁盘。”
- Rzah:“下载后打开安全文件是一个愚蠢的网络浏览器默认设置的另一个原因。”
Chromium commit f04d9b15bd1cba1433ad5453bc3ebff933d0e3bb可能是相关的:
添加检测异常高 ZIP 压缩率的指标
即使我们只扫描小的 ZIP 档案,单个 ZIP 条目也可能非常大。这些指标将衡量这种情况发生的频率。
-
文件系统
我没想到的是:在压缩文件系统上解压缩其中一个zip bomb可能相对安全。
- fly_gel:“如果我将其解压缩到压缩的 zfs 数据集上,生成的文件会很小吗?编辑:刚刚用 42KB->5.5GB 的 zip bomb做了一个小测试。我最终得到了 165MB 的文件,所以只有 3%在完整的zip bomb中,它仍然是 4028 倍的膨胀。......我只启用了标准的 LZ4 压缩,没有重复数据删除。”
-
推特
从那时起,这篇文章的链接就在 Twitter 上被广泛分享 2019-07-02,但周围 2019-07-20它开始显示 “不安全链接”插页式广告 (屏幕截图、存档)。
-
安全浏览
某个时候 2019-07-23似乎该页面以及*.bamsoftware.com 域上的每个页面都被添加到 Web 浏览器用来阻止恶意软件和网络钓鱼站点的安全浏览服务中。 网站状态检查, 屏蔽页面截图。从一些快速检查来看,bamsoftware.com 上的页面似乎也已在 google.com 搜索引擎上降级或除名。
Safe Browsing 块有点烦人,因为它破坏了Snowflake,这是一个完全不相关的服务,碰巧使用域 snowflake-broker.bamsoftware.com,它甚至不托管任何文件,但严格来说是一个 Web API 服务器。请参阅#31230 Firefox 插件被 Google 安全浏览服务阻止。
安全浏览块似乎在或之前结束 2019-08-16.
-
Xfinity xFi 保护浏览
在 2019-11-26,我从 Hooman Mohajeri Moghaddam 那里得知 Comcast Xfinity xFi “受保护的浏览” 功能阻止了 bamsoftware.com 域,包括此页面(截图)。
-
D标准.zip
D 编程语言 对std.zip 模块进行了修改 以检测重叠文件。
-
苹果 iOS 和 iPadOS
Dzmitry Plotnikau 向我发送了一份报告,称 zip bomb可能会耗尽运行 iOS 12 和 13 的 iPhone 上的所有缓存存储,即使仅使用“快速查看”打开。存储空间耗尽可能会产生各种副作用,包括行为不当的应用程序、本地云文件的删除和操作系统崩溃,在某些情况下需要恢复出厂设置才能补救。该错误在 iOS 14.0 中得到缓解(可能还有其他同期发布的 iOS 和 iPadOS)。请参阅 “libarchive”标题下的HT211850。
A final plea
原文
It's time to put an end to Facebook. Working there is not ethically neutral: every day that you go into work, you are doing something wrong. If you have a Facebook account, delete it. If you work at Facebook, quit.And let us not forget that the National Security Agency must be destroyed.