PDF 是一种非常流行的文档格式,包括用于处理敏感数据。事实上,该标准提供了非常实用的本机加密,应该可以使数据不受侵犯。要激活它,通常在 PDF 软件中设置密码就足够了。但正如来自鲁尔-波鸿大学和明斯特大学的一组研究人员刚刚表明的那样,这种加密远非不可侵犯。这些专家发现了两种名为“PDFex”的攻击,允许从加密的 PDF 文件中泄露机密信息。
泄露部分加密的数据
第一种攻击称为“直接渗透”,当文件仅部分加密时就可能发生。事实上,PDF 文档的主体依赖于不同的实体来构建数据:一个名为“目录”的根,“页面”和任何“嵌入文件”都添加到该根上。
部分加密时,仅加密页面内容和嵌入文件。然后,黑客可以在文档正文的末尾插入动态代码,该代码将在文件打开或交互(例如单击按钮)后执行。然后,该代码会将现已解密的数据传输到它控制的服务器。
研究人员测试了三种提交方法:HTTP POST 表单、HTTP GET 请求和 Javascript。第一个是迄今为止最实用的。它不像第二个那样限制传输量。默认情况下,它不会像第三种情况那样被禁用。
![](http://webbedxp.com/zh-CN/tech/misha/app/uploads/2019/10/PDFex.jpg)
第二次攻击破译一切
当文档完全加密时,第二次攻击会泄露数据。这项技术的实施要复杂得多,它依赖于 PDF 标准使用的加密模式(即 CBC(密码块链接))中的漏洞。这些漏洞被称为“CBC Gadgets”。
一旦我们知道加密文档的某些部分(例如标头),就可以直接插入我们希望使用的动态代码(HTTP POST、HTTP GET 或 Javascript 请求)。当文档打开并执行时,该代码将被解密。
所有软件或多或少都容易受到攻击
研究人员测试了 27 个 PDF 软件程序。所有这些都容易受到所研究的至少一种不同变体的影响。要执行此类攻击,黑客必须能够访问存储 PDF 的介质,或者能够通过网络即时拦截和修改这些文件。
先验地无法避免的威胁
消除这些缺陷是不可能的,因为它们源于 PDF 标准及其低安全级别。为了改进事情,应该已经消除了部分加密的可能性。那么就需要用不易受攻击且具有完整性验证功能的加密方式来代替CBC,以防止文档被篡改。但这一切都需要对PDF标准进行彻底的改革。
在创建更好的 PDF 标准之前,始终可以用外部加密代替本机加密。该解决方案更安全、更高效,但日常管理也更复杂。
来源:科学论文