クロスサイトスクリプティング(XSS)とは?仕組みから対策方法を解説

インターネットを利用している人なら、クロスサイトスクリプティング(XSS)といった言葉を耳にしたことがあると思います。 クロスサイトスクリプティングとは、サイバー攻撃の一種で、ウェブサイトの脆弱性(セキュリティの弱い部分)を狙いターゲットを悪質なサイトへ誘導するスクリプト攻撃を仕掛けるものです。 個人情報を盗まれてしまい、ひどい場合には成りすましが行われるなど、さまざまなものがあります。 今回はこのクロスサイトスクリプティングについて、内容から仕組みを解説していきます。 興味のある方はぜひご覧ください。

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

amela.co.jp news image 1

クロスサイトスクリプティングとは、ターゲットユーザーが利用しているウェブサイトに攻撃を仕掛け、ユーザーを脆弱性のあるサイトに誘導し、情報搾取することから「クロスサイトスクリプティング」と呼ばれるようになりました。 IPA(情報処理推進機構)によると、クロスサイトスクリプティングの被害は「脆弱性の種類別の届出状況」において50%以上と多くを占めています。 参照:ソフトウェア等の脆弱性関連情報に関する届出状況(2020年第3四半期)7〜9月|IPA(情報処理推進機構)

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

ここでは、クロスサイトスクリプティングの簡単な仕組みを解説していきます。 まず初めに攻撃者は、インターネットの掲示板サイトなど、動的サイト(自身で入力できるサイト)へ入力フォームを使って罠(スクリプト)を仕掛けます。 ターゲットユーザーはそこに設置されたスクリプト(一般的にはサイトに飛ばすリンク)をクリックすることで、悪質なサイトに誘導されてしまい、ブラウザ上で不正なスクリプトが勝手に実行され、入力した情報などが抜き取られます。 他にはマルウェアに感染したり、成りすましが行われるなど、被害はさまざまです。

クロスサイトスクリプティングと似たタイプの攻撃

クロスサイトスクリプティングと似たような攻撃に「クロスサイトリクエストフォージェリ(CSRF)」や「SQLインジェクション」といったものがあります。 クロスサイトリクエストフォージェリは、セッション管理を対象とした攻撃という点、SQLインジェクションは、クロスサイトスクリプティングと同様Webアプリケーションを対象にした攻撃ですが、「SQL」に不正なコードを挿入し、データベースを直接操作する点で異なります。 それぞれの攻撃は、大まかな部分は同じセキュリティ対策でまかなえますが、詳細部分は若干異なるので、各対策を行うようことがおすすめです。

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

amela.co.jp news image 2

クロスサイトスクリプティングの対策方法としては、以下の3つがあげられます。 ・エスケープ処理を行う・バリデーション処理(条件の検証)を実施・WAFの設置 それぞれ解説します。

エスケープ処理を行う

エスケープ処理とは、「”」や「<」など、意味を持っている区切り文字やタグから、意味を持たない文字列に変更する行為のことをさします。 区切り文字やタグに意味を持たせないことで、スクリプトが勝手に実行されてしまう可能性を減らし、結果、クロスサイトスクリプティングを防ぐことができます。

バリデーション処理(条件の検証)を実施

バリデーションとは、入力されたデータがあらかじめ規定された条件や仕様・形式に適しているか検証する行為のことをさします。 たとえば、パスワードの文字数を8文字に制限し、使えるテキストを数字と英語に制限したとします。 もし悪意のあるスクリプトを開いてしまった場合でも、バリデーションに適さない文字を自動ではじいてくれるので、攻撃対象になるリスクを避けることができるのです。 サーバー側で制限できるので、まだしていない方はぜひ確認しておきましょう。

WAFの設置

WAFとは、Webアプリケーションファイアウォール(Web Application Firewall)の略称で、Webアプリケーションを対象にしたセキュリティ製品です。 一般的なファイアウォールは外部と内部の間に設置される「壁」のようなもので、アプリケーション自体の通信は監視できません。 しかし、WAFの場合、「Zoom」や「Gmail」などのWebアプリケーションを対象にして監視を行えるため、セキュリティを強化することができます。 クロスサイトスクリプティングに対応できる手段として有効なので、可能な限り導入するようにしましょう。

クロスサイトスクリプティング(XSS)の対策を実施して個人情報を守る

この記事では、クロスサイトスクリプティング(XSS)とは何か仕組みから対策方法までご紹介しました。 ウェブサイトの脆弱性をついた攻撃で、ターゲットにされてしまうと個人情報を抜き取られ、なりすましや情報搾取など、さまざまなトラブルに発展してしまいます。 入力値の処理を行うことで対策できるので、まだ実施していない企業はセキュリティの見直しをおすすめします。