如果我从可能不受信任的来源下载存档数据,此时我可能会面临损害系统的风险:
- 最初下载并保存存档数据(仍然打包)
- 解压存档数据
- 执行解压存档中的任何文件
在第 3 点,我显然会处于危险之中,但是 1-2 呢?
如果我从可能不受信任的来源下载存档数据,此时我可能会面临损害系统的风险:
在第 3 点,我显然会处于危险之中,但是 1-2 呢?
只要文件只是保存在某个地方并且没有尝试用任何东西打开它,那么1就不会造成任何危险。如果您即使使用文本编辑器查看它,也已经存在被利用的小危险。
在2的情况下,存在漏洞和漏洞利用,因此存在危险。此类可能场景的一些示例:
由 .tar.gz 存档符号链接 (symlink) 漏洞引起的任意文件写入,由于 Bower(流行的 Web 包管理器)如何提取此类存档而被利用
CVE-2018-20250 是 unacev2.dll 中的一个绝对路径遍历漏洞,该 DLL 文件被 WinRAR 用于解析自 2005 年以来未更新的 ACE 档案。特制的 ACE 档案可以利用此漏洞将文件提取到任意路径并绕过实际的目标文件夹。在其示例中,CPR 能够将恶意文件提取到 Windows 启动文件夹中。
CVE-2018-20252 和 CVE-2018-20253 是解析精心制作的存档格式期间的越界写入漏洞。成功利用这些 CVE 可能会导致任意代码执行。
Zip Slip 攻击者可能会使用它来定位他们可以远程执行的文件,例如网站的某些部分,或者计算机或用户无论如何都可能运行的文件,例如流行的应用程序或系统文件。
Helm Chart 存档文件解包路径遍历漏洞。
CVE-2015-5663 - WinRAR 5.30 beta 5 之前的文件执行功能允许本地用户通过名称类似于用户选择的无扩展名文件名的特洛伊木马文件获得权限。
CVE-2005-3262 允许远程攻击者通过 UUE/XXE 文件中的格式字符串说明符执行任意代码,当 WinRAR 显示与无效文件名相关的诊断错误时,这些说明符无法正确处理
有更多示例和数据库具有此类漏洞,甚至其中大多数已在软件的更高版本中得到修复,风险仍然存在。
因此,[ 2 ] 是有风险的,应谨慎处理。
理论上,所有这些地方都可以被利用。我不打算讨论可用的特定漏洞,因为这些漏洞会随着存档格式和移动技术而不断变化:
这不太可能,但您的下载管理器/网络浏览器可能确实存在某种漏洞。您说来源不受信任,因此服务器可能会尝试使用其实现中的漏洞或您正在使用的文件传输协议中的弱点来攻击您的下载程序。这些漏洞很少见,但并非闻所未闻。但从根本上说,除非您确定您的软件完全无法利用,否则与恶意服务器的任何网络连接都可能导致攻击。
您可以通过对下载软件进行沙盒处理来缓解这种情况,只需对您希望下载到的位置和网络堆栈所需的最小权限和访问权限。假设您的操作系统权限模型或沙盒软件也没有漏洞,这主要缓解了这个弱点。
多年来有许多攻击涉及使用中毒的存档文件通过利用存档格式或解压缩软件的弱点在系统上运行任意代码。这些可能比上述弱点更常见。
主要的保护措施再次确保为提取程序提供最小的权限,并可能对其进行沙盒处理,以确保如果成功攻击它可以造成最小的损害。上述注意事项适用。
这显然具有极大的风险,并且适用与运行和恶意软件相同的问题。软件在显式运行时相对容易打破许多沙箱和权限系统保护,因此所有赌注都没有了。您可以在加固的虚拟机中运行该软件有一定的安全性,但这仍然不能完全保护您,除非您使用气隙机器运行程序,然后将其销毁。
所有这些步骤都相当冒险,但每一步都可能比上一步更危险。