クロスサイトスクリプティング(XSS)とは?
仕組みから対策まで総まとめ

Webサイトの脆弱性を狙ったサイバー攻撃の一つである「クロスサイトスクリプティング(XSS)」。比較的古くから使用されている手法で、Webサイトの改ざん、個人情報やCookie情報の窃取、マルウェア感染など、現在でも多くの被害が報告されています。
今回は、クロスサイトスクリプティングの仕組みや種類、被害事例、対策方法について詳しく説明します。

今回のお悩み
Webサイトが狙われるサイバー攻撃に、クロスサイトスクリプティングというものがあると聞いたが、どのようなものなのか。攻撃の仕組みや被害の事例、対策方法が知りたい。

私が解説します!
インターネットが普及し、今やWebサイトにアクセスしない日はないほど、私たちの生活に深く関わっています。一方で、Webサイトを悪用したサイバー攻撃も後を絶たず、被害は年々増加しています。サイバー攻撃の一種であるクロスサイトスクリプティングの仕組みや種類を理解し、リスクを軽減するための対策を講じましょう。

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

クロスサイトスクリプティング(XSS)とは、Webサイトの脆弱性を突いて罠を仕掛け、ユーザーの個人情報の窃取などを行うサイバー攻撃です。罠を仕掛けたサイトから別のサイトに誘導して(クロスして)攻撃することから、クロスサイトスクリプティングと名付けられ、「Cross Site Scripting」の略として「XSS」とも表記されます。
古くから用いられている手法ですが、現在でも多くの被害が報告されています。IPAが公開している「ソフトウェア等の脆弱性関連情報に関する届出状況」によると、Webサイトの脆弱性の種類別届出件数は、クロスサイトスクリプティングが最も多く、累計では全体の59%を占めているという結果が出ています。

参照:IPA(独立行政法人情報処理推進機構)「ソフトウェア等の脆弱性関連情報に関する届出状況[2023年第3四半期(7月~9月)]」

クロスサイトスクリプティングの仕組み

クロスサイトスクリプティングは、攻撃者がWebサイトに悪意のあるスクリプト(※1)を埋め込んだ罠を仕掛けます。例えば、個人情報の入力画面や掲示板、アンケートサイトなどに仕掛けられることが多く、このWebサイトをユーザーが閲覧し、リンクをクリックすると標的となるWebサイトに誘導されます。
ユーザーのブラウザ上でスクリプトが実行されると、個人情報や保存されているCookie情報の窃取、SNSアカウントの乗っ取り、マルウェア感染など、さまざまな被害が発生します。

クロスサイトスクリプティングの仕組み ※1 スクリプト:原稿や台本、脚本などを意味する英単語。IT分野では簡易的なプログラムのことを指す。

( 2 ) クロスサイトスクリプティングの種類

クロスサイトスクリプティングの攻撃の種類は、主に以下の3種類があります。

●反射型XSS(Reflected XSS)

基本的なクロスサイトスクリプティングの手法で、リクエストに含まれるスクリプトがユーザーにそのまま戻されます。攻撃者は不正なスクリプトを含んだリンクを偽サイトなどに用意し、脆弱性のあるサイトに誘導。ユーザーのブラウザで不正なスクリプトが実行され、さまざまな情報の摂取が行われます。

●格納型XSS(Stored XSS)/持続型XSS(Persistent XSS)

あらかじめ攻撃者がWebサイトにスクリプトを格納しておくという手法です。ユーザーが該当するサイトやページにアクセスするごとに不正なスクリプトが実行されるため、多くのユーザーが被害を受ける可能性があります。

●DOM Based XSS

Webサイト上の脆弱性を攻撃するものとは異なり、DOM(Document Object Model)はJavaScriptのスクリプト脆弱性を悪用します。サーバー側ではなくクライアントのブラウザ上で攻撃用のスクリプトが実行されます。

( 3 ) クロスサイトスクリプティングによる被害

クロスサイトスクリプティングによる被害として、主に以下の4つがあります。

  • 正規サイト上に偽情報を表示
  • 個人情報の漏洩
  • Cookie情報の窃取
  • マルウェア感染

クロスサイトスクリプティングによって正規のWebサイト上に偽の情報が表示され、入力フォームなどに入力した個人情報が漏洩します。Cookie情報には閲覧履歴やID、パスワードが含まれるため、クレジットカードの不正利用や、ネットバンキングからの不正出金などの被害にもつながります。
また、リンクをクリックすることで不正なプログラムがダウンロードされ、マルウェアに感染することもあるため注意が必要です。

クロスサイトスクリプティングによる被害

クロスサイトスクリプティングに関する事例

企業において、実際にクロスサイトスクリプティングに関する事例を紹介します。

事例①/大手ITベンダーが提供するサービスへの攻撃

国内の大手ITベンダーが提供するSaaS型のECサイト構築サービスの基幹サーバーが、クロスサイトスクリプティングによるサイバー攻撃を受けました。このサービスを利用する10社以上のECサイトから顧客情報43万件以上が流出し、クレジットカードの不正利用などの被害も発生しました。サービスを提供していた企業は、すべてのサーバに再発防止の対策を行いました。

事例②/世界的な衣料品大手企業のアプリに脆弱性が発覚

誰もが知る世界的な衣料品の製造小売の大手企業が提供するアプリに、クロスサイトスクリプティングの脆弱性があること判明し、脆弱性情報対策データベース(JVN iPedia)による注意喚起がなされました。企業側の迅速な対応によって脆弱性は修正されましたが、被害を被るリスクが表面化ました。

( 4 ) クロスサイトスクリプティング(XSS)への対策

クロスサイトスクリプティングにおける効果的な対策として、以下の5つをご紹介します。

●スクリプトの無害化を行う

「サニタイジング」と呼ばれる対策で、クロスサイトスクリプティングに使用される危険な文字を無害なHTMLエンティティ(※2)に置き換えます。これにより、スクリプトの意図しない動きを防ぎます。エスケープ処理とも呼ばれます。

●入力値を制限する

不正なスクリプトの埋め込みを防ぐため、入力値に制限を設けます。例えば、パスワード入力欄は半角英数8文字まで、電話番号や郵便番号の入力欄は数字のみに制限し、不正なスクリプトを入力できないようにします。

●特定のURLのみ許可する

不正なスクリプトを実行できないようにURLの出力を制限します。「http」および「https」から始まるURLのみ出力を許可するよう設定し、ほかのスクリプトは拒否します。「javascriptスキーム」などが含まれるURLは不正なスクリプトが実行されるリスクがあります。

●動作環境を最新に保つ

セキュリティ対策の基本である、動作環境を常に最新の状態に保つことは、クロスサイトスクリプティングの対策としても有効です。ブラウザやサーバ、ソフトウェアなどを定期的にアップデートし、脆弱性を解消しておきましょう。

●WAFを設置する

セキュリティツールの導入も簡単で効果的な方法の一つです。WAF(Web Application Firewall)は、Webアプリケーションのセキュリティを強化するツールで、不正なアクセスや攻撃を検知・ブロックする機能を備えています。

クロスサイトスクリプティング以外にも対応するUTM

WAF以外にも、クロスサイトスクリプティングの対策に有効なツールとしてUTMがあります。UTM(Unified Threat Management)は「統合脅威管理」と呼ばれ、1台に複数のセキュリティ機能を備えているので、クロスサイトスクリプティング以外のサイバー攻撃の対策も可能です。
日々複雑化・巧妙化するサイバー攻撃は多種多様で、これらに個別に対応するにはコストや手間がかかってしまいます。しかしUTMであればさまざまなセキュリティ機能によって一元管理ができるため、コストを抑えるだけでなく専任の部署や担当者を置く必要がありません。トラブルが発生した際も、1つのベンダーに連絡するだけでいいので安心です。

サクサの最新モデルのUTM「SS7000Ⅱ」は、充実したセキュリティ機能に加え、監視・保守・サポートなど導入後のアフターケアも充実しています。サイバー攻撃対策など、自社のセキュリティ強化を考えている場合は、UTMの導入もぜひご検討ください。

※2 HTMLエンティティ: HTMLで特別な意味を持つ文字を表現する方法。HTMLでは、特殊文字をそのまま書き込めないためHTMLエンティティを用いる。

( 5 ) まとめ

今回はクロスサイトスクリプティングの仕組みや対策方法を解説しました。Webサイトを利用していると気づかぬうちに被害に遭ってしまう可能性も少なくありません。ご紹介した対策方法に加え、日頃から不審なリンクを安易にクリックしないことが重要です。
サクサでは記事の中でご紹介した「SS7000Ⅱ」をはじめ、UTMの基礎知識を解説する特設ページをオープンしています。UTMの機能や脅威となるサイバー攻撃について、動画で詳しくご紹介していますので、セキュリティ対策の参考にぜひご覧ください。

UTMの基本機能から導入メリット・選定ポイントなどを、詳しく解説したお役立ち資料もご提供していますので、ぜひご活用ください。

経営課題におけるトレンド情報や課題解決にお役立ていただける資料をまとめております。
ぜひ一度お読みください。

お役立ち資料一覧はこちら