用語集A〜Z

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

よみ: クロスサイトスクリプティング

攻撃者が Web サイト(掲示板や入力フォームなど)に悪意のあるプログラムを仕込み、そのサイトを訪れた「ユーザーのブラウザ上」で勝手に実行させるサイバー攻撃のことです。悪意ある JavaScript(JavaScript / JS)が使われるのが典型例です。OWASP Top 10(世界の重大な Web 脆弱性ランキング)にも長年ランクインし続ける、Web セキュリティの基本中の基本となる脅威です。

想定される被害(お客様への二次被害)

自社のサーバーが壊されるだけでなく、自社サイトが踏み台となり、訪問したお客様に以下のような被害をもたらします。

  • Cookieの窃取:ログイン情報が盗まれ、アカウントを乗っ取られる。
  • 偽ページへの誘導:画面上に本物そっくりの偽ログイン画面などを表示され、パスワードを抜き取られる。

Web 担当者に求められる実務と業者選定

担当者が自らコードを書くことはありませんが、以下の対策と基準を知っておく必要があります。

  • 必須の技術対策:フォームの入力チェック、出力時のエスケープ処理(無害化)、CSP(コンテンツセキュリティポリシー)の導入など。
  • 業者選定の絶対基準:XSS 対策は Web 制作における「当たり前の義務」です。新規業者を選ぶ際は過去の脆弱性対応事例を必ず確認し、XSS 対策を軽視する業者は論外(候補から外す)とするのが鉄則です。

よくある落とし穴(注意点)

最も危険な罠は、「うちのサイトは中小企業だし、アクセスも少ないから狙われないだろう」と軽視することです。現代のサイバー攻撃は、自動化された「ボット(プログラム)」が無差別に脆弱なサイトを探して攻撃を仕掛けてくるため、企業規模や知名度に関係なく、必須の対策となります。

言葉をよく利用する人

  • バックエンドエンジニア
  • 情シス
  • Web 担当者(発注側)
  • コーダー / フロントエンドエンジニア

会話上での使用例

新規業者の提案でセキュリティ体制を確認する場面

  • 営業
    セキュリティ対策はしっかりやっておりますのでご安心ください。
  • Web担当者
    ありがとうございます。具体的に XSS への対策はどのように実装されていますか。あわせて、過去に脆弱性が見つかったときの対応事例も伺えると判断しやすいです。
  • 営業
    出力時のエスケープ処理を標準で入れています。対応事例も後ほど資料でお送りします。

コメント機能の追加をコーダーと相談する場面

  • プロデューサー
    ユーザーがコメントを投稿できる機能をつけたいんですよね。
  • Web担当者
    投稿系の機能はリスクが上がるので、XSS 対策をコーダーさんと事前に握っておきたいです。入力のサニタイズと出力時のエスケープ、それと CSP ヘッダの設定をセットでお願いできますか。
  • コーダー
    了解です。投稿内容はそのまま出さず、表示時に必ずエスケープする実装にします。

関連 Lesson(本書本文)

Lesson 8-1 公開直前の最終確認