天天看點

算法速學速用大辭典 pdf_如何攻破PDF加密

算法速學速用大辭典 pdf_如何攻破PDF加密

為了確定機密性,PDF檔案是加密的。通過加密可以在沒有其他保護機制的情況下,實作敏感檔案的安全傳輸和存儲。

發送者和接收者之間的密鑰管理是基于密碼或公鑰的。如果是基于密碼的,那麼接收者必須知道發送者所使用的密碼,或者密碼必須通過安全通道來進行傳輸。如果是基于公鑰的,那麼發送者必須知道接收者的X.509證書。

算法速學速用大辭典 pdf_如何攻破PDF加密
算法速學速用大辭典 pdf_如何攻破PDF加密

安全問題

研究人員分析發現的pdf安全問題包括:

在沒有對應密碼的情況下,攻擊者可以處理加密的pdf檔案。PDF規範說明中允許明文和密文混合使用。在與其他允許通過HTTP加載外部資源的pdf特征結合後,攻擊者可以在受害者打開pdf檔案的時候就發起直接的竊取攻擊。

PDF加密使用的沒有完整性檢查的CBC加密模式,這也表明了密文的可修改性。研究人員利用CBC malleability gadgets建立了自竊取的密文部分。研究人員利用該技術不僅可以修改現有的明文,還可以建構完整的新的加密對象。

算法速學速用大辭典 pdf_如何攻破PDF加密

攻擊場景

研究人員開發了針對pdf加密的2種攻擊:Direct Exfiltration 和 CBC Gadgets。

攻擊場景1: Direct Exfiltration (Attack A)

算法速學速用大辭典 pdf_如何攻破PDF加密

該攻擊的基本思想是通過濫用部分加密特征來修改加密pdf檔案的内容。一旦受害者打開檔案,敏感内容就會被發送給攻擊者。因為加密的pdf檔案沒有完整性保護,是以攻擊者可以修改加密pdf的結構,增加未加密的對象,或将加密的部分封裝到攻擊者控制的環境中。

在攻擊示例中,攻擊者濫用了pdf加密标準的靈活性來将特定對象定義為非加密的。攻擊者可以以修改加密詞典(Encrypt dictionary)的方式使文檔是部分加密的。這樣攻擊者就可以自由地修改文檔中的字元串,并添加含有未加密的字元串的其他對象。

該攻擊有3個必要條件,分别是:

部分加密。基于Crypt Filters的部分加密的檔案。

交叉對象引用。必須要能在引用或通路pdf檔案的攻擊者控制的非加密部分的加密字元串或流對象竊取信道。必須存在pdf閱讀器通過網際網路通信的互動性特征。包括pdf forms,超連結和JavaScript。

注:攻擊并沒有濫用任何加密的漏洞,是以無需了解底層的加密算法或加密模式。

算法速學速用大辭典 pdf_如何攻破PDF加密

forms表單

算法速學速用大辭典 pdf_如何攻破PDF加密

超連結

算法速學速用大辭典 pdf_如何攻破PDF加密

JavaScript

攻擊場景2: CBC Gadgets (Attack B)

并非所有的PDF閱讀器都支援部分加密檔案,是以direct exfiltration并非全部适用。但因為pdf加密中沒有定義經過認證的加密,是以攻擊者可以利用CBC gadgets來竊取密文。基本思想是直接在加密的對象中通過在URL中加字首的方式來修改明文資料。是以,CBC gadgets攻擊并不需要交叉對象引用。

注:所有的基于gadget的攻擊都修改現有的加密内容或從CBC gadgets中建立新的内容。由于CBC加密模式的malleability特征,這是可行的。

攻擊有兩個必要條件:

已知明文。為了使用CBC gadgets操作修改加密的對象,必須知道明文部分。對AESv3加密算法中,明文文本在Perms記錄中。在老版本的加密算法中,必須要知道要竊取的對象中的已知明文。

竊取信道:必須要有互動式的特征,包括PDF表單或超連結。

算法速學速用大辭典 pdf_如何攻破PDF加密
算法速學速用大辭典 pdf_如何攻破PDF加密

超連結

算法速學速用大辭典 pdf_如何攻破PDF加密

結果分析

研究人員用以上兩種攻擊方式對27個常用的pdf閱讀器進行了測試,包括Adobe Acrobat, Foxit Reader, Evince, Okular, Chrome, Firefox等。

評估結果如下:

·XX—— 表示無需使用者互動

·X  —— 表示需要使用者互動

·〇 —— 表示不受該攻擊的影響

算法速學速用大辭典 pdf_如何攻破PDF加密
算法速學速用大辭典 pdf_如何攻破PDF加密

更多技術細節參見:https://www.pdf-insecurity.org/encryption/encryption.html

學術文章Practical Decryption exFiltration: Breaking PDF Encryption 已被CCS 2019錄用,将在11月進行舉行的CCS 2019進行oral presentation。論文下載下傳位址:https://www.pdf-insecurity.org/download/paper-pdf_encryption-ccs2019.pdf

注:本文參考自pdf-insecurity.org

算法速學速用大辭典 pdf_如何攻破PDF加密
算法速學速用大辭典 pdf_如何攻破PDF加密