室長:今回はたまたま無事だったが,気を付けていないとWebサイトで被害に遭ってしまいかねないんじゃぞ。

市谷:どういうことですか。

室長:実行ファイルやActiveXコントロールを実行しなければ大丈夫とは言い切れないのじゃよ。まず危ないのは,フィッシング・サイトじゃな。

 フィッシング・サイトは,本物のサイトのWebページのレイアウト情報や画像データを流用したりするので,ちょっと見ただけでは,偽サイトとは見破ることができない(図4)。それでも以前は,(1)SSLの鍵マークをチェックし,(2)URLが正しいかを確認する──ことで偽サイトを見破ることができた。

図4●フィッシング・サイトは本物と見分けにくい
図4●フィッシング・サイトは本物と見分けにくい
一見すると本物のサイトにしか見えない。場合によっては本物のサイトの中にフィッシング用のページを埋め込んだりする。こうなるとセキュリティの専門家でも見分けられない。
[画像のクリックで拡大表示]

セキュリティのプロでも見抜けない

 しかし最近,そのようなチェック方法をかいくぐるフィッシング・サイトが増えている。実際に電子証明書を取得したり,紛らわしいドメイン名を用意するといった手口だ。これだけでも偽サイトを見破るのはかなり難しくなる。

 さらに,「クロスサイト・スクリプティング」を使ったフィッシング・サイトも登場している。クラッカが用意したWebページに,本物のWebページへのリンクを用意しておく。そのリンクには,偽サイトの画面を生成するスクリプトを書き込んでおく。ユーザーがそのリンクをクリックすると,いったん本物のサイトに送られたスクリプトが,本物のWebサイトを経由して戻ってきてフィッシング用の入力画面を生成する。

 このようにして表示された入力画面は,本物のWebサイトから送られてきた指示として生成するので,ユーザーからすると本物のサイトにしか見えない。しかしスクリプトで生成した画面に入力したデータは,クラッカのサイトに送られるようになっている。

若井:スクリプトってこわいんですね…。

室長:そうなんじゃ。実は,ワンクリック詐欺サイトでもスクリプトは悪さをしているんじゃ。

 ワンクリック詐欺サイトは,ユーザーを脅すのにスクリプトを活用し,情報収集に見せかけた動画を表示したり,請求用の別ウインドウを表示したりする。

スクリプトが使われると危険

 Webブラウザは,スクリプトに情報を盗み出すなどの勝手なことをさせないように,動作を制限している。しかし,そのような制限は,しばしば抜け道が見つかるのが現実だ。

 例えば,ほかのサイトにアクセスする「Anti DNS Pinning」という攻撃手法だ(図5)。ダウンロード元のドメインにしかアクセスできないという制限を破る。

図5●スクリプトを使って情報が盗まれることもある
図5●スクリプトを使って情報が盗まれることもある
Anti DNS Pinningで情報が盗まれる例。スクリプトはセキュリティを考慮して機能が制限されているが,その裏をかいて勝手なことをするスクリプトが存在する。
[画像のクリックで拡大表示]

 Anti DNS Pinningが仕掛けられたWebページをユーザーが表示させると,中のスクリプトはまずクラッカのWebサイトにアクセスする。ここで,クラッカのWebサイトはわざと応答しないようにするのがミソだ。

 するとWebブラウザは,改めてDNSサーバーにWebサイトのIPアドレスを尋ねる。ここで,クラッカの用意したDNSサーバーは,攻撃先のWebサイトのIPアドレスを教える。するとWebブラウザは,同じドメインだと思い込んだまま,スクリプトに攻撃先のWebサイトへのアクセスを許してしまう。

 ワンクリック詐欺サイトのような悪質なWebサイトは,スクリプトを思いもつかない方法で悪用して,ユーザーの情報を盗み出す可能性がある。

若井:どうすれば安心してWebアクセスできるんでしょうか。

室長:Webブラウザがスクリプトを実行しないように設定しておかなければ,安心とはいえんじゃろうな。

市谷:今どきのサイトは,結構な割合でスクリプトを使ってますよ。スクリプトが実行できないよう設定すると,うまく表示されないサイトもあるでしょう?

室長:そこで,スクリプトの実行を原則として禁止して,指定したサイトだけ実行するようにしておくのじゃよ。

 スクリプトを実行しないようにする方法は,Webブラウザによって異なる。