AIハッキング - ハッカーは人工知能をサイバー攻撃にどう利用するか

今すぐ読む
サイト翻訳には人工知能を利用しており、正確性を追求しておりますが、必ずしも100%正確とは限りません。ご了承ください。

この一般的なFoxit PDF Readerの脆弱性を認識し、修正する方法

by OPSWAT
この記事を共有する

この度、当社の高度な脅威検知技術によって特定され、改善された様々な共通脆弱性・暴露(CVE)に焦点を当てた技術分析ブログのシリーズをご紹介いたします。すべての研究は、2023年9月に開始されたOPSWAT サイバーセキュリティ・フェローシップ・プログラムに参加する大学院生によって行われています。 

このブログでは、Foxit PDF Readerの脆弱性CVE- 2020-14425について説明し、悪用されないために組織がどのように身を守ればよいかを説明します。

ホーチミン市科学大学のタイ・トーさんと情報技術大学のタイ・チャンさんのポートレート。
OPSWAT フェローシップ・プログラムに参加。

フォクシットPDFリーダー

Foxit PDF Readerは、FoxitSoftware社によって開発されたPDFツールで、PDF文書の作成、閲覧、編集、電子署名のためのさまざまな機能を提供します。Foxit Readerの無料版は人気を博し、7億人以上のユーザーに利用されています。 

機能と柔軟性を高めるため、Foxit PDF ReaderはJavaScript拡張機能をサポートし、ユーザーにカスタマイズオプションを提供している。

リーダーアプリケーションで開いたPDF文書のスクリーンショット。「カラー・キュレーション」に関する記事が、カラフルな本の表紙の画像とともに表示されている。

14425

説明

バージョン10.0以前のFoxit PDF Readerには、特別に細工されたPDFファイルを開いた際に、攻撃者が被害者のデバイス上でリモートコードを実行できる脆弱性があります。この脆弱性は、app.opencPDFWebPage JavaScript 関数のセキュリティ上の弱点により発生します。Foxit Reader が PDF ファイルに埋め込まれた URL を開くためにデフォルトのブラウザを使用するように設定されている場合、実行可能ファイル内に埋め込まれた悪意のあるコードが、セキュリティ警告ダイアログをトリガーせずに実行される可能性があります。

インパクト

このCVEを悪用するように細工されたPDFファイルは、電子メールのフィッシングキャンペーンや悪意のある埋め込みリンクを通じて配布される可能性があります。ユーザーが脆弱性のあるバージョンの Foxit Reader を使用して侵害された PDF ファイルを開いた場合、攻撃者はリモートでコードを実行することで被害者のデバイスを制御できる可能性があります。

NIST's National Vulnerability Database (NVD)から引用した、CVSS(Common Vulnerability Scoring System)の深刻度とメトリクスの表。

CVE-2020-14425の分析

PDFファイルの構造

PDFファイルはツリーベースの構造で構成されており、ヘッダーセクション、ボディセクション、相互参照表、トレイラーセクションで構成されています。

  • ヘッダーは%PDF-1.xで始まり、PDFフォーマットのバージョンを示します。現在、フォーマットのバージョンは1.0から1.7の範囲です。ヘッダーセクションには、作者、作成日、その他の関連情報などの文書メタデータも含まれます。 
  • 本文は、PDFファイルの内容全体を構成し、ページ、テキストストリーム、フォント、フォーム、JavaScriptコード、その他の要素などのオブジェクトで構成されます。 
  • 相互参照テーブル (Xref テーブル) は、 PDF フ ァ イ ル内のすべてのオブジ ェ ク ト の参照 と バ イ ト オ フ セ ッ ト を保持 し ます。こ れに よ り 、 フ ァ イ ル全体を読む必要な く て も オブジ ェ ク ト へ素早 く ア ク セ ス で き る よ う にな り ます。 
  • トレーラーは、xrefテーブルのエントリーの総数やその先頭へのポインターなど、xrefテーブルの場所を特定するのに不可欠な追加情報を格納している。
ルートノードが中間ノードに分岐する階層図に接続された、ヘッダ、ボディ、トレーラを持つ構造化文書フォーマットを示す図。

ボディにはPDFファイルの機密オブジェクトが含まれているため、攻撃はしばしばこのコンポーネントに悪意のあるコードを注入することに集中します。

PDFファイルに関連する潜在的脅威

PDF ファイルは、そのユビキタス性から攻撃者の標的となっています。PDFファイルはJavaScriptコードを含むことができるため、ブラウザで開かれたときに、サービス拒否(DoS)、オープンリダイレクト、クロスサイトスクリプティング(XSS)など、さまざまな攻撃を実行するために使用される可能性があります。 

さらに攻撃者は、Use After Free (UAF)やBuffer Overflow (BoF)などの悪用可能なテクニックを使用する可能性がある。また、ソフトウェアの障害処理を悪用して、被害者のシステム上でリモートコード実行(RCE)攻撃を実行することもあります。その結果、PDFファイルがランサムウェアを運び、マシン上のデータを暗号化し、回復のために多額の身代金を要求したり、攻撃者が被害者のマシンを完全にコントロールしたりする可能性があります。

CVE-2020-14425の仕組み

Foxit Readerでは、WebページのURLが埋め込まれている場合、Foxit Reader内でWebページを表示するか、ユーザーのデバイスのデフォルトブラウザを使用するかの2つの表示オプションがあります。デフォルトの設定では、Foxit Readerは埋め込まれたWebページに内部的にアクセスします。PDFコンテンツ内で、ウェブページを開くように要求するために、Foxit ReaderはOpencPDFWebPage関数を使用します。これは、PDFに埋め込まれたウェブページのURLを開くように設計されたJavaScriptで、API 。

ライセンス情報とアップデートのツールバーを備えたFoxit PhantomPDFのインターフェイスを、JavaScriptコンソールを開いてコマンドを実行しているスクリーンショット

しかしながら、このAPI には不適切な入力検証の脆弱性が存在し、攻撃者はローカルのファイルパスを opencPDFWebPage 関数に入力することができます。その結果、この関数は、添付されたパスで悪意のあるファイルを開き、この実行可能ファイルを実行する可能性があります。この欠陥により、攻撃者は被害者のマシンに保存されたペイロードを起動し、リモートでコードを実行することが可能になります。

IE 10以上で必要なFoxit Readerでウェブページを開くというオプションは、エクスプロイトの試行中に警告ダイアログを表示する。

JavaScriptコンソールがファイルパスを開くコマンドを実行し、Windowsの一般的な電卓アプリケーションである'calc.exe'の実行または保存に関するセキュリティ警告を発しているスクリーンショット。

脆弱性の悪用

攻撃シナリオ
悪意のあるペイロードを含むZIPファイルによるサイバー攻撃、その配信、被害者の侵害を詳細に示すフローチャート。

特定された脆弱性によって、潜在的な攻撃ベクトルは、隠された添付ペイロードを実行するためのローダーとしてPDFファイルを利用するフィッシング攻撃を含む。このシナリオでは、脅威者は、PDF ファイルと隠された実行ファイルを含む ZIP ファイルを被害者に送信し、文書を開かせるようにだますことを意図します。その後、Foxit ReaderのCVEにより、埋め込まれたJavaScriptコードが隠された実行ファイルを実行し、攻撃者のマシンへのリバースシェル接続を確立します。

JavaScriptコードをPDFファイルに注入するには、攻撃者はPDFコンテンツファイルを直接変更するか、Foxit Phantom PDFのようなツールを使用します。悪意のあるコードは、悪意のあるファイルパスを定義し、opencPDFWebPage関数を使用して有害なコードを実行します。

payload.exe」という名前の実行ファイルを起動するパスを動的に構築する悪意のあるJavaScriptコードを表示するPDFファイルのコードのスクリーンショット。
動的にパスを構築し、ペイロードを実行するコードを示すPDF JavaScriptエディタのスクリーンショット。

悪意のあるPDFファイルを準備した後、攻撃者は実行可能ファイルを隠し、フォルダをZIPファイルに圧縮します。ウイルス対策プログラムのセキュリティ保護を回避するため、攻撃者はZIPファイルを被害者に送信する前にパスワードで暗号化することがあります。

電子メールウィンドウと暗号化されたPDFのファイルプロパティ(サイズ、タイプ、作成日などの詳細)を示すコンピュータインターフェイスのスクリーンショット。

被害者が脆弱なバージョンのFoxit Readerで悪意のあるPDFファイルを抽出して開くと、実行ファイル内に埋め込まれた悪意のあるコードが実行され、攻撃者はリバース・シェルを通じて被害者のデバイスを侵害することができます。

給与データの入ったExcelスプレッドシートと、システム情報を表示するKali Linux端末のスクリーンショット

修復

MetaDefender Endpoint MetaDefender Core これらの攻撃を防ぐために連携します。

Metadefender Core のMultiscanning テクノロジーは、パスワードで圧縮された悪意のあるファイルを検出し、管理者がこれらの脅威を正確に識別できるようにします。30以上のアンチウイルスエンジンが統合されているため、マルウェア検出率は99.99%以上に達します。さらに、Deep CDR (Content Disarm and Reconstruction)技術が組み込まれているため、Metadefender Core 、潜在的に悪意のあるJavaScriptコードを効果的に削除し、サニタイズされた安全に使用できるファイルを再生成することができます。

OPSWAT 、「Salary Reference.pdf」というタイトルのPDF文書の分析結果を示すセキュリティ・インターフェースのスクリーンショット。脅威は検出されず、1つの項目がサニタイズされ、脆弱性は見つからなかったことが強調表示されている。
使用前のオリジナルファイルDeep CDR
でスキャンした後のサニタイズされたファイル。Deep CDR
OPSWAT MetaDefender Endpoint インターフェースのスクリーンショットに、Foxit Readerの脆弱性の詳細が表示されています。

さらに、MetaDefender Endpoint 、脆弱性のあるアプリケーションのバージョンを認識し、自動的に最新のパッチに更新することができ、将来の潜在的な脅威に対するエンドポイントセキュリティを強化します。

OPSWATで最新情報をお届けします!

今すぐご登録ください、 ストーリー、イベント情報などをお届けします。