「標的型攻撃」の危険性が叫ばれるようになってしばらく経つ。名前の通り特定の組織にしか届かないため,なかなか実感は湧かない読者が多いことと思う。ただ,今年9月に報告されたAdobe Readerのゼロデイのぜい弱性(10月29日に修正された)は,今後の標的型攻撃の傾向に変化を与えるかもしれない。

 これまでに被害が報告された標的型攻撃は,Microsoft Wordや一太郎といった市販ソフトのぜい弱性を悪用したものがほとんどだった。標的となったソフトが普及している製品だとはいえ,用途が決まっているうえ有償であることから,ユーザー層は限定されていた。これに対してPDFはプラットフォームを選ばないうえ無償。市販のワープロ・ソフトなどに比べると標的となるユーザーが多く,被害が広がりやすい。以下では,PDFのゼロデイ攻撃について解説しよう。

ファイルを開くとプログラムが動く

 9月に報告されたPDFのゼロデイのぜい弱性は,厳密に言うとWindowsのURI処理の不具合によってAdobe Readerなどが影響を受けるものである。PDFファイル中の設定情報に不正な文字列を書き込むと,PDFファイルを開くだけで不正なプログラムを自動的に実行してしまう。タイムラインを整理すると表1のようになる。PoC(proof of concept)コードが公開されてからパッチがリリースされるまでは1週間ほどだった。

表1●パッチ公開までの経緯
日付 イベント
9月20日 ハッカー・グループ『GNUCITIZEN』が報告
10月16日 Proof of Conceptコード公開
10月23日 修正パッチ公開
10月24日 ウイルスとして報告
10月29日 Adobe Readerの自動アップデート

 問題は,PDFファイルのプロパティにある,『Webリンクを開く』というアクションの設定部分。パラメータとして不正なURI値があると,読み込む際にshell32!ShellExecute()の不具合が発生,任意のプログラムが実行可能になる。図1は筆者がPoCとして開発したコードを使った様子で,PDFファイルを開くと電卓アプリケーション(calc.exe)が起動する。米アドビ システムズがパッチを公開した10月29日時点では,このPoCコードをウイルス対策ソフト(VirusTotal+トレンドマイクロのウイルスバスター)でスキャンしても,2製品でしか検出できなかった。しかも,中身を別のコードに編集すると結果が変化した。そもそもPDFファイルへのアクション挿入は一般的な操作である。ウイルス対策ソフトでのPDFマルウエアの検出ルールは作成しづらいのかもしれない。

図1●PDFファイルのプロパティ画面
図1●PDFファイルのプロパティ画面
ページを開いたときのアクションとして「Webリンクを開く」に不正な値を設定してあると,任意のプログラムを稼働させられる。

 実際に配布されているウイルスもある。メールに添付されたPDFファイルを開くと,図2のコマンドを悪用しWindowsのファイアウォールを無効にしてしまう。さらに,攻撃用サイトよりms32.exeという既知のマルウエアをFTP経由でダウンロードし実行する機能も備える(図3)。

図2●ゼロデイのぜい弱性を攻撃するウイルスが悪用するコマンド
図2●ゼロデイのぜい弱性を攻撃するウイルスが悪用するコマンド

図3●ゼロデイを悪用したウイルスはWindowsのファイアウォールを無効にしてしまう
図3●ゼロデイを悪用したウイルスはWindowsのファイアウォールを無効にしてしまう
[画像のクリックで拡大表示]

 このウイルスに関しては,ほとんどのウイルス対策ベンダーが対応済み。ただしPDFの仕様そのものが自由度が高く,ウイルス作成者にとっては応用が利きやすい。今後,検出がさらに困難になると考えられ,注意が必要だ。

最新パッチに目を光らせよう

 ゼロデイ攻撃においては,対策の呼びかけが重要である。ただ,これが意外に難しい。

 10月16日から23日の間,アドビは,レジストリ情報の変更というマニュアル操作による対策を呼びかけた。しかし,この呼びかけはあまり効果はなかったようだ。筆者が複数のユーザーに個別にテストした結果では,多くのユーザーがPDFのゼロデイのぜい弱性を意識していなかった。

 修正パッチのリリース方法も盲点になりやすい。Adobe Readerの場合,起動時にAdobeUpdater.exeがアップデート情報を自動取得するようになっている。このため,修正パッチがリリースされたことをわざわざ調べるユーザーは少ない。セキュリティの問題は意識せずに解決を願うユーザーが多く,ついWindows Updateと同じ感覚で考えてしまいがち。だが,必ずしも修正パッチのリリース日に自動アップデートが行われるとは限らない。アップデートより先に対策を施さないと間に合わないケースは十分考えられる。このことは念頭に置いておきたい。

 実際のところ今回のようなケースでは,ぜい弱性が報告されていることを知らなければ対策は難しい。修正パッチが未リリースなうえ,ウイルス対策ソフトも一部の製品しか対応していなかった。今回,このような悪性PDFを検出するためにはVirusTotalアップローダ(http://www.virustotal.com/vtsetup.exe)などの特殊ツールに頼るしかなかった。10月16日からパッチが公開される23日までの1週間にウイルスが報告されなかったことは不幸中の幸い。この間に標的型攻撃があったかどうかは不明だが,今後悪用される危惧は少なからずある。

PDFは悪用しやすく危険度大

 今回のぜい弱性を利用しなくても,PDFファイルのアクション機能を巧みに悪用されると,ユーザーは容易に悪意あるWebサイトに誘導されてしまう。

 ここに一つ,興味深いデータがある。英ソフォスが公開した10月のメール添付型ウイルスの統計情報だ。10月24日に報告されたにもかかわらず,PDFマルウエアの感染数は全体の13.6%(3位)を占めている。PDFファイルの悪用は影響度が大きく,ユーザーもPDFファイルに関して無防備であることが分かる。

 プラットフォームを選ばず,ユーザーがファイルを開いてしまいがちなPDFファイル。では,悪性コードが含まれていないかどうか,どのように確認したらいいのだろうか。

 意外に身近で役に立つのがテキスト・エディタだ。PDFの中身はXML構造になっており,テキスト・エディタで構造を把握することができる。テキスト・エディタで開いて“URI”などと検索すると,挿入されている文字列を確認できる。

 PDFが暗号化されていても,URIの文字列は見付けることができる。参照先URIまでは分からないが,URIオブジェクトが挿入されているという参考情報にはなるだろう。

 また,今回紹介したぜい弱性の修正とは別にぜひ対策しておきたいのは,Webブラウザでファイルを読み込む際の動作設定を「ディスクに保存」に変更しておくことである。併せて,Adobe ReaderのAcrobat JavaScript機能をオフにしておくこともお勧めしておきたい。

 現在のところ,胸を張って「これ」と言える対策はまだない。わずかな情報に頼るしかないのが残念だ。

図4●PDFファイルに挿入されたWebリンクのオブジェクト(URI)
図4●PDFファイルに挿入されたWebリンクのオブジェクト(URI)

岩井 博樹(いわい・ひろき) ラック コンピュータセキュリティ研究所 所長
ラックのコンピュータセキュリティ研究所に勤務。IDS/IPS導入設計,コンサルティングなどに従事した後,同社のJapan Security Operation Center(JSOC)にて監視業務に携わる。現在は,セキュリティ技術の研究開発,フォレンジック業務を手掛ける。