研究人员发现了一种读取受密码保护的PDF文件内容的新方法
嗯,这现在是可能的,有点—;多亏了一套新颖的攻击技术,攻击者可以在某些特定情况下访问受密码保护或加密的PDF文件的全部内容。
PDFex,这套新技术包括两类攻击,它们利用了可移植文档格式(更广为人知的PDF)中内置的标准加密保护的安全弱点。
需要注意的是,PDFex攻击不允许攻击者知道或删除加密PDF的密码;相反,一旦合法用户打开该文档,攻击者就可以远程过滤内容。
换句话说,PDFex允许攻击者在没有相应密码的情况下修改受保护的PDF文档,这样,当使用正确密码的人打开该文件时,该文件将自动将解密内容的副本发送到互联网上由远程攻击者控制的服务器。
研究人员针对27个广泛使用的PDF浏览器和桌面浏览器浏览器浏览器,测试了他们的PDFex攻击,发现所有人都容易受到这两种攻击中至少一种的攻击,尽管大多数人都容易受到这两种攻击。
受影响的PDF查看器包括Windows、macOS和Linux桌面操作系统的流行软件,例如:
- Adobe Acrobat
- Foxit阅读器
- 奥库拉
- 表现
- 硝基读取器
...以及内置在web浏览器中的PDF查看器:
- 铬
- 火狐
- 游猎
- 歌剧
PDFex攻击利用了两个PDF漏洞
由一组德国安全研究人员发现,PDFex之所以有效,是因为PDF加密有两个主要弱点,如下所述:
1) 部分加密—;设计的标准PDF规范支持部分加密,只允许对字符串和流进行加密,而定义PDF文档结构的对象保持未加密状态。
因此,对密文与明文混合的支持使攻击者有机会轻松操纵文档结构并向其中注入恶意负载。
2)密文延展性—;PDF加密使用无完整性检查的密码块链接(CBC)加密模式,攻击者可以利用该模式创建自过滤密文部分。
PDFex攻击类别:直接过滤和CBC小工具
现在,让我们简要了解两类PDFex攻击。
1类:直接过滤;它滥用了受保护PDF文件的部分加密功能。
攻击者可以在未触及内容的情况下,在目标加密PDF中添加额外的未加密对象,用于定义合法用户成功打开时要执行的恶意操作。
下面列出的这些操作定义了远程攻击者可以过滤内容的方式:
- 提交表格
- 调用URL
- 执行JavaScript
文章写道:“该操作将加密部分引用为请求中要包含的内容,因此可用于将其明文过滤到任意URL。”。
“一旦打开PDF文件(解密后),或通过用户交互(例如,通过在文档中单击),即可自动触发操作的执行。”
例如,如图所示,包含表单提交URL(蓝色)的对象未加密,完全由攻击者控制。
第2类:CBC小工具;并非所有PDF查看器都支持部分加密的文档,但其中许多还没有文件完整性保护,这使得攻击者可以直接在加密对象中修改明文数据。
基于CBC gadget的攻击的攻击场景几乎与直接过滤攻击相同,唯一的区别是,攻击者在这里修改现有的加密内容或从CBC gadget创建新内容,以添加定义如何过滤数据的操作。
此外,如果PDF包含压缩流以减小文件大小,攻击者需要使用半开放的对象流来窃取数据。
针对PDFex攻击发布PoC漏洞
该研究团队包括来自波鸿鲁尔大学和明斯特大学的六名德国学者,已向所有受影响的供应商报告了他们的发现,并向公众发布了PDFex攻击的概念证明。
同一研究团队之前的一些研究包括2018年5月揭露的eFail攻击,该攻击影响了十几个流行的PGP加密电子邮件客户端。
有关PDFex攻击的更多技术细节,请访问研究人员发布的这个专用网站和题为“实用解密过滤:破解PDF加密”的研究论文[PDF]