如今,数字签名的PDF文件被广泛用于电子合同和电子发票(例如京东、亚马逊等电商平台的电子发票),以确保其内容的真实性和完整性。
通常,当用户试图对数字签名的PDF进行修改时,都会看到警告,防止篡改。但在2019年,Mladenov等人揭示了PDF阅读器实现中的各种解析漏洞,并展示了可以修改PDF文档而不会使签名无效的攻击。最终,受影响的PDF查看器供应商都实施了防止此类攻击的安全对策。
近日,研究者又发现一种新型的PDF攻击技术——影子攻击。影子攻击规避了目前所有的PDF安全对策,并破坏了数字签名PDF的完整性保护。与以前的攻击相比,影子攻击不会滥用PDF阅读器中的实现问题。相反,影子攻击利用PDF规范提供的巨大灵活性,因此影子文档保持符合标准。由于影子攻击仅滥用合法功能,因此难以缓解。
影子攻击的三种篡改方式(隐藏、替换、隐藏+替换)
研究结果表明,经过测试的29个PDF阅读器中有16个(包括Adobe Acrobat和Foxit Reader福昕阅读器)容易受到影子攻击。
论文还介绍了可自动生成影子攻击的工具PDF-Attacker。此外,研究人员同时还部署了能够检测影子文档的PDF-Detector,以防止对影子文档被签名,以及对签名PDF文档篡改进行司法鉴定。