セキュリティ

PDFファイルを開くだけで暗号化された内容が流出する脆弱性「PDFex」が発見される


ドイツにあるルール大学ボーフム校とヴェストファーレン・ヴィルヘルム大学のセキュリティ研究者らが「暗号化されたPDFの内容を、パスワードなしで盗み出すことができる攻撃手法を発見した」と発表しました。「PDFex」と名付けられたこの攻撃手法はPDFの仕組みそのものを悪用しているため、Adobe Acrobat Reader DCPDF-XChange Viewerといった特定のPDFビューワーソフトだけでなく、ChromeやFirefoxなどのブラウザで閲覧した場合でもPDFの暗号化を突破されてしまうとのことです。

PDF Insecurity Website
https://pdf-insecurity.org/encryption/encryption.html

Researchers Find New Hack to Read Content Of Password Protected PDF Files
https://thehackernews.com/2019/10/pdf-password-encryption-hacking.html

New PDFex attack can exfiltrate data from encrypted PDF files | ZDNet
https://www.zdnet.com/article/new-pdfex-attack-can-exfiltrate-data-from-encrypted-pdf-files/

今回発見されたPDFexによる暗号化コンテンツの流出経路は2種類に大別されますが、いずれも「部分的に暗号化することができる」というPDFの仕様を悪用しています。PDF形式は「PDFの一部だけ」「メディアファイルや添付ファイルだけ」を暗号化するといった柔軟な機能をサポートしますが、このように平文と暗号化された部分が混在している点を悪用することで、PDFのコードを改ざんし、暗号を無効化してしまうことが可能だとのことです。

◆Direct Exfiltration
PDFファイルの暗号化を突破する2つの手口のうち、Direct Exfiltrationと呼ばれる攻撃手法の標的は、暗号化されていない平文の部分です。攻撃者は、暗号化されていない部分を改ざんすることで、PDFファイルが開かれると同時に暗号化されていないPDFファイルを攻撃者に送信するよう仕向けることが可能になります。具体的には、PDFに埋め込まれた「PDFフォーム」「ハイパーリンク」「JavaScript」が改ざんの対象となります。

以下の画像はPDFフォームを利用した攻撃コードのイメージです。攻撃者は、暗号化されていないPDFフォームに「PDFファイルが開かれると同時に、復号されたコンテンツを送信せよ」という命令を仕込むことで、ユーザーがパスワードを入力してPDFファイルを開くだけでコンテンツを盗み出すことができます。


ハイパーリンクやJavaScriptを利用した攻撃も、基本的な原理は同じです。


JavaScriptは多くのPDFビューワーでデフォルトで無効化されているため、意図的に有効化しなければ問題になりません。しかし、ハイパーリンクの場合はリンクを開くことで動作するほか、PDFフォームの場合はPDFファイルを開いた瞬間に発動するとのこと。つまり、ユーザーの側で対処する方法はないということになります。

◆CBC Gadgets
2つ目の手口である「CBC Gadgets」では、PDFファイルの暗号化された部分が標的となります。PDFでは複数の暗号利用モードがサポートされていますが、その中の1つがCipher Block Chaining(CBC)という暗号利用モードです。

CBCモードは最も多く使用されている暗号利用モードですが、CBCモードには「暗号化部分の整合性をチェックしない」という仕様があります。攻撃者はこの仕様の穴を突くことで、暗号化されたコンテンツが復元されるプロセスそのものに、コンテンツを流出させるメカニズムを組み込むことが可能だとのことです。

PDFexを発見した研究者の1人であるゼバスティアン・シンツェル氏は「CBC Gadgetsとは要するに、暗号化されたテキストが復号化されると同時に自分自身を流出させるということです」と説明しています。

CBC gadgets means that the ciphertext is modified to exfiltrate itself after decryption. #PDFex 5/n

— Sebastian Schinzel (@seecurity)


CBC Gadgetsでは、1つ目の手口であるDirect Exfiltrationと同様にPDFフォームやハイパーリンクを利用した攻撃が可能なほか、ファイルサイズを軽減させるために圧縮されたストリームオブジェクトも対象となります。

◆脆弱性が確認されているソフト
PDFexの問題点は、特定のソフトウェアではなくPDFの仕様そのものの欠点を突いているところです。そのため、確認されているだけでも27種類のPDF関連ソフトがPDFexの標的になってしまうことが分かっています。

以下の表のうち、「Attack A」がDirect Exfiltration、BがCBC Gadgetsを指しています。また、「〇」の記号は被害が発生しないこと、「●」の記号はユーザーが何もしなくても被害が発生すること、半円のみ黒い記号はユーザーの操作を起点に被害が発生することを意味しています。表を見ると、有料か無料かを問わず主要なPDF閲覧・編集ソフトがほとんど対象になってしまっており、ChromeやFirefoxなどのブラウザも例外ではないことが分かります。


2019年5月にPDFexを発見した研究チームは、既にドイツ政府のセキュリティ担当部門である連邦電子情報保安局(BSI)と協力し、全ての開発者と連絡を取ってこの問題を通報しました。しかし、PDFexの脅威は「部分的な暗号化」や「整合性をチェックしない暗号利用モード」というPDFの基本的な仕様に根差しており、これらは2017年に公開された最新のPDF 2.0にも採用されていることから、当面は根本的な原因の解決が見込めません。

研究チームは「この問題に対応するには、新しいPDFの仕様の策定と強固な暗号形式による修正が必要不可欠です」と述べて、抜本的な見直しが急務であるとの見方を示しました。

この記事のタイトルとURLをコピーする

・関連記事
Windows上でもPDFファイルのパスワードを総当たりで解析できるフリーソフト「PDFCrack」 - GIGAZINE

さまざまな文書をPDFファイルへ変換、ページ移動や追加などの編集もできるフリーソフト「PDF24 PDF Creator」 - GIGAZINE

無料でPDFファイルが作成できる高機能なフリーソフト「PDF reDirect」 - GIGAZINE

iPhoneでJPEG画像やPDFファイルを開くだけでハッキングされる可能性 - GIGAZINE

ログインパスワードを解析して監視ソフトをインストールできる「FinFireWire」 - GIGAZINE

in ソフトウェア,   セキュリティ, Posted by log1l_ks

You can read the machine translated English article here.