影子攻击允许攻击者替换数字签名PDF中的内容
研究人员已经展示了一种新的攻击类型,这种攻击可能会让一个坏角色绕过现有的对策,破坏数字签名PDF文档的完整性保护。
波鸿鲁尔大学(Ruhr University Bochum)的学者称之为“影子攻击”,该技术使用了“PDF规范提供的巨大灵活性,使影子文档保持标准兼容”
研究结果于昨天在网络和分布式系统安全研讨会(NDSS)上公布,29名PDF观众中有16人接受了测试—;包括Adobe Acrobat、Foxit Reader、Perfect PDF和Okula—;发现容易受到阴影攻击。
为了实施攻击,恶意参与者创建了一个包含两种不同内容的PDF文档:一种是文档签名方期望的内容,另一种是PDF签名后显示的隐藏内容。
研究人员概述道:“PDF文件的签署者会收到文件,审阅并签署。”。“攻击者使用已签名的文档,稍加修改,然后将其发送给受害者。打开已签名的PDF后,受害者会检查数字签名是否已成功验证。但是,受害者看到的内容与签名者不同。”
在模拟世界中,攻击相当于故意在纸质文档中留下空白,并让相关方签字,最终允许对方在空白处插入任意内容。
影子攻击基于研究人员在2019年2月设计的类似威胁,该威胁发现,可以在不使签名无效的情况下更改现有签名文档,从而使伪造PDF文档成为可能。
尽管供应商已经采取了安全措施来解决这个问题,但这项新研究的目的是扩展这种攻击模型,以确定对手可以修改数字签名PDF的可见内容而不使其签名无效的可能性,前提是他们可以在签名前对PDF进行操作。
攻击的核心是利用“无害”的PDF功能,这些功能不会使签名无效,例如,允许对PDF进行更改(如填写表单)的“增量更新”和“交互式表单”(如文本字段、单选按钮等),以隐藏看似无害的覆盖对象背后的恶意内容,或在签名后直接替换原始内容。
第三种称为“隐藏并替换”的变体可用于组合上述方法,并通过简单地更改PDF中的对象引用来修改整个文档的内容。
研究人员说:“攻击者可以构建一个完整的影子文档,影响每个页面的显示,甚至影响页面总数,以及其中包含的每个对象。”。
简单地说,这个想法是创建一个表单,它在签名前后显示相同的值,但在攻击者的操作后显示一组完全不同的值。
为了测试攻击,研究人员发布了两个新的开源工具,称为PDF攻击者和PDF检测器,可用于生成影子文档,并在PDF签名前和修改后测试其操纵性。
缺陷—;跟踪为CVE-2020-9592和CVE-2020-9596—;此后,Adobe在2020年5月12日发布的更新中解决了这一问题。截至2020年12月17日,29个经过测试的PDF应用程序中有11个尚未修补。
这不是PDF安全性第一次受到关注。研究人员之前已经演示了提取受密码保护的PDF文件内容的方法,方法是利用PDF规范本机支持的部分加密,在用户打开该文件后远程过滤内容。
另外,研究人员上个月发现了另一组影响PDF标准的11个漏洞(CVE-2020-28352到CVE-2020-28359,以及CVE-2020-28410到CVE-2020-28412),这些漏洞可能导致拒绝服务、信息泄露、数据操纵攻击,甚至任意代码执行。