HOME >> 情報セキュリティ >> 脆弱性対策 >> 知っていますか?脆弱性 (ぜいじゃくせい) >> 2. クロスサイト・スクリプティング

2. クロスサイト・スクリプティング

2007年7月12日 掲載

イントロダクション

X社のS氏は、ミニコミ誌を発刊している出版社のウェブサイト担当者。
ミニコミ誌の反響を調べるために冊子にアンケートページのアドレスを記載し、ウェブサイトにアンケート回答のウェブアプリケーションを設置しました。
アンケート回答のウェブアプリケーションには、以前無料配布されていたものを使用しました。

S氏 「フリーのウェブアプリケーションで、自分でも簡単にアンケートが取れるなんて便利だなぁ。」

攻撃者 「X社のアンケートページに、脆弱性を発見したぞ…。」
「X社へ誘導する罠を、Bさんの掲示板に仕掛けよう。」

“脆弱性”=ソフトウェア等におけるセキュリティ上の弱点

A子さん 「今日もBさんの掲示板をチェックしようっと。」

入力フォーム画面のイメージ

A子さん 「アンケート?」
「景品がもらえるみたいだし、協力しようかな。」

数日後 ─

A子さん 「この間のアンケートのプレゼントは届かないし、勧誘の電話が急に多くなったし、なんなのかしら…。」

S氏 「最近、アンケートのプレゼントが届かないとかクレームがいっぱい来るなぁ。」
「困ったな。研究所の博士に聞いてみよう。」
「博士、いったいどうしてこんなことになってしまったの?」

博士 「ふーむ、このウェブアプリケーションはきちんとセキュリティのチェックをしたかの?」

S氏 「以前ダウンロードしてきたフリーのウェブアプリケーションですけど、セキュリティのチェックとはなんですか?」

博士 「アンケート、掲示板、サイト内検索のようなウェブアプリケーションは、きちんとセキュリティ対策をしないと悪用される危険があるのじゃよ。」
「これは、クロスサイト・スクリプティングの問題のようじゃな。」

S氏クロスサイト・スクリプティング?」


クロスサイト・スクリプティングとは?

博士
「アンケート、掲示板、サイト内検索のように、ユーザからの入力内容をウェブページに表示するウェブアプリケーションで、きちんとセキュリティ対策がされていない場合、悪意を持ったスクリプト(命令)を埋め込まれてしまい、偽ページの表示などが可能になってしまうのじゃよ。」

“スクリプト”=ウェブブラウザ上で実行される命令

S氏 「偽ページだと、ユーザには分からないの?」

博士 「X社のページとして表示されるため、注意深いユーザでもだまされやすく、フィッシング詐欺につながる事もあるんじゃよ。」
「今回は、あなたが設置したアンケート回答のウェブアプリケーションに問題があり、偽のアンケートページを表示させられ、フィッシング詐欺に悪用されてしまったのじゃ。」
「そして、被害者からは、あなたの会社にだまされたように見えてしまうのじゃよ。」


クロスサイト・スクリプティングの具体的な攻撃例

博士 「ウェブアプリケーションに問題がある場合、悪意を持った命令(スクリプト)の入ったページを表示させられることによって、偽のページを表示させられてしまうんじゃ。」

アプリケーションに問題ある場合のイメージ

図中の攻撃例の詳細

  1. 攻撃者がBさんの掲示板に罠を仕掛ける
  2. A子さんがBさんの掲示板を見る
  3. A子さんが罠のリンクが入ったページを表示し、リンクをクリックする
  4. Bさんの掲示板からX社のウェブサイトに移って(クロス)、悪意を持った命令(スクリプト)を送ってしまう
  5. 悪意を持った命令(スクリプト)がユーザのブラウザで実行され、偽のページが表示される
  6. 偽ページにユーザがだまされて、個人情報などを攻撃者に送ってしまう

博士 「問題のないウェブアプリケーションの場合は、悪意を持った命令(スクリプト)を送っても、偽のページが表示されることはないんじゃ。」

アプリケーションに問題ない場合のイメージ

S氏 「偽のページが表示できてしまうと、自社にはどのくらいの被害があるんですか?」

博士 「あなたの会社が間接的に加害者となり、お客様に迷惑をかけてしまうと、社会的信用をなくし、企業としての大きな損害となる可能性があるんじゃな。」

博士 「対策は、IPAのウェブサイトの脆弱性ごとの対策ページを参照するのじゃ。」