現在地 HOME > 掲示板 > IT5 > 171.html ★阿修羅♪ |
|
Tweet |
(回答先: IEのフレーム悪用でパスワード漏れ――iDEFENSEが警告【クロスサイトならぬクロスフレームスクリプティングだそうで】 投稿者 クエスチョン 日時 2004 年 3 月 04 日 21:05:03)
最終更新日:2002年 3月 7日
変更履歴
Webサイトにおけるクロスサイト スクリプティング脆弱性に関する情報
http://www.ipa.go.jp/security/ciadr/20011023css.html
- ユーザーのセッションが奪われる可能性 -
情報処理振興事業協会
セキュリティセンター
2001年10月23日
現在稼動中の多くの webサービス(ショッピングサイト、銀行など)におけるクロスサイト スクリプティング脆弱性の問題に対する対策が不十分なため、これを 攻略する攻撃の可能性が指摘されています。
クロスサイト スクリプティング脆弱性は 2000年 2月に CERT/CC と Microsoft社により報告されたアドバイザリ(※注)により広く知られるものとなっています。 しかし、依然として多くのサイトにおいて対策が取られていない現状にあることが、産業技術総合研究所 高木 浩光 氏らの調査により明らかになりました。 この脆弱性を用いることにより、対策のとられていない webサイトにアクセスすることで、ユーザーの cookie が第三者に送信される可能性があります。 この cookie が認証やセッション管理に用いられていた場合、第三者がユーザになりすまして webサイトにアクセスできることから、クレジットカード番号などの重要な情報が漏洩する恐れがあります。
※注) 本脆弱性はMicrosoft社のサーバに限定されるものではありません。
Webサーバーシステムのインテグレーター、サーバー管理者、サービス運営者においては、早急にクロスサイト スクリプティング脆弱性を解消する対策をとることが 望まれます。
またユーザにおいても、ブラウザの cookieマネージャ等で cookie の利用状況を把握すると共に、サービス利用後にセッションを終了させるなど、自衛に努めてください。
クロスサイト スクリプティング
Web サーバーシステムのインテグレーターおよび web サイト管理者向けの技術情報
概要
クロスサイトスクリプティング (cross-site scripting) は、web ページとして動的に HTMLやXML等のマークアップ言語のソースを生成する仕組みを設けている場合に、セキュリティ上の問題となるものです。あるサイトに書かれているスクリプトが別のサイトへとまたがって(クロスして)実行されることから、クロスサイト スクリプティングと呼ばれています。
ページの自動生成過程において、悪意ある者がそのページを構成する部分を記述できてしまう状態にあると想定します。 例えば、攻撃者はアクセスしてきた読者に意識させることなく他のサイトにある悪意あるプログラムをダウンロードさせるスクリプトを記述するように事前に処理させ たとします。そのページにアクセスした読者は、そのスクリプトが示す悪意あるプログラムによって侵害されます。別の例を挙げるならば、アクセスしに来る読者の cookie 情報を操作するスクリプトを記述するように 、事前に処理させて待ち構えていることも考えられます。
Webサーバーシステムで web ページを自動生成するプログラムを開発する際には、いかなる入力に基づいても、ページの生成処理過程で発信することを望まないスクリプトを含まないことを検証する機能が必要です。
背景・前提知識
大部分の webブラウザは、webサーバーからダウンロードされる webページに埋め込まれたスクリプトを解釈する機能を持っています。このようなスクリプトは各種スクリプト言語で書かれており 、ブラウザにより実行されます。大部分のブラウザは、デフォルトでスクリプトを実行してしまいます。例を掲げます。
1. フォーム等において書き込まれる悪意あるスクリプティング タグ
Webサーバーで掲示板を運営するサイトでは、悪意ある HTMLタグが書き込まれて、それがそのまま発信されることがあります。例えば、侵入者は以下のようなメッセージを投稿します。
Hello message board. This is a message.
<SCRIPT>悪意あるコード</SCRIPT>
This is the end of my message.
スクリプト実行を有効にしているブラウザでこのメッセージを読み出すと、悪意あるプログラムが意に反して実行されます。このように埋め込み型のスクリプティング タグには <SCRIPT>, <OBJECT>, <APPLET>, <EMBED> 等があります。
2. 他のタグの悪用
スクリプティング タグ以外にも、<FORM> のような他の HTML タグは攻撃者に悪用される可能性があります。例えば、悪意ある <FORM> タグを適当な場所に置き、既存のフォーム動作を書換え、ユーザの重要な情報を表示させるでことができます。他の HTMLタグを使って、ページの内容を書き換えたり、意図していたものと は異なるページを表示させることができてしまいます。
3. Cookie
Webサービスにおいて Cookie が用いられるのは、HTTPプロトコルがセッション管理をサポートしていないからです。HTTP におけるユーザ認証の仕組み(HTML Basic)には、ユーザIDとパスワードによるユーザ認証の仕組みがありますが、ログアウト等をサポートしていないため、複数ページに跨るようなセッションを管理 することができません。このセッション管理を行うために用いられる方法には、URLにセッション情報を含める方法や、セッション情報を格納した cookie を用いる方法 があります。
Cookie は、webサイトが作成するユーザやセッションに関する情報を含むデータで、ユーザの webブラウザに格納されます。この cookie は、cookie を作成した webサイトだけが利用できるため、通常であれば他のwebサイトに、特定のサイト用の cookie が漏洩する可能性はありません。
クロスサイト スクリプティング問題
対象となるサーバーシステム
入力値について、発信することを望まないスクリプティングがないことについての検証を行わずに動的にページを自動生成する webサーバーシステム
問題点: セッションにおける信頼の破綻
インターネット商取引のサイトを想定しましょう。次の例は、example.co.jp サイトとのセッションにおいて本人認証のセキュリティが処理されている場合を想定します。このページには、関連する 2つのサイトの URL が含まれてしまっています。
<A HREF="http://example.co.jp/comment.cgi? mycomment=