Chromeは、PDFファイルであっても、何かをダウンロードしようとすると、「このタイプのファイルはコンピュータに害を及ぼす可能性がある」と警告することがよくあります。しかし、PDFファイルが非常に危険なのはなぜですか。PDFはテキストと画像を含む単なるドキュメントではありませんか。
Adobe ReaderのようなPDFリーダーは、長年にわたって多くのセキュリティの脆弱性の原因となってきました。これは、PDFファイルが単なるドキュメントではなく、スクリプト、埋め込みメディア、その他の疑わしいものが含まれている可能性があるためです。
PDFは単なるドキュメントではありません
PDFファイル形式は実際には非常に複雑です。ご想像のとおり、テキストや画像だけでなく、多くのものを含めることができます。 PDFは、過去に多くのセキュリティホールを開いてきた、間違いなくすべきではない多くの機能をサポートしています。
- JavaScript :PDFには、ブラウザのWebページで使用されているのと同じ言語であるJavaScriptコードを含めることができます。 PDFは動的であり、PDFのコンテンツを変更したり、PDFビューアの機能を操作したりするコードを実行できます。歴史的に、多くの脆弱性は、JavaScriptコードを使用してAdobeReaderを悪用するPDFによって引き起こされてきました。 Adobe ReaderのJavaScript実装には、Adobe固有のJavaScript APIも含まれていますが、その一部は安全ではなく、悪用されています。
- 埋め込みフラッシュ :PDFにはFlashコンテンツを埋め込むことができます。 Flashの脆弱性は、AdobeReaderを危険にさらすためにも使用される可能性があります。 2012年4月10日まで、AdobeReaderには独自のバンドルされたFlashPlayerが含まれていました。メインのFlashPlayerで修正されたセキュリティ上の欠陥は、AdobeReaderのバンドルされたFlashPlayerで数週間後まで修正されなかった可能性があり、セキュリティホールが悪用される可能性があります。 Adobe Readerは、内部プレーヤーではなく、システムにインストールされているFlashPlayerを使用するようになりました。
- 起動アクション :PDFファイルには、確認ウィンドウが表示された後に任意のコマンドを起動する機能がありました。古いバージョンのAdobeReaderでは、ユーザーが[OK]をクリックしている限り、PDFファイルが危険なコマンドを起動しようとする可能性がありました。 Adobe Readerには、PDFファイルによる実行可能ファイルの起動を制限するブラックリストが含まれるようになりました。
- ごと絵 :PDFファイルには、暗号化可能な埋め込みPDFファイルを含めることができます。ユーザーがメインのPDFファイルをロードすると、埋め込まれたPDFファイルをすぐにロードできます。これにより、攻撃者は悪意のあるPDFファイルを他のPDFファイル内に隠し、ウイルス対策スキャナーが隠されたPDFファイルを調べないようにすることができます。
- 埋め込みメディアコントロール :Flashに加えて、PDFには、これまでWindows Media Player、RealPlayer、およびQuickTimeメディアが含まれていました。これにより、PDFがこれらの埋め込み可能なマルチメディアプレーヤーコントロールの脆弱性を悪用できるようになります。
PDFファイル形式には、PDF内に任意のファイルを埋め込んだり、3Dグラフィックを使用したりする機能など、攻撃対象領域を増やす多くの機能があります。
PDFのセキュリティが向上しました
これで、AdobeReaderとPDFファイルが多くのセキュリティ脆弱性の原因となっている理由を理解できたはずです。 PDFファイルは単純なドキュメントのように見えるかもしれませんが、だまされてはいけません。表面下ではさらに多くのことが行われている可能性があります。
良いニュースは、PDFのセキュリティが向上したことです。 Adobeは、Adobe Reader Xに「プロテクトモード」という名前のサンドボックスを追加しました。これにより、オペレーティングシステム全体ではなく、コンピューターの特定の部分にのみアクセスできる、制限されたロックダウン環境でPDFが実行されます。これは、Chromeのサンドボックスがウェブページのプロセスをコンピュータの他の部分から分離する方法と似ています。これにより、攻撃者の作業が大幅に増えます。 PDFビューアでセキュリティの脆弱性を見つけるだけでなく、セキュリティの脆弱性を見つけてから、サンドボックスの2番目のセキュリティの脆弱性を使用してサンドボックスを回避し、コンピュータの他の部分に損害を与える必要があります。これを行うことは不可能ではありませんが、サンドボックスが導入されて以来、AdobeReaderで発見および悪用されるセキュリティの脆弱性ははるかに少なくなっています。
通常、すべてのPDF機能をサポートしているわけではないサードパーティのPDFリーダーを使用することもできます。これは、PDFに多くの疑わしい機能が含まれている世界では祝福となる可能性があります。 Chromeにはサンドボックスを使用する統合PDFビューアがありますが、Firefoxには完全にJavaScriptで記述された独自の統合PDFビューアがあるため、通常のWebページと同じセキュリティ環境で実行されます。
PDFが本当にこれらすべてのことを実行できるべきかどうか疑問に思うかもしれませんが、PDFのセキュリティは少なくとも改善されています。これは、Javaプラグインについて言えることではありません。 ひどい 現在、Web上の主要な攻撃ベクトルです。 Javaプラグインもインストールされている場合、ChromeはJavaコンテンツを実行する前に警告します。