1. TOP
  2. お役立ち記事
  3. クロスサイトスクリプティングとは?リスクや対策方法をわかりやすく解説

お役立ち記事

2023-09-19 09:00:57

クロスサイトスクリプティングとは?リスクや対策方法をわかりやすく解説

クロスサイトスクリプティングとは?リスクや対策方法をわかりやすく解説

現代のビジネス環境において、典型的なサイバー攻撃である「クロスサイトスクリプティング攻撃(XSS)」への対策は欠かせません。
その脅威を理解するとともに、早急な対策が企業に求められています。
今回は、クロスサイトスクリプティング攻撃の具体的な手法とその影響、攻撃を未然に防ぐための対策をご紹介します。

ウイルスソフト

 

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

クロスサイトスクリプティング(XSS)とは、Webサイトの脆弱性を悪用して、悪意のあるスクリプトを実行させるセキュリティ攻撃のことです。

この攻撃は、ユーザーの個人情報やCookieなどを盗み出すことが目的で、DX時代の企業においては、危険性の高いサイバー攻撃と考えられています。
クロスサイトスクリプティング攻撃を防ぐためには、Webページにおける入力値の検証やエスケープ処理、セキュリティヘッダー設定などの対策が欠かせません。

また、Webアプリケーションファイアウォール(WAF)を導入することで、サイトスクリプティング攻撃の被害を未然に防止できるでしょう。

クロスサイトスクリプティングによる攻撃方法と流れ

クロスサイトスクリプティング攻撃自体は、比較的古くからあるもので、現在でもサイバー攻撃の常套的な手口として知られています。
クロスサイトスクリプティング攻撃の方法や流れについて、もう少し掘り下げてみましょう。

まず、攻撃者が脆弱性のあるWebサイトに悪意のあるコードを埋め込みます。
次に、ユーザーがそのWebサイトを訪れ、知らず知らずのうちに実行されます。

これによってユーザーの個人情報が漏洩したり、マルウェア感染を引き起こしたりして、第三者によるセッションハイジャックが可能となるのです。

セッションハイジャックとは、ネットワーク通信において、特定の利用者間で行われる一連の通信群(セッション)を、通信当事者以外が乗っ取る攻撃手法です。
これによってWebサイト上の情報が書き換えられたり、フィッシングサイトへ誘導されたり、バックドアが設けられたりすると、さらなる攻撃の足がかりにされることがあります。

狙われやすい脆弱性と対象は?

クロスサイトスクリプティング攻撃をおこなうために悪用される代表的な脆弱性は、いくつかあります。

たとえば、ユーザー入力に対して動的にページを生成するWebアプリケーションに対し、外部から悪意のあるスクリプトを挿入することで生じる脆弱性です。

これはHTMLの文法上、特別な意味を持つ特殊記号(メタ文字)が正しく扱われない場合に発生します。
結果、ハッカーらは攻撃用のコードをWebページに、自由に埋め込むことができるのです。

たとえば、アンケートサイトやブログ、掲示板など、ユーザーからの入力内容をもとにWebページを生成するサイトは、サイトスクリプティング攻撃の標的になりやすいです。
詳しくは後述しますが、YouTubeやX(旧Twitter)といった世界的な規模を誇るWebアプリケーションにおいても、サイトスクリプティング攻撃の被害を受けています。

クロスサイトスクリプティングの攻撃の種類とは?

クロスサイトスクリプティング攻撃には、反映型・持続型・DOM Based型と呼ばれる3つの種類があります。
それぞれの特徴や攻撃方法、被害に関する情報は次の通りです。

反映型クロスサイトスクリプティング

反映型(Reflected XSS)は、攻撃者が作成したリンク・メールによって、被害者がクリックしたときに発生するタイプのクロスサイトスクリプティング攻撃です。

具体的には、攻撃スクリプトがWebサイトに送信されるサーバー側で実行されます。
その結果が被害者のブラウザに反映されることで、はじめて被害を確認できるのです。
反映型XSSは、リクエストの内容に不正コードが含まれたときのみ発生し、持続性がないため、「非持続型(Non-Persistent XSS)」とも呼ばれます。

持続型クロスサイトスクリプティング

持続型は(Persistent XSS)は、ウェブアプリケーションやウェブサイトに悪意のあるコードが持続的に埋め込まれ、ユーザーがアクセスすることで実行されます。

主にインターネット掲示板やブログのコメント欄など、不特定多数が書き込み可能なWebアプリケーションで多用されます。
持続型の特徴は、攻撃者が被害者に罠であるURLを踏ませる必要がないことです。

被害者がサーバーにアクセスするだけで仕込んだスクリプトが動作するため、Webサイトやアプリケーションのすべての利用者が被害に遭います。

DOM Based クロスサイトスクリプティング

DOM Based クロスサイトスクリプティングは、攻撃者がWebページのDOM(Document Object Model)を操作し、悪意のあるスクリプトを実行させる攻撃です。

DOMとは、HTMLやXMLを構成する要素をプログラム上で参照・操作するための仕組みです。
DOM操作により、動的に表示するページを作ることができます。
このタイプはサーバー側ではなく、クライアント側のWebブラウザ上において、不正なスクリプトを実行する特徴があります。

Webサイトのページのソースを掘り下げない限り、脆弱性を確認できないのが、DOM Based クロスサイトスクリプティングの厄介な点です。
裏を返すと、ITに詳しくない大半のユーザーがこの被害に遭うリスクを抱えています。

ウイルスソフト

クロスサイトスクリプティング攻撃の有名な被害事例

ここでは、クロスサイトスクリプティング攻撃の有名な被害事例を3つご紹介します。

YouTubeの被害事例

2010年7月、YouTubeのメインシステムにおける脆弱性が悪用され、第三者によるクロスサイトスクリプティング攻撃が行われました。

それによって適切にコメントが表示されず、デマ情報の拡散や、ゴシップ画像の表示といった被害が広がったのです。

悪意ある外部サイトにリダイレクトされたりするケースも相次ぎ、大きな騒動となりました。

Twitterの被害事例

当時のTwitter(現在X)においても、大規模な被害事例が報告されています。
2010年、Twitterの公式クライアントアプリケーション「TweetDeck」がクロスサイトスクリプティング攻撃を受けました。

攻撃者はTweetDeckの脆弱性を悪用し、ユーザーのアカウントを遠隔操作でセッションジャックします。
大量の意味不明なリツイートを投稿させるなど、ユーザー間の混乱状況を引き起こしました。

この事件では、最大50万人が影響を受けたとされています。
また、同じく2010年にTwitterのWebページにおいて、不正なコードが仕込まれました。

脆弱性を利用したコードが急速に拡散し、ユーザーが意図しないツイートする被害が発生したのです。

これは世界中のユーザーが一斉に影響を受け、Twitter社は早急な対策・解決に追われることとなりました。

eBayの被害事例

世界最大級のインターネットオークション、「eBay」におけるクロスサイトスクリプティング攻撃の被害事例は、2017年に発生しました。
攻撃者は、悪意のあるJavaScriptをeBayの出品リストに埋め込み、利用者がリストをクリックするとそのページに移動する仕組みを使いました。

ページを読み込むとコードが実行され、偽装されたログインフォームにリダイレクトされるのです。
その結果、偽装フォームを介して、大量のアカウント情報が盗まれました。

攻撃がおこなわれた出品リストは、最終的に削除されるまで、1ヶ月以上にわたりeBayのWebサイトに残っていました。

eBay側は、2017年中にJavaScriptなどのアクティブコンテンツを制限し、最終的には完全にブロックする方針を明らかにしています。

クロスサイトスクリプティングの対策方法は?

ここでは、企業が実施すべきクロスサイトスクリプティング攻撃の対策方法をご紹介します。

入力値の検証・制限

入力値の適切な検証を行うことで、不正なデータ入力や悪意のあるスクリプトの実行を防止できます。

クロスサイトスクリプティング攻撃は、ユーザーの入力データに応じて出力結果が変化する動的なページで発生する傾向があります。
そのため、Webページやアプリケーションの仕様に沿った値かどうかを検証し、不適切な値が入力された場合は処理を進めず、再入力を求めるのが効果的です。

サニタイジング

サニタイジングとは、サーバーに送信された文字列を検査し、クロスサイトスクリプティング攻撃に使用される可能性が高い文字を自動的に置換する仕組みのことです。
適切にサニタイジングを行わなければ、クロスサイトスクリプティング攻撃の対象となり、さまざまな被害が発生する要因となります。

WAFの導入・運用

WAF(Web Application Firewall)は、WebサイトやWebアプリケーションの保護に特化したファイアウォールの一種です。

それぞれへのアクセスを監視し、悪意のあるリクエストや攻撃をブロックする役割を担います。

一般的なWAFには、クロスサイトスクリプティング攻撃対策になる以下の機能が備わっています。
 

  • 通信監視・制御機能: 不正な通信や攻撃を検知および遮断
  • シグネチャ自動更新機能: 攻撃パターンのデータベースを自動更新し、未知の脅威に対応
  • Cookie保護機能: クッキー情報を暗号化し、不正アクセスを防止
  • ログ・レポート機能: 攻撃の詳細や状況を記録して分析・報告
  • 特定URL除外・IPアドレス拒否機能: 特定のURLやIPアドレスからのアクセスを制限

これらの機能により、WAFはクロスサイトスクリプティング攻撃の被害を未然に防ぎます。
ただし、WAFだけで完全なセキュリティ対策ができるわけではありません。

入力値の検証・制限やサニタイジングなどの対策も併用することが重要です。

まとめ

クロスサイトスクリプティング(XSS)攻撃は、企業の信用と業績に重大な影響を及ぼす可能性があります。
基本の対策は、WAFの導入です。
「スターティア」では、社内セキュリティやネットワークの構築・保守を専任エンジニアがサポートするサービスを提供しております。

WAFの導入が難しかったり、ツール選びで迷ったりしたら、当社の「ネットワーク構築・保守」サービスをご利用ください。

さらにビジ助会員様であれば、1契約で5ライセンスを無料でご利用いただける「ウイルス・スパイウェア対策ソフト」をご用意しております。

セキュリティソフト「ESET」をリーズナブルな料金でご利用いただけますので、ぜひ一度ご検討ください。

ウイルスソフト

おすすめ資料ランキング

サイバー犯罪の概況とセキュリティ対策 2022年度版(全24P)
2022.03.04

サイバー犯罪の概況とセキュリティ対策 2022年度版(全24P)

ヒューマンエラーを防止する方法9選(全21P)
2022.03.03

ヒューマンエラーを防止する方法9選(全21P)

知らなかったじゃすまない “改正”個人情報保護法 対策ブック(全45P)
2022.02.16

知らなかったじゃすまない “改正”個人情報保護法 対策ブック(全45P)

電子帳簿保存法改正対策ブック(全37P)
2022.01.26

電子帳簿保存法改正対策ブック(全37P)

スターティア

【著者・監修者企業】

スターティア株式会社

弊社はパソコン周り、オフィス環境、法律の改正、コスト削減など、ビジネスに関わるお困りごとの解決策を提供する当サイト「ビジ助channel」を運営しています。

資格

一般建設業 東京都知事許可(電気通信工事業):(般-4)第148417号
古物商 東京都公安委員会許可(事務機器商):第304361804342号
労働者派遣事業 厚生労働省許可:派13-316331
小売電気事業者 経済産業省登録:A0689
電気通信事業者 総務省届出:A-29-16266
媒介等業務受託者 総務省届出:C1905391

関連SNS

お問い合わせはこちら