このページの本文へ

前へ 1 2 次へ

PCセキュリティーを守る!――ビジネスの新常識 ― 第8回

見ただけで感染! “Web改ざんの恐怖”を正しく理解

2010年03月16日 09時00分更新

文● 黒木 直樹/トレンドマイクロ 上級セキュリティエキスパート

  • この記事をはてなブックマークに追加
  • 本文印刷

 2009年末から今年初めにかけて、多くの有名企業のWebサイトが改ざん被害を受けた“ガンブラー攻撃”のニュースが、テレビや新聞でさかんに報道された。筆者は顧客への説明やセミナーなどで、このガンブラー攻撃について解説することが多かったが、そのつど「なぜ、Webサイトを見ただけでウイルスに感染するのか?」という質問を数多く受けた。

 改ざんされたWebサイトへのアクセスは、現在の不正プログラム感染経路の大きな要因だが、仕組みが分かりにくいため、多くのユーザにとってはその怖さが正しく理解されていないのが現状だろう。そこで今回は、改ざんされたWebサイトからの感染の仕組みを解説していこう。

 2ヵ月ほど前、有名企業のWebサイトが相次いで改ざんされる“ガンブラー攻撃”が話題となったが、Webサイトの改ざん自体は何も今に始まったことでない。2007年6月にはイタリアで1000件以上のWebサイトの改ざんが確認され、日本国内でも2008年7月に約1万件のWebページが改ざんされた可能性があると指摘された。これらを報じるニュースでは、「正規のWebサイトに、不正なWebサイトへ誘導するような不正プログラムが埋め込まれた」という表現がよく使われるが、いったいどういう意味だろうか?

HTMLの仕組みを示すイメージ図
【図1】 HTMLの仕組みを示すイメージ図

 通常、WebサイトはHTMLと呼ばれるマークアップ言語によって、画像や動画の位置、リンク情報など、Webサイト(Webページ)のデザインが規定されている。ここではHTMLの仕組みを詳解するのが目的ではないので割愛するが、要するにサーバー上に個別に置かれた画像などのファイルや、他サイトへのリンクなどを決める司令塔のような役割を果たすのがHTMLファイルである(図1)。

 HTMLはWebサイトを作る上で欠かせないものだが、攻撃者たちが行なう「不正プログラムの埋め込み」とは、このHTMLの内容を書き換えたり、もともと置かれていたファイルを不正なものに置き換えることで、ユーザー(Webサイトを訪れた人)を不正なWebサイトに誘導することである。

 実際に冒頭で触れたガンブラー攻撃でも、正規サイトのHTMLファイルが何者かによって書き換えられ、不正なサイトへ自動的にアクセスさせられるような命令文が追記されていた(図2)。

 図を見ると分かる通り、命令文が暗号化されていて一見すると何が書いてあるのかまったく分からない。ガンブラー攻撃の場合、この暗号化パターンが何通りも発見されており、セキュリティソフトベンダーの解析を逃れる狙いがあったと推測される。

ガンブラー攻撃で正規サイトに埋め込まれた不正な命令文
【図2】 ガンブラー攻撃で正規サイトに埋め込まれた不正な命令文(赤線部分)

 不正なWebサイトへの誘導方法はいくつかあるが、本稿では比較的理解しやすい「IFRAME」(アイフレーム)を悪用した攻撃を例に挙げて、Webサイトの改ざんを説明しよう。IFRAMEはHTMLを作成する際に使用される文字列で、「1つのWebページ内に別のWebページを表示する」際に用いられる。言葉では分かりにくいので、図3を見てほしい。

WebページAの上でWebページBを表示させている例
【図3】 WebページA上でWebページBを表示させている例

 上のようにWebページAの中にWebページBを表示させたい場合、WebページAのHTMLに図4のようなIFRAMEを設定することで表示が可能となる。ユーザーはWebページAにアクセスしているつもりでも、システム上(つまりユーザーが使っているPCそのもの)はWebページAとWebページBの両方にアクセスしている。ちなみに、図4の「width」はWebページBの横幅、「height」は縦サイズを表わす数値だ。

WebページA内のIFRAMEの記述
【図4】 WebページA内のIFRAMEの記述(一部抜粋)

 このIFRAMEという技術自体は、不正なものでもなんでもない。広告表示など、正規のWebサイトでも広く使われている技術だ(例:WebページAの所有者がWebページBの所有者に広告スペースを提供すれば、Aの所有者は広告が入れ替わる度にHTMLを書き直す必要がない)。しかし、攻撃者はこのIFRAMEを悪用して、図5のような設定を行なう。

実際に確認された不正なIFRAMEの例
【図5】 実際に確認された不正なIFRAMEの例

 (次ページに続く)

前へ 1 2 次へ

この連載の記事
最新記事
最新記事

ASCII.jp ビジネスヘッドライン

アスキー・ビジネスセレクション

ピックアップ