日経ネットワークセキュリティ「自己防衛マニュアル」(2003年8月発行),156ページより

(注:記事は執筆時の情報に基づいており,現在では異なる場合があります)

多面的な特徴を持つ

写真1●CERT/CCが2002年2月に警告したクロスサイト・スクリプティング問題

 「クロスサイト・スクリプティング」という名称が最初に使われたのは,2000年2月に米国コンピュータ緊急対応センター(CERT/CC)が出した警告「Malicious HTML Tags Embedded in Client Web Requests」ではないだろうか(写真1)。

 ただ,CERT/CCが出した警告のタイトルにも「クロスサイト」や「スクリプティング」という言葉は出てこない。「クロスサイト・スクリプティング」という言葉は,本文の中で使われた。タイトルを直訳すると「Webクライアントから悪意あるHTMLタグが埋め込める(という問題)」となるのではないだろうか。

 ここからも分かるように,一般にクロスサイト・スクリプティングと呼ばれている問題は「スクリプティング」と称しているのにもかかわらず,攻撃コードがスクリプトである必要はない。正しい名称を考えれば,CERT/CCが示したように「悪意あるHTMLタグ挿入問題」となるだろう。

 また,CERT/CCの警告は旧来の掲示板攻撃に,スクリプト・コードを送り込む新しい手法が追加される可能性の示唆でもあった。こう考えると,クロスサイト・スクリプティング問題は,旧来の掲示板攻撃にスクリプト・コードの埋め込みを追加したものだと言うこともできる。

 数年前までは個人がインターネットに接続するのに33.6kビット/秒程度のモデムを使っていた。その当時でも,Web掲示板やチャットなどを中心にネット・コミュニティが形成されていた。旧来の掲示板攻撃とは,掲示板などに大容量の画像を貼り付けることで,モデムを代表とするナローバンドのユーザーが掲示板にアクセスするのを困難にしたり,xmpやpreなどの閉じタグを書かないことで掲示板にHTMLのソースコードを表示させ,掲示板に投稿された発言内容を読みにくいものにするなどの攻撃手法であった。

 このように,クロスサイト・スクリプティングはさまざまな攻撃の総称と考えることができる。攻撃の種類に合わせて「悪意あるHTMLタグ問題」など,呼び名を使い分けてもよいが,本稿では「クロスサイト・スクリプティング問題」で統一する。こちらの方が一般に普及しているというのが,筆者なりの理由だ。

佐名木 智貴 Sanaki Tomoki

筆者はインターナショナル・ネットワーク・セキュリティに勤務。技術本部に所属している。システムのセキュリティ・ホールの検査を専門とし,システム開発のセキュリティ問題に詳しい。