現在還真有可能了。在特定條件下,攻擊者可以運用新型攻擊技術訪問加密 PDF 文件的全部內容。
該方法名為 PDFex ,所用技術中包含兩類攻擊方法,利用了 PDF 內置標準加密保護中的安全漏洞。
需要指出的是,PDFex 攻擊并不能使攻擊者獲知或去除加密 PDF 的密碼,而是在合法用戶打開該文檔時可使攻擊者遠程滲漏其中內容。
換句話說,PDFex 使攻擊者可在不知道相應密碼的情況下修改受保護 PDF 文檔,方法就是當持有正確密碼的用戶打開文檔時,文件自動向互聯網上遠程攻擊者控制下的服務器發送文檔解密內容副本。
研究人員針對 27 種廣泛使用的 PDF 閱讀器做了 PDFex 攻擊測試,無論是桌面閱讀器還是基于 Web 瀏覽器的 PDF 閱讀器,兩種攻擊方式中總有一種能攻破,而且絕大部分閱讀器兩種攻擊方法都適用。
受影響 PDF 閱讀器涵蓋了適用于 Windows、macOS 和 Linux 桌面操作系統的流行軟件,比如:
以及 Web 瀏覽器內置 PDF 閱讀器:
PDFex 攻擊利用兩個 PDF 漏洞
PDFex 由德國安全研究團隊發現,利用 PDF 加密中的兩個主要漏洞:
1. 部分加密
標準 PDF 規范從設計上支持部分加密,允許僅加密字符串和流,而定義 PDF 文檔結構的對象則保留未加密狀態。
因此,對密文和明文混雜的支持就給攻擊者留下了操縱文檔結構并注入惡意載荷的機會。
2. 密文可塑性
PDF 加密采用密碼塊鏈接 (CBC) 加密模式,沒有完整性檢查,可被攻擊者利用來創建自滲出密文塊。
PDFex 攻擊類型:直接滲漏和 CBC 小工具
下面我們簡要闡述這兩類 PDFex 攻擊。
類型 1:直接滲漏:利用受保護 PDF 文件的部分加密功能。
盡管不觸及待滲漏內容,攻擊者可向目標加密 PDF 中添加額外的未加密對象,用于定義合法用戶成功打開 PDF 文件時觸發的惡意動作。
如下面列出的,這些動作定義了遠程攻擊者可以滲漏文檔內容的方法:
研究人員在論文中寫道:該惡意動作將加密部分引用為包含在請求中的內容,這樣就能滲出其明文發至任意 URL 了。動作的執行可在 PDF 文件被打開(解密后)時自動觸發,也可以通過用戶互動觸發,比如點擊文檔內的對象。
類型 2:CBC 小工具:不是所有 PDF 閱讀器都支持部分加密文檔,但其中很多都沒有文件完整性保護,也就讓攻擊者得以直接修改加密對象中的明文數據。
基于 CBC 小工具的攻擊場景與直接滲漏攻擊類似,惟一的區別是攻擊者用 CBC 小工具修改已有加密內容,或創建新內容,以便添加定義數據滲漏方法的動作。
除此之外,如果 PDF 包含壓縮流以削減文件大小,攻擊者需用半開放對象流來盜取數據。
PDFex 攻擊漏洞利用概念驗證發布
研究團隊由來自德國波鴻魯爾大學和明斯特大學的六名學術界人士組成,已向所有受影響供應商報告了他們的發現,并公開發布了 PDFex 攻擊的漏洞利用概念驗證。
該團隊早前的其他研究包括 2018 年 5 月披露的 eFail 攻擊,影響十多種常用 PGP 加密電子郵件客戶端。
研究團隊在專屬網站上發布了題為《實用解密 exFiltration:破解 PDF 加密》的研究論文,可訪問該網站以獲取更詳細的技術細節。
評估:
https://pdf-insecurity.org/encryption/evaluation_2019.html
概念驗證:
https://pdf-insecurity.org/download/exploits-encryption/exploits.tgz
PDF 安全網站:
https://pdf-insecurity.org/encryption/encryption.html
PDFex 攻擊論文:
https://www.pdf-insecurity.org/download/paper-pdf_encryption-ccs2019.pdf
上一篇:多因子身份驗證的五個趨勢