クロスサイトスクリプティング
掲載:2023年12月11日
用語集
「クロスサイトスクリプティング(XSS)」とは、ウェブサイトに悪意のあるコード(スクリプト)を注入し、サイト利用者のブラウザ上で実行させるサイバー攻撃です。スクリプトを実行した利用者は、クッキー情報やセッション情報の流出による「なりすまし」、偽サイトへの誘導、マルウェア感染などの被害に遭うリスクがあります。
クロスサイトスクリプティングの仕組み
クロスサイトスクリプティングは、脆弱性のあるサイトを見つけ出し、入力フォームにHTMLやJavaScriptを含むテキストを入力することで攻撃を仕掛けます。そのため、ECサイトやコメント投稿など、テキスト入力フォームが多いウェブサイトが狙われやすい攻撃です。
クロスサイトスクリプティングは、スクリプトを仕掛けたウェブサイトに被害を与えるのではなく、サイトを訪れた利用者が被害に遭う点が特徴です。攻撃が仕掛けられたウェブサイトを直接訪れる以外に、SNSや掲示板などに投稿された罠リンクを経由して、脆弱性のあるサイトにスクリプトを注入し被害に遭うケースもあります。
クロスサイトスクリプティングの対策
クロスサイトスクリプティングに対して、サイト運営者と利用者がとるべき主な対策は以下のとおりです。
<サイト運営者の対策>
- 入力値の検証(バリデーション)とスクリプトの無効化(エスケープ処理)
- セキュリティソフトによる定期的な脆弱性スキャン
- 開発者に対するセキュアコーディング教育
<利用者の対策>
- ブラウザを常に最新化
- 信頼できるソース以外のリンクを安易に開かない
- セキュリティソフトによるマルウェアの検知・駆除
クロスサイトスクリプティングは古くからある攻撃手法ですが、今でもその脅威は健在です。情報処理推進機構(IPA)が発行する「情報セキュリティ白書 2023」によると、この数年で減ってきてはいるものの、被害の届出がされたウェブサイトの脆弱性の半数以上を占めています(P63、図 1-3-14 Webサイトの届出における脆弱性内訳)。
サイト運営者、利用者とも前述のような対策を適切に行い、身近な脅威であるクロスサイトスクリプティングの被害から身を守ることが大切です。