ユーザーの「安心感」を逆手に取る攻撃いまそこにある商用サイトの危機(1/3 ページ)

Webアプリケーションを用いた商用サイトの脆弱性はいまも存在している。自社サイトの脆弱性の診断については最新の「攻撃手法」も考慮して行うべきだろう。

» 2007年09月06日 07時00分 公開
[梅田正隆(ロビンソン),アイティセレクト]

脆弱性の代表格XSSとは

 Webアプリケーションにどのような脆弱性が存在しているのか。セキュリティ大手のラックのコンピュータセキュリティ研究所は「コンピュータセキュリティ動向調査報告書 2006年上半期版」において、ほとんどの商用サイトがWebアプリケーションに何らかの問題を抱えていると指摘している。

 過去の傾向と調査時点の結果を比較しても改善が見られず、脆弱性への対策はほとんど進んでいないと報告している。関連記事

 同報告書で検出された問題の内訳を見ると、検出率の多い問題から順に「クロスサイトスクリプティング(およそ60%)」「認証、セッション管理の不備(同50%)」「セキュリティ上、好ましくない仕様(同50%)」「SQLインジェクション(同30%)」といった問題が見つかっており、こうした問題を同時に複数抱えている商用サイトが多いのだという。

検出されたWebアプリケーションの問題

 脆弱性のトップに位置づけられている「クロスサイトスクリプティング(略称:XSS)」とは、どんな欠陥なのか、ここで簡単に説明しておこう。

 XSSは、ウェブアプリケーションにおいて一番多く見られる、致命的なセキュリティ上の欠陥で、すでに2000年頃には明らかになっている脆弱性である。XSSの欠陥は、ユーザーがウェブページ上でデータを入力し、その内容を検証あるいは符号化せずに、動的にHTMLページを生成し、入力したデータをそのまま表示するようなウェブアプリケーションに起こり得る。

 つまり、ユーザーが文字列を入力すると、それがウェブページに組み込まれる「掲示板」や「アンケート」のような、ごくありふれたウェブアプリケーションがこれに該当する。

 本質的な欠陥は、入力する文字列に「スクリプトの埋め込み」を許している点にある。スクリプトとは、ブラウザがHTMLページを読み込む際に、実行されるプログラムのようなもの。悪意あるスクリプトの埋め込みを許すと、生成されたHTMLページ上にスクリプトが埋め込まれた状態になる。

 ブラウザは基本的にスクリプトを実行する機能を持っているため、そのページにアクセスすると埋め込まれた悪意のあるスクリプトが実行される恐れがある。

 XSSの攻撃は、単純なスクリプトの埋め込みよりも少し複雑だ。あるウェブサイトに埋め込まれた悪意のあるスクリプトがその場では実行されず、別のウェブサイトに移動した後で(サイトをまたがって)実行される仕掛けになっている。そのためクロスサイトと呼ばれる。

 つまり、攻撃者側から見ると、スクリプトを被害者のブラウザに埋め込むためのウェブサイトがあり、それとは別にスクリプトを実行させたい標的ウェブサイトが存在する。後者が、例えばネットバンキングのサイトであれば、被害者は信頼しているサイトがスクリプトの実行を要求しているものと勘違いして、その実行を許可してしまう可能性が高い。

 そこが攻撃者の狙い目であり、実行すると被害者はクッキー情報を盗まれて、セッションをハイジャックされたり、アカウント情報が漏えいするといった被害にあう可能性がある。

クロスサイトスクリプティングの攻撃イメージ
       1|2|3 次のページへ

Copyright© 2010 ITmedia, Inc. All Rights Reserved.

注目のテーマ