数字签名的PDF文件广泛应用于合同、协议中来确保内容的真实性和完整性。用户假设数字签名的PDF文件是最终的,而且无法修改。但在签名的pdf文件中加入标记等或在pdf的表单域中填入内容并不会将pdf签名变得无效。
德国的研究人员分析发现pdf签名机制中存在漏洞,攻击者利用这一特性可以在不修改原始签名验证状态的前提下修改文档的内容。研究人员将这一攻击命名为Shadow Attack,这一机制漏洞获得了2个CVE编号,分别是CVE-2020-9592和CVE-2020-9596。
Shadow攻击
当攻击者准备一个含有不同层的文档并发送给受害后,Shadow攻击就发生了。受害者会对文件用善意的顶层对文件签名,当攻击者接收到该文件后,就会将可视层修改为另外一个。
因为该层也包含在受害者签名的原始文档中的,修改层的可见性并不会破坏加密签名,攻击者可以对文件进行一些合法的操作,比如替换支付的接收者、修改合同条款等等。
Shadow Attack替换内容变种
研究人员发现了3个Shadow Attack的变种:
· 隐藏。攻击者使用pdf标准Incremental Update(增量式更新)特征来隐藏一层,无需替换其他任何内容。
· 替换。攻击者使用pdf标准的Interactive Forms(交互式表单)特征来用修改的值来替换原始内容。
· 隐藏和替换。攻击者使用原始文档中的包含的另一个pdf文档来替换原始文档。
Shadow攻击的隐藏和替换变种
隐藏和替换攻击变种是攻击力最强大的,因为整个文件的内容都可以被交换。攻击者可以构建一个影响每一个页面和页数以及包含的每个对象的shadow文档。
攻击影响
研究人员称因为因为数字签名的pdf文件允许非使用的pdf对象包含在文件内容中,因此Shadow攻击是可行的。移除了签名时未使用的pdf对象的pdf阅读应用不受Shadow攻击的影响。
研究人员对28款主流的桌面pdf查看应用进行了测试,发现其中15个受到该攻击的影响,恶意攻击者可以修改数字签名的pdf文件的内容。受影响的应用包括Adobe Acrobat Pro、Adobe Acrobat Reader、Perfect PDF、Foxit Reader、PDFelement等。
补丁
研究人员与德国CERT团队合作通知了受影响的pdf厂商,相关厂商也于本周早些时间发布了补丁,修复了漏洞。研究人员建议受影响的用户尽快更新pdf查看应用来确保签名的pdf文件不会受到Shadow攻击的影响。
总结
新Shadow攻击可以在不打破签名的情况下修改pdf文件的内容,相关的变种可以隐藏和替换文件内容。该研究团队长期关注pdf安全,2019年2月,该团队打破了21款pdf查看应用的数字签名机制,发现5个在线pdf签名服务可以用伪造的签名创建文档。2019年9月,该团队打破了27款pdf查看应用的加密机制,可以从加密的pdf文件中提取数据。
更多技术细节参见:https://pdf-insecurity.org/download/report-pdf-signatures-2020-03-02.pdf
本文翻译自:https://www.zdnet.com/article/new-shadow-attack-can-replace-content-in-digitally-signed-pdf-files/如若转载,请注明原文地址