PDF Certification存在漏洞,影響24款pdf軟件
研究人員在PDF規(guī)范中發(fā)現(xiàn)了2個(gè)安全漏洞,攻擊者利用該漏洞可以修改PDF文件的內(nèi)容而不被PDF軟件和用戶發(fā)現(xiàn),漏洞影響超過(guò)24款PDF軟件。
PDF規(guī)范中定義了2種類型的數(shù)字簽名:批準(zhǔn)簽名(Approval signature)和認(rèn)證簽名(Certification Signatures)。批準(zhǔn)簽名是證實(shí)特定的文檔狀態(tài)。規(guī)范中允許對(duì)同一文檔使用多個(gè)簽名。對(duì)簽名過(guò)的文檔的其他變化都會(huì)引發(fā)批準(zhǔn)簽名的無(wú)效和告警。認(rèn)證簽名是一種處理數(shù)字簽名的文檔的靈活機(jī)制。在文檔認(rèn)證過(guò)程中,文檔所有者會(huì)定義一個(gè)允許修改的列表,這些允許修改的操作不會(huì)引發(fā)文檔認(rèn)證簽名的無(wú)效。允許的操作包括寫入特定表單、加入批注簽名等。因?yàn)檎J(rèn)證簽名會(huì)對(duì)整個(gè)文檔設(shè)置權(quán)限,PDF文檔中只允許認(rèn)證的簽名。認(rèn)證簽名必須是PDF中的第一個(gè)簽名。
研究人員分析認(rèn)證過(guò)的文檔的修改時(shí)發(fā)現(xiàn)了PDF規(guī)范中的2個(gè)漏洞,分別是 Evil Annotation Attack(EAA,惡意注釋攻擊)和 Sneaky Signature Attack(秘密簽名攻擊)。
添加注釋來(lái)修改文件內(nèi)容
攻擊者利用這2個(gè)漏洞可以通過(guò)在經(jīng)過(guò)認(rèn)證的內(nèi)容之上展示惡意內(nèi)容來(lái)修改PDF文檔的可見(jiàn)內(nèi)容。攻擊過(guò)程中,認(rèn)證仍然是有效的,PDF閱讀器也不會(huì)展示任何告警消息。
研究人員對(duì)26個(gè)PDF應(yīng)用進(jìn)行了測(cè)試,發(fā)現(xiàn)其中24個(gè)PDF應(yīng)用受到該攻擊的影響。隨后,研究人員分析了PDF規(guī)范中定義的添加批注和簽名的權(quán)限實(shí)現(xiàn),發(fā)現(xiàn)11個(gè)應(yīng)用存在權(quán)限匹配錯(cuò)誤的問(wèn)題。
相關(guān)研究人員已經(jīng)被安全頂會(huì)IEEE S&P'21錄用,論文下載參見(jiàn):
https://PDF-insecurity.org/download/PDF-certification/paper.PDF
更多關(guān)于PDF認(rèn)證攻擊的技術(shù)細(xì)節(jié)參見(jiàn):https://PDF-insecurity.org/signature/certification.html
本文翻譯自:https://PDF-insecurity.org/