クロスサイトスクリプティング(XSS)

「クロスサイトスクリプティング(XSS)」は、通常ユーザの入力を受け取るWebサイトやWebアプリケーションで確認されるセキュリティの脆弱性です。検索エンジン、ログインフォーム、メッセージボードやコメントボックスに存在する脆弱性などが該当します。

サイバー犯罪者は、これらのWebサイト関連の機能に実行型の不正なコードの文字列を挿入することによりこの脆弱性を利用します。対象とするWebサイトのコンテンツに不正なコードが挿入されるため、このコードもWebサイトの一部となるため、Webサイトを訪問または閲覧したユーザが影響を受ける可能性があります。不正なコードは、実際にはWebサイトの一部として組み込まれないもののサイト訪問者にはWebサイトの一部として見える一時コンテンツとして提供されることもあります。これによりWebサイトがサイバー犯罪者により実際に改ざんされたように見えます。

サイバー犯罪者はこの脆弱性を利用してWebサイトのコントロールを取得するか直接改ざんします。また、Webサイトのサーバまたはソフトウェア上に存在する他の脆弱性も悪用します。


XSSはどのように動作しますか?
  1. サイバー犯罪者は対象とするWebサイトを選択し、ユーザの入力を受け付ける機能のうち脆弱なものを探し出す。検索バー、ログインフォームやコメント入力ボックス等の機能が該当する。
  2. サイバー犯罪者は選択した機能へ不正なコードを挿入する。不正なコードはHTML、JavaScriptやその他のプログラミング言語で書かれている可能性がある。
  3. 不正なコードは、その機能から生成されるWebページ(検索結果やコメントページ内のコメント)へ挿入される。そのように不正なコードがWebページの一部として組み込まれ、Webページが改ざんされる。
  4. コードの挿入方法によっては、不正なコンテンツが実際のWebページ自身には組み込まれない場合がある。正確には、エクスプロイトの特定のインスタンス内でWebサイトの一部として表示されるだけの一時構成要素となる。これにより実際はWebサイトが改ざんされていないにも関わらず、本当に改ざんされたように偽装が可能となる。
  5. サイバー犯罪者が悪用する機能によるが、サイバー犯罪者にリンクされるか偶然に改ざんWebページにアクセスすることで、ユーザが改ざんWebページの被害者となる可能性がある。
  6. ユーザのコンピュータ上で実行する挿入されたコードによる不正活動は、気に障るが実害ないものから非常に危険なものまでさまざま。正規に公開されたWebサイトのコンテンツ上で、想定外の画像を表示するといった実害のないものから、ユーザを不正なWebサイトへリダイレクトし、自動的にコンピュータ上へ不正なファイルをダウンロードするようなものもある。またこの脆弱性は、ログイン情報のようなユーザの個人情報を搾取する目的でも利用されることがある。
なぜXSSは危険なのですか?
  • クロスサイトスクリプティング(XSS)が悪用されると、サイバー犯罪者は、信用あるWebサイトを不正なサイトに変更できるようになります。このため、感染ユーザだけでなく信用あるWebサイトの所有者の評判にも大きな損害が及ぶ原因となります。
  • XSSにより改ざんされたWebサイトは、ユーザのコンピュータを攻撃するさまざまな脅威の原因となります。不適切なコンテンツの表示からユーザに気づかれずにダウンロードされる不正プログラムにまで、あらゆる脅威に関連しています。
ユーザはどのような対策を講じることができますか?
XSSは危険な脆弱性であるものの、このような脆弱性をパッチする方法はあります。Webサイトの管理者は、ユーザの入力を受け付けるすべてのWebアプリケーションに確実にパッチを適用してください。これにより、入力結果が反映されたページが生成される前に入力内容の文字列をクリーンにします。また、パッチによりいかなるコードの挿入も回避します。一方、ユーザ側はご使用のWebブラウザのスクリプト機能を無効にするとともに、不審な組織や送信者からのリンクのクリックを避けるべきです。

Webサイト開発者やオーナーの対策:
  • HTMLやJavaScriptなど、ユーザ入力を受け付けるWebサイトのすべてのページにおいて、挿入されたコードを削除する。
  • Webアプリケーションに存在するすべての脆弱性をスキャンし、直ちにパッチする。
  • XSS攻撃のために利用される可能性のある脆弱性が、将来実際に悪用されることを防ぐため、Webサイトおよびサーバソフトウェアを更新する。
ユーザの対策:
  • スクリプトを要求しないWebページではスクリプトを無効にするか、全面的に無効にする。
  • 不審なEメールまたはメッセージボードの投稿内のリンクは、改ざんされたWebページに誘導する可能性があるためクリックを避ける。
  • 訪問したいWebサイトへは、サードパーティのソースやリンクを介してではなく、該当のURLへ直接アクセスする。
  • システムソフトウェアやアプリケーションは定期的に更新し、脆弱性の2次利用を避ける。