PDF 是一種非常流行的文件格式,包括用於處理敏感資料。事實上,該標準提供了非常實用的本機加密,應該可以使資料不受侵犯。要啟動它,通常在 PDF 軟體中設定密碼就足夠了。但正如來自魯爾-波鴻大學和明斯特大學的一組研究人員剛剛表明的那樣,這種加密遠非不可侵犯。這些專家發現了兩種名為「PDFex」的攻擊,允許從加密的 PDF 文件中洩露機密資訊。
洩漏部分加密的數據
第一種攻擊稱為“直接滲透”,當文件僅部分加密時就可能發生。事實上,PDF 文件的主體依賴不同的實體來建立資料:一個名為「目錄」的根,「頁面」和任何「嵌入檔案」都會被添加到該根上。
部分加密時,僅加密頁面內容和嵌入文件。然後,駭客可以在文件正文的末尾插入動態程式碼,該程式碼將在文件開啟或互動(例如點擊按鈕)後執行。然後,該程式碼會將現已解密的資料傳輸到它控制的伺服器。
研究人員測試了三種提交方法:HTTP POST 表單、HTTP GET 請求和 Javascript。第一個是迄今為止最實用的。它不像第二個那樣限制傳輸量。預設情況下,它不會像第三種情況那樣被停用。

第二次攻擊破解一切
當文件完全加密時,第二次攻擊會洩漏資料。這項技術的實施要複雜得多,它依賴 PDF 標準使用的加密模式(即 CBC(密碼區塊連結))中的漏洞。這些漏洞被稱為「CBC Gadgets」。
一旦我們知道加密文件的某些部分(例如標頭),就可以直接插入我們希望使用的動態程式碼(HTTP POST、HTTP GET 或 Javascript 請求)。當文件開啟並執行時,該程式碼將被解密。
所有軟體或多或少都容易受到攻擊
研究人員測試了 27 個 PDF 軟體程式。所有這些都容易受到所研究的至少一種不同變體的影響。要執行此類攻擊,駭客必須能夠存取儲存 PDF 的介質,或能夠透過網路即時攔截和修改這些文件。
先驗地無法避免的威脅
消除這些缺陷是不可能的,因為它們源自於 PDF 標準及其低安全等級。為了改善事情,應該已經消除了部分加密的可能性。那就需要用不易受攻擊且具有完整性驗證功能的加密方式來取代CBC,以防止文件被竄改。但這一切都需要對PDF標準進行徹底的改革。
在創建更好的 PDF 標準之前,始終可以用外部加密取代本機加密。解決方案更安全、更有高效,但日常管理也更複雜。
來源:科學論文