研究人员演示了两种修改认证PDF文档的新方法
网络安全研究人员披露了两种针对认证PDF文档的新攻击技术,这两种技术可能使攻击者能够通过在认证内容上显示恶意内容而改变文档的可见内容,而不会使其签名无效。
波鸿鲁尔大学(Ruhr University Bochum)的研究人员多年来系统分析了PDF规范的安全性,他们说:“攻击想法利用了PDF认证的灵活性,允许在不同权限级别下对认证文档进行签名或添加批注。”。
研究结果在本周举行的第42届IEEE安全与隐私研讨会(IEEE S&P 2021)上公布。
两起袭击—;被称为邪恶注释和鬼鬼祟祟的签名攻击—;通过利用规范中的缺陷来操纵PDF认证过程,该规范管理数字签名(又称批准签名)及其更灵活的变体认证签名的实现。
认证签名还允许根据认证者设置的权限级别对PDF文档进行不同子集的修改,包括将文本写入特定表单字段、提供注释,甚至添加多个签名。
邪恶注释攻击(EAA)的工作原理是修改已设置为插入注释的认证文档,以包含包含恶意代码的注释,然后将其发送给受害者。另一方面,秘密签名攻击(SSA)背后的想法是通过向允许填写表单字段的文档中添加重叠的签名元素来操纵外观。
“通过插入签名字段,签名者可以定义字段的确切位置,以及它的外观和内容,研究人员说。”这种灵活性是必要的,因为每个新签名都可能包含签名者的信息。信息可以是图形、文本或两者的组合。然而,攻击者可以滥用这种灵活性来秘密地操纵文档并插入新内容。"
在学者们详细描述的一个假设攻击场景中,证明人创建了一个包含敏感信息的认证合同,同时允许在PDF合同中添加更多签名。通过利用这些权限,攻击者可以修改文档的内容,例如,在其控制下显示一个国际银行账号(IBAN),并在受害者无法检测到被篡改的合同时欺诈性地转移资金。
研究人员评估了26个PDF应用程序中的15个,包括Adobe Acrobat Reader(CVE-2021-28545和CVE-2021-28546)、Foxit Reader(CVE-2020-35931)和Nitro Pro,发现它们容易受到EAA攻击,使攻击者能够更改文档中的可见内容。Soda PDF Desktop、PDF Architect和其他六个应用程序被确定易受SSA攻击。
更令人不安的是,这项研究揭示了可以执行高特权的JavaScript代码—;e、 例如,将用户重定向到恶意网站—;在Adobe Acrobat Pro和Reader中,通过EAA和SSA将这些代码作为认证文档的增量更新。Adobe在其2020年11月的补丁周二更新中解决了这个弱点(CVE-2020-24432)。
为了抵御此类攻击,研究人员建议禁止自由文本、戳记和修订注释,并确保在认证之前在PDF文档中的定义位置设置签名字段,同时惩罚随后添加的具有无效认证状态的签名字段。研究人员还创建了一个名为PDF Detector的基于Python的实用程序,它可以解析经过认证的文档,突出显示PDF文档中发现的任何可疑元素。
研究人员说:“虽然EAA和SSA都不能更改内容本身,但它始终保留在PDF中,注释和签名字段可以用作添加新内容的覆盖。”。“打开PDF的受害者无法将这些添加内容与常规内容区分开来。更糟糕的是:注释可以嵌入允许添加到特定认证文档中的高权限JavaScript代码。”