【クロスサイトスクリプティング(XSS)】とは、 不正プログラム(スクリプト)を利用した攻撃

攻撃者がWebページに不正プログラム(スクリプト)を挿入し、個人情報を盗む、ブラウザのCookieを盗聴・改ざんなどを実行するサイバー攻撃です。

 

お問い合わせサイト・掲示板・ブログのような、入力した内容をWebページに表示するサイトで、サーバーのWebアプリケーションの弱点(脆弱性)を利用して、Webページに不正プログラム(スクリプト)を挿入します。

 

(注)スクリプトは、JavaScript(ジャバスクリプト)のことで、これをWebサイトに利用することで、サイトに動きなどの機能を付加できます。逆に、これを悪用することで、様々な攻撃が可能になります。

 

例えば、ユーザーの入力値をチェックしないWebサイトでは、どんな文字でも入力可能となっています。この結果、攻撃者は入力欄に不正なプログラム(スクリプト)を書き込み、偽ページに誘導する画面を表示することが可能となります。

 

悪意のあるプログラム(スクリプト)を直接実行させるほかに、サイトAに記述されたスクリプトをサイトB上で実行させる攻撃を実施するので,「サイト間をまたがるスクリプトの実行」問題として,クロスサイトスクリプティング(XSS)と名前が付けられました。

 

なお、クロスサイトスクリプティング(XSS)による脅威として、下記があります。

 

①サイト上に偽ページを表示し、個人情報の不正搾取

②ブラウザーのCookieを盗聴・改ざんし、不正アクセスや、本人になりすまして物品の購入を行うなどの攻撃

 

クロスサイトスクリプティングの一つの攻撃の仕組みは次のようになります。攻撃者がWebページに不正なスクリプトを挿入するサイバー攻撃です。今まで見ていたサイトも攻撃の対象になることがあり、注意が必要です。

 

①ユーザーがWebサイト(攻撃者が不正なスクリプトを挿入したサイト)を閲覧

②Webサイトには、不正プログラム(スクリプト)があり、ユーザーに気付かせることなく、偽サイトに誘導

③攻撃者の用意した偽サイトで個人情報(名前、メールアドレスなど)を入力するフォームを表示して個人情報が盗む。

 

また、任意のタグがそのまま書き込めてしまう掲示板が挙げられます。悪意あるユーザーが危険な内容を、スクリプトを使い投稿し、別なユーザーが投稿内容を閲覧したときにスクリプトが実行されてしまい、Cookie の値を密かに別の場所に送信する事も可能になります。

 

Webサイトを構築する側はこのような攻撃を受けないようにサイトを作ることが重要です。また、利用するユーザー側としては、以下の対策が必要です。

 

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

①ブラウザーを最新版にアップデートし安全性を高める

②メール内やWeb上の不審なURLを安易にクリックしない

③ブラウザーのセキュリティ設定により、スクリプトの実行を無効化する

④セキュリティソフトで、不正スクリプトをブロックする(ウイルス検索機能により、不正スクリプトを検出する)

⑤セキュリティソフトで、不正サイトへのアクセスをブロックする