本稿執筆時、あの東日本大震災からちょうど3カ月が経過しました。震災がもたらした被害は何よりも被災地の皆様の生活に多大なる影響を与え、いまなお復旧に向けて戦っていらっしゃいます。筆者個人としても、会社としても一日も早い復興に向けて応援するとともに、つねにできうる支援をしてまいりたいと考えております。
東日本大震災では、東京電力の福島第一原子力発電所の事故による農作物や海産物、酪農に関する出荷制限と風評被害が発生し、この夏の節電の問題等も連日報道されています。一方で、情報処理推進機構(IPA)や各セキュリティベンダーからたくさんのブログ記事などがポストされた通り、災害情報や被曝情報、計画停電に関する情報を装ったウイルスを含む日本語のメールが飛び交うなど、IT業界や企業システムにも大きな影響が出ました。
エフセキュアでは、このウイルスメールの解析を行ないました。すると、攻撃の多くは特定のユーザーに狙いを定めて行なわれる標的型攻撃で、マイクロソフトのWordやExcelのぜい弱性とAdobe Flash Playerのぜい弱性が利用されたことが確認されています(エフセキュア ブログ「「CVE-2011-0609」を使用した攻撃」、IPAによる注意喚起「災害情報を装った日本語のウイルスメールについて」)。
一方、これまでに確認されているさまざまな攻撃やウイルスを解析していくと、ちょっと違った傾向が見えてきます。
マイクロソフトのオフィス製品がウイルス伝搬の手段として使われるのは、よく知られていますし、ユーザーの皆さんも警戒しているでしょう。しかし、攻撃手法の統計を取っていくと、マイクロソフトのオフィス製品よりも注意すべきものが存在することがわかります。それがPDF形式のファイルです。2010年統計ですが、非常に質の悪い標的型攻撃の60%以上はPDF形式のファイルによるものだというデータもあります(図1)。
米CERTの情報データを抽出してみると、2011年の第1四半期に見つかったぜい弱性の数は、マイクロソフトのオフィス製品で10個、アドビのAdobe Acrobat/Readerで32個という結果でした。Adobe AcrobatはPDFの作成と表示、Adobe ReaderはPDFの表示を行なうソフトウェアです。Adobe Acrobat/Readerにぜい弱性がある場合、これを悪用するPDFファイルを作成し、PCにウイルスを感染させたり、情報を盗むといった悪意が行なわれる危険があります。
WordやExcelの脆弱性を悪用する場合、脆弱性を悪用するWord/Excel文書をメールで送信し、相手に開かせるという手順が一般的です。一方PDFは、WordやExcelなどと同様にビジネス資料をはじめとした文書閲覧の形式という認識を持つユーザーが多いことに加え、Webブラウザ上でPDFを表示するプラグインの普及率が非常に高いため、脆弱性を悪用するPDFへのリンクをWebページに潜り込ませ、クリックさせるだけで表示させることが可能です。
脆弱性が多く、表示の誘導が容易に行なえるため、PDFには犯罪者に狙われる危険が多いといえると思います。そこで今回は、このPDFがどういうものなのかを、知っていただきたいと思います。
PDFの本性を知る
PDFは「Portable Document Format」の頭文字をとったものです。では、PDFのファイルフォーマットをご存じの方は、どれだけいらっしゃるでしょうか。かなり少ない、というよりも一般の方にはほとんど知られていないのではないかと思います。
PDFファイルの仕様書は一般公開されており、アドビのWebサイトからダウンロードできます(「Document management - Portable document format - Part 1: PDF 1.7」)。ただし、仕様書は748ページもの分量があります。しかも英語ですから、これを読破して理解するというのは、なかなか骨が折れますので、この資料からいくつか興味深いPDFの仕様をいくつか見てみましょう。
PDFファイルでマルチメディア
PDFの仕様書には、
- 任意のタイプのメディア(動画や音楽)をPDFファイルに埋め込むことができます
- 埋め込まれたメディアはさまざまなソフトウェアで再生することができます
と書かれています。
PDFファイルに動画や音楽を埋め込むというのは、いま1つ用途がわからないのですが、動きのある文書を作ることで読者の興味を喚起できるのかもしれません。ただ、埋め込まれていたメディアに関しては、外部プログラムで再生できるという仕様に危険が潜んでいます。
たとえば、Windowsなどで多くのユーザーを持つ無料のメディアプレーヤー「VLC media player」には、以前のバージョンに脆弱性が発見されています(窓の杜「VideoLAN Project、「VLC media player」のセキュリティアップデートを公開」)。これは、インテジャー(整数)オーバーフローおよびバッファオーバーフローのぜい弱性というもので、これを悪用すると任意のコードを実行できてしまう可能性があります。
なお、整数オーバーフローは、二進数の整数演算が予想外の結果を生むケースを利用しています。攻撃シナリオとしては、攻撃者がデータ配置のオフセットや転記データ長として、プログラムが予定していない符号の値あるいは範囲を超えた値を生じさせるよう整数演算を誘導するマルチメディアコンテンツを作成します。そして、PDFを利用して読み込ませることで、脆弱性を有するバージョンのメディアプレーヤーを呼び出し、メモリ上に攻撃コードを送り込みます。この攻撃コードにより、関数の戻りアドレスやプログラムが使っているジャンプ先のメモリアドレスを思うがままに書き換えることで、攻撃コードへ制御を移すのです。
また、PDF仕様書には「SubmitForm Action(指定されたURLへのデータの直接送信)」という機能が載っています。すなわち、データ入力フォームと、フォームからのデータ送信です(図2)。
フォームの機能を使えば、あたかもWebサイトにある入力フォームのように、データを入力し送信することが可能になります。ユーザーとしては、そのファイルを送ってきた相手とPDFのファイル名やフォームに記載された組織名などを見て、フォームの送信先とみなすでしょう。しかし、実際の送信先は見た目とは違う可能性があります。
Webサイトでよく見られる問い合わせフォーム、ショッピングサイトに見られるユーザ情報入力のフォームでは、WebブラウザのURL欄などをみれば、どこのドメインに属するのか確認できます。そのため、詐称されているかどうかに気づくことが可能です。ところが、PDFでは、送信先の目視確認が難しくなります。どこに送信するのかを確実に確認するには、PDFファイルをエディタ等で開いて「Submit-Form Action」文字列等を検索し、送信先URLを調べる必要があります。当然、通常のユーザーはこんな作業はしないでしょう。そのため、PDFファイルの入手元やPDFに記載された組織名称だけで情報の提供先を判断してしまい、送信先の詐称には気付きません。ここが攻撃者の狙い目であることを覚えておきましょう
(次ページ、「PDFはプログラムの実行も可能!」に続く)
この連載の記事
-
最終回
TECH
セキュリティの根本はインシデントに備えた体制作りから -
第54回
TECH
マルウェア感染の被害を抑える「転ばぬ先の出口対策」 -
第53回
TECH
マルウェア感染を発見した際の初期対応 -
第52回
TECH
ついに成立したサイバー刑法に懸念点はないか -
第51回
TECH
施行されたサイバー刑法における「ウイルス作成罪」の内容 -
第50回
TECH
サイバー刑法が過去に抱えていた問題点 -
第49回
TECH
ウイルス作者を取り締まるサイバー刑法ができるまで -
第48回
TECH
医療ICTの今後の広がり -
第47回
TECH
重大な情報を扱う医療ICTのセキュリティ対策 -
第46回
TECH
医療ICTの柱「レセプト電算処理システム」の仕組みと問題 -
第45回
TECH
医療分野で普及が進む電子カルテシステムの課題 - この連載の一覧へ