研究者發(fā)現(xiàn)新型“影子攻擊”:可隱藏替換篡改PDF內(nèi)容
據(jù)The Hacker News 2月23日報道,研究人員最新展示了一類新型PDF文檔攻擊,攻擊者可以在保證文檔數(shù)字簽名有效的前提下,進(jìn)行隱藏、篡改或替換文檔內(nèi)容等惡意操作,常見的操作有替換收款人、付款訂單或更改合同條款等。
該攻擊技術(shù)被德國波鴻魯爾大學(xué)的學(xué)者稱為“影子攻擊”,它的主要攻擊原理是“視圖層”概念,即在PDF文檔中重疊的不同內(nèi)容集。它利用“PDF靈活的技術(shù)規(guī)范,使影子文件在標(biāo)準(zhǔn)合規(guī)范圍內(nèi)運行”。

該研究結(jié)果2月22日在網(wǎng)絡(luò)和分布式系統(tǒng)安全研討會(NDSS)上發(fā)表。在測試的29個PDF閱讀器中,有16個易遭受影子攻擊-,包括Adobe Acrobat、Foxit Reader、Perfect PDF和Okular。
研究小組表示,該影子攻擊存在三種變體:
- 隱藏:攻擊者使用PDF規(guī)范中的增量更新功能隱藏某層內(nèi)容。
- 替換:攻擊者使用PDF規(guī)范中的“交互式表單”功能將原始內(nèi)容替換為修改后的內(nèi)容。
- 隱藏和替換:攻擊者使用原始文檔中包含的第二個PDF文檔完全替換它。

在攻擊中,攻擊者會創(chuàng)建一個具有兩種不同內(nèi)容的PDF文檔:一種是文檔簽署方所期望的內(nèi)容,另一種是文檔簽署后才顯示隱藏內(nèi)容。
“PDF的簽署者收到該文件后,會進(jìn)行常規(guī)審核和簽署,”研究人員解釋,“攻擊者獲取簽署文件后稍加篡改并將其發(fā)送給受害者。受害者接收文檔后會檢查數(shù)字簽名是否被成功驗證,但受害者看到的是篡改后的內(nèi)容。”
在模擬世界中,該攻擊相當(dāng)于故意在紙質(zhì)文檔中留下空位讓相關(guān)方簽署,而攻擊者可以在空位中插入任意內(nèi)容。
研究小組補(bǔ)充,隱藏和替換是危害最大的變體攻擊,因為它可以替換整個文檔的內(nèi)容。“攻擊者可以建立一個完整的影子文檔,影響每一頁的呈現(xiàn)內(nèi)容,甚至影響頁面總頁數(shù)以及其中包含的每項內(nèi)容的顯示。”
攻擊的關(guān)鍵是利用不會使簽名無效的PDF原生功能,比如允許對PDF進(jìn)行修改的“增量更新”功能(如填寫表格)和“交互式表格”功能(如文本字段、單選按鈕等),將惡意內(nèi)容隱藏在看似無害的覆蓋對象后面,或在簽署后直接替換原始內(nèi)容。
簡單地說,這個想法是創(chuàng)建一種形式,它在簽署前后顯示相同的內(nèi)容,但攻擊者篡改后會顯示一組完全不同的內(nèi)容。
為了測試攻擊,研究人員發(fā)布了兩個新的開源工具PDF-Attacker和PDF-Detector。這兩個工具可以用來生成影子文件,并檢測文檔在簽署之前和修改之后的篡改。
這個影子攻擊利用的漏洞被追蹤編碼為CVE-2020-9592和CVE-2020-9596,Adobe在2020年5月12日發(fā)布的更新中解決了該威脅。但截至2020年12月17日,測試的29個PDF閱讀器中有11個仍然未修復(fù)。

據(jù)介紹,影子攻擊建立在研究人員2019年2月設(shè)計的同類威脅基礎(chǔ)上。當(dāng)時,研究人員發(fā)現(xiàn)該類威脅可在保證簽名有效的前提下修改文檔,從而使偽造PDF文檔成為可能。
雖然此后廠商采取了安全措施修復(fù)該問題,但新的研究旨在擴(kuò)展這一攻擊模型,以證實攻擊者能否在保證簽名有效的前提下,修改文檔的可見內(nèi)容。
這并不是PDF安全問題第一次受到關(guān)注。研究人員此前已經(jīng)展示了提取有密碼保護(hù)的PDF文檔的方法,利用PDF規(guī)范支持的部分加密技術(shù),一旦用戶打開該文檔,就可以遠(yuǎn)程滲出內(nèi)容。
另外,研究人員上個月又發(fā)現(xiàn)了另一組影響PDF標(biāo)準(zhǔn)的11個漏洞(CVE-2020-28352至CVE-2020-28359以及CVE-2020-28410至CVE-2020-28412),這些漏洞可能導(dǎo)致拒絕訪問、信息泄露、數(shù)據(jù)操縱攻擊,甚至執(zhí)行任意代碼。