Symantec Security Response Weblog

Run Installer, Run!」より
December 6,2007 Posted by Andrea Lelli

 Webサイト閲覧時にファイル・ダウンロードの選択を迫られた場合,私は実行可能ファイルを直接実行するのではなく,いったんダウンロードして保存することにしている。自由意志は哲学の世界では常に取り上げられてきたテーマだが,Webブラウザのセキュリティを考える場合にも,自由意志は同じような重要性を持つ。筆者は最近,有名なアドウエア・ベンダーのWebサイトを閲覧中に,ゲームをダウンロードして試そうとした。するといつもの通り,ダウンロード用ページが表示された(図1)。

図1 標準的なWebダウンロードのインタフェース
図1 標準的なWebダウンロードのインタフェース

 上記の画面で「CONTINUE」をクリックすると,Internet Explorer(IE)の「File Download」メッセージ・ボックスが現れた(図2)。ただし,何かが欠けている。それに気づくまで,しばらく時間がかかった。

図2 「Save」オプションのない「File Download」メッセージ・ボックス
図2 「Save」オプションのない「File Download」メッセージ・ボックス

 これでは,筆者はセットアップを「Run」(実行)するか「Cancel」するか,二つに一つしかない。「Save」ボタンはどこに消えてしまったのか。通常であれば,図3のような「File Download」メッセージ・ボックスが思い浮かぶはずだ。

図3 標準的な「File Download」メッセージ・ボックス
図3 標準的な「File Download」メッセージ・ボックス

 これは非常にうまくできたトリックだ。筆者はこのテストでIE 6を使用したが,その後IE 7,Firefox,Opera,Safariでも同じことを試した。面白いことにFirefox,Opera,Safariでは問題は発生せず,実行可能ファイルを直接実行せずに保存するよう促すメッセージが出てきた。特にこのWebサイトでは,OperaあるいはSafariを利用したダウンロードを認めていない。Firefoxの場合,標準の「File Download」メッセージ・ボックスではファイルを保存するよう指示されるが,このWebサイトは御丁寧に,ファイルのダウンロード完了後,すぐにセットアップを実行する方法を説明している(図4)。

図4 Firefoxを利用した場合の,ファイルの実行方法に関する説明
図4 Firefoxを利用した場合の,ファイルの実行方法に関する説明

 ここで当然のように「どのような仕組みになっているのか」という疑問が浮かんでくる。IEを使用したときにファイルの保存が指定できないのはなぜなのか。答えは非常に簡単で,HTMLページの最初の行にある。

図5 「保存」ボタンを非表示にしてしまうMETAタグ
図5 「保存」ボタンを非表示にしてしまうMETAタグ

 今回の原因となっていたのは,図5でマーキングしたMETAタグ「DownloadOptions」で,この属性が「nosave」に設定されていた。これにより,ブラウザの「File Download」メッセージ・ボックスで「Save」ボタンは表示されず,「Run」ボタンと「Cancel」ボタンのみが表示される。このほかでは「noopen」属性があり,この場合は「Save」ボタンと「Cancel」ボタンのみが表示され,「Run」ボタンは表示されない。これらの属性に関する詳しい説明は,米マイクロソフトの開発者向けWebサイト「MSDN」(http://msdn2.microsoft.com/en-us/library/ms533689.aspx)に掲載されている。

 これはユーザーに何かをダウンロードさせるのではなく,直接実行させるよう仕向ける際に使う手口の例だ。当然のことながら,ターゲットとなるのは注意散漫で経験の浅いユーザーだ。ラッキーなことに,Windowsではダウンロードしたファイルをストリームのゾーン情報でマーキングする(Zone.Identifier)。したがって,このファイルを実行すると2度目の警告が表示される(いうまでもなく,このWebサイトは同ファイルの実行に関して手取り足取り説明している,図6)。

図6 実行するファイルの2度目のプロンプト画面とそれに関するWebサイトの説明
図6 実行するファイルの2度目のプロンプト画面とそれに関するWebサイトの説明

 ユーザーがファイルを実際に実行するまでには,少なくとも2段階のバリアが張られている。この点を注意した上で,自由意志が尊重されていることを忘れないでほしい。


Copyrights (C) 2007 Symantec Corporation. All rights reserved.
本記事の内容は執筆時点のものであり,含まれている情報やリンクの正確性,完全性,妥当性について保証するものではありません。
◆この記事は,シマンテックの許可を得て,米国のセキュリティ・ラボの研究員が執筆するブログSecurity Response Weblogの記事を抜粋して日本語化したものです。オリジナルの記事は,「Run Installer, Run!」でお読みいただけます。