復刻:IEのほとんどのバー(アドレスバー含む)偽装の件

WindowsXPsp2で標準設定、ポップアップブロック有りのフルパッチIE6にて、一部のサードパーティー製のポップアップブロッッカー無しの前提で、アドレスバーを含むほとんど全てのバー(タイトルバーとステータスバー除く)を偽装可能な実証コードが手元にあります。

IEでは一般に複数のバーのその位置や大きさなどをカスタマイズでき、ユーザごとの好みでサードパーティーツールバー(GoogleYahoo!のバー)も追加されているかも知れませんが、手元の実証コードでは、そのようなカスタマイズをフォロー出来てしまっています。XPのデスクトップ標準のGUIデザインのLUNAモードであれカスタマイズしての、懐かしのレガシーなwin98当時にあったClasicモードであれ、日本語や英語などの言語の差によるgoボタン(=移動ボタン)や、アドレスバー上の「アドレス」という文字が「address」となることによるアドレスバーのURL入力欄の微妙なズレまでもフォローしています。ですので、今まで主として海外で発表されていたアドレスバー上に画像などをオーバーレイして偽URLをかぶせるタイプのアドレスバー偽装(いつもと違う雰囲気の、ウィンドウやアドレスバーのURLの文字のフォント、等になるので、あれれ?と思う偽装)よりも、より気がつきにくいという意味においてこの日本では強力です。ひょっとしたらインターナショナルで通用するかも知れません。また、画面のプロパティのデザインタブを使って主として視覚者障害用にての、字を大きくしたり色やコントラストを変えたりするカスタマイズも可能ですが、それをも突破してるようです。それらを含め、各種バーを全部偽装します。

タイトルバー偽装については別途既に公知済み(IT系でニュースにもなっていました)の方法も現存していますので攻撃者は恐らく併用できることでしょう。ステータスバー偽装が容易なこと、言うまでもありません。フィッシングに悪用されるポテンシャルは高いと思います。

実は手元の実証コード、とっくの昔にITギークな人達も公の場で目にしたことがあるはずなんです。結構な視聴率でしたよ?あしかけ数年前のレベルです。

ですので、そのうち直るのだろうなぁと感じていましたが、いつになっても直らないので、心配になってきました。近々のうちにIPAさんを通じてこの件をMicrosoft社宛てに報告したいと思うようになりました。しかし、いくら実証コードが過去に公開されていたとはいえ、今は(キャッシュも含め)見ることが出来ませんし、技術力のある「ひとさま」が作った実証コードですので、その中心コンセプトの記憶のみをうろ覚えているだけの技術力皆無の私では、その復刻に3週間かかりましたが…なんとか復刻できたようです。

実証コードのレビュアーさん達、お忙しい中、本当に有難うございました。

…問題は私自身がその自作の罠にはまったことです。情けないヘタレであります。ちなみにプログラミングを知らない私なら3週間かかりましたが、原理は簡明ですので、ちょっとした技術を持つ者ならば恐らく2時間もあればこんなものはすぐに作れることでしょう。

この偽装に特化した最適な防衛策もありますが、これをこの場で示すと原理が判明してしまい、exploitがすぐに作成されそうなので、ここでは防衛策を発表することはしません。でも御心配は要りません。一般的かつ定石的な自衛策はあります。IEを使うならインターネットゾーンではセキュリティレベルを「高」に設定しておくことを強くお勧めいたします。なお、信頼済みサイトゾーンのセキュリティレベルは「中」で。むしろこうしておくのが正しいIEの使い方です。

フィッシング詐欺に使われる前に、そしてIE7に間に合うように、IPAへの報告の取りまとめを現在頑張っております。いずれIE6側での対策が済んだら本件の詳細をこの日記でも御報告させて頂きます。IE6側の対策は驚くほど簡単なので、(たぶん)、パッチはすぐに出ることでしょう。

文章だけの説明では心もとありませんので以下の画像をご覧下さい。こんな感じになります。ちょいと各種バーをいじりましたが同じ実証コードで異なる3種のブラウザ設定に対して偽装出来ています。アドレスバーとコンテンツ内容は不一致です。手抜きで今回のデモ画像ではコンテンツとしてYahoo!を使っていますが、アドレスバー上のURLにふさわしい、悪意あるサーバ上での本物ソックリ偽ページの表示が可能です。カード情報やパスワード情報などを盗むような悪用がすぐに思いつけると思います。なお、画像のURLが示すサイト、Yahoo!サイトの特性は使っていませんので誤解なきように願います。

  • 各種バーを偽装した図
  • 各種バーを偽装した図2
  • 各種バーを偽装した図3

重ねて申し上げますが、インターネットゾーンにおけるセキュリティ設定は「高」で、信頼済みサイトゾーンのセキュリティ設定は「中」で、IEを御利用頂く事をお勧めいたします。全く同じことは、以下に、他ならぬマイクロソフト社が言明していることでもあります。具体的な操作方法も説明されていますので是非お読み下さい。

また、以下の文書も参考になります。

個人的には、httpな「ちょびっと信頼済みサイトゾーン」と、httpsな「信頼済みサイトゾーン」を分別できるようなIEを所望したいと…それにいくつかデフォルトでもうちょっとだけ厳しくしたい項目もあるのですが…遠吠え。