クロスサイトスクリプティング(XSS)とは、エンドユーザー側がWebページを制作することのできる動的サイト(例:TwitterなどのSNS、掲示板等)に対して、その脆弱性を利用して悪意のある攻撃者が制作した不正なスクリプトを挿入することによりその発生するサイバー攻撃です。

少し難しい名前なので、専門的な知識が必要と思われがちですが、このページに整理する対策を行えば大丈夫です。
今回はクロスサイトスクリプティングについて、その概要から対策方法まで幅広くご紹介いたします。

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

クロスサイトスクリプティングは、エンドユーザー側がWebページを制作することのできる動的サイト(例:Twitter、掲示板等)に対して、自身が制作した不正なスクリプトを挿入するサイバー攻撃です。
直接的な被害は標的サイトではなく、サービスを利用しているエンドユーザーに対して及びます。標的になったサイトとは別のサイトに情報を送信(クロス)することから、この名前で呼ばれるようになりました。

攻撃の流れ

以下はクロスサイトスクリプティングの代表例を図に整理しました。

  1. 攻撃者CがXSSに対して脆弱性のあるA社を発見し、A社に興味を持ちそうなユーザーのいる掲示板サイトBに罠を仕掛ける(例:スクリプト付リンクを貼る)。
  2. ユーザーが掲示板サイトBを閲覧する。
  3. 掲示板サイトB内でスクリプト実行
  4. ユーザーはスクリプト情報を持ったままA社のページに移動(クロスサイト)する。
  5. スクリプトの効果により「A社のサイトとして」表示された偽サイトにジャンプする。
  6. 騙されたユーザーが情報を入力した結果、スクリプトが悪さをする
  7. 攻撃者Cの手により、ユーザーに対して様々な被害が発生(マルウェア感染・攻撃者Cへの情報漏洩など)。

攻撃の原因

クロスサイトスクリプティングの根本的な原因は、文字通り攻撃者が不正なスクリプトを挿入することができる環境を与えてしまうことにあります。つまり、クロスサイトスクリプティングに対して脆弱性を持つ動的サイトの放置です。

スクリプト文章にはエンドユーザー側が保有する個人情報を、標的サイトとは別のサイトに送信するように設定されており、これが直接的な被害を生み出します。

「java」や「htmlタグ」が使われる
クロスサイトスクリプティングは、スクリプトを利用したサイバー攻撃です。
使用されるスクリプトには様々なものがありますが、なかでも「java」及び「htmlタグ」は頻出と言える言語。とくにできることの範囲が広いjavaを用いた攻撃は、著しい被害を及ぼす傾向にあるため、警戒が必要だと言えます。

攻撃被害の影響

クロスサイトスクリプティングによる攻撃は、標的サイトのエンドユーザーが被害を受けることで発生します。スクリプトの内容によって被害内容が異なる点が特徴で、代表的な被害例は下記の通りです。

  • cookie情報を利用した不正アクセス(セッションハイジャック)
  • HTMLタグを使った入力フォームによる情報収集
  • 偽サイトを使ったフィッシング詐欺

被害事例

クロスサイトスクリプティングによる攻撃で最も警戒すべきポイントは、いつ自身の提供するサービスが悪事に利用されるかわからない点です。過去「YouTube」や「Twitter」も同様の被害に遭っており、危険な事案だと指摘されています。

Youtube不正アクセス事件

動画共有サイトの米YouTubeを狙った攻撃が発生し、ショッキングなデマが流れたり、コメントが表示されなくなるなどの影響が広がりました。
この攻撃ではYouTubeのコメントシステムに存在するクロスサイトスクリプティングの脆弱性が悪用されました。
この影響でコメントが表示されなくなったり、画面に著名人に関するデマやゴシップがポップアップ表示されるなどの被害が広がりました。
ほかにも不正なポップアップが出たり、悪趣味なWEBサイトにリダイレクトされたりするケースが相次いだといわれています。

Twitterワーム拡散事件

クロスサイトスクリプティングに対する脆弱性をついたワーム(ロールオーバーした文章を自動でリツイートしてしまう性質を持つ)が拡散し、爆発的な勢いで混乱が拡大しました。

攻撃されないための対策

クロスサイトスクリプティングは、その脆弱性を利用されることにより発生します。サービスの提供者とユーザーの双方がセキュリティ対策を実施することが大切です。

ユーザー側に求められる対策

  • 最新のブラウザにアップデートする
  • スクリプトの実行設定を無効化する
  • セキュリティソフトを導入し、不正なスクリプトをブロックする

企業のIT管理者に求められる対策

  • エンドポイントへの総合的なセキュリティソフトの導入
  • 不正なサイトへの誘導と思われるメールをブロックする
  • ネットワーク内部から不正サイトへのアクセスをブロックする

WEB制作者・管理者側に求められる対策

  • クロスサイトスクリプティングに対応したWEBアプリケーションを構築する
  • WEBサーバやアプリケーションを最新の状態に保つ
  • クロスサイトスクリプティングに対するフィルタ機能を持つWAFの導入
脆弱性を把握しておく
クロスサイトスクリプティングの脆弱性は、開発者側がソースコードを確認することで、脆弱性をチェックすることも可能です。
脆弱性を作りこまないように開発するために、IPAが公開している、「安全なウェブサイトの作り方」や「IPA ISEC セキュア・プログラミング講座」を参考にした上、必要な安全対策を実施し、開発を委託する場合にも、自社で開発する場合と同様に、上記の対策を実施することをおすすめします。
参考安全なウェブサイトの作り方
参考IPA ISEC セキュア・プログラミング講座

まとめ

クロスサイトスクリプティングが非常に危険なサイバー攻撃であることは、過去の大規模な不正アクセス事件からも明らかです。
個人情報の収集を目的とした攻撃者により実行されると、甚大な被害を及ぼすこととなるでしょう。

根本的な対策は設計時のスクリプトから見直す必要があるため非常に難しい問題ですが、サイト制作者はしっかりと情報を調査した上での作り込みが必要です。
さらにその他のサイバー攻撃と同じように、サイトユーザー側はしっかりとエンドポイントのセキュリティソフトを導入しておくなど、基本的なセキュリティ対策は行なっておくことが重要です。

情報漏洩セキュリティ対策ハンドブックプレゼント

メルマガ登録で、下記内容の「情報漏洩セキュリティ対策ハンドブック」プレゼント

1.はじめに


2.近年の個人情報漏洩の状況


3. 内部要因による情報漏洩
3-1.被害実例
3−2.内部犯行による被害統計情報
3-3.内部犯行による情報漏洩が増え続ける3つの原因
3-4.内部犯行を減らすための対策


4. 外部要因による情報漏洩
4−1.近年の個人情報漏洩の状況
4−2.実際の近年のサイバー攻撃による企業の被害実例
4−3.サイバー攻撃の統計情報
4-4.サイバー攻撃がふえ続ける5つの原因
4-5.急増する日本の企業のWEBサイト改ざんへの対策
4-6.サイバー攻撃の種類を把握しよう
4-7.日本におけるサイバー攻撃に対する国の対応と今後
4-8.外部要因による情報漏洩のセキュリティ対策

無料でここまでわかります!
ぜひ下記より無料ダウンロードしてみてはいかがでしょうか?

この記事が気に入ったら
フォローしよう

最新情報をお届けします

Twitterでフォローしよう

おすすめの記事