サイバー攻撃対策

クロスサイトスクリプティング(XSS)を防ぐ方法は?

法人のお客さまに起こりがちな状況

「SNSのリンクをクリックしたらいつもと同じサイトのはずなのに普段は出ない警告ダイアログが出た。」

「自社サイトのユーザから『登録しているメールアドレスにspamが大量に届きだしたが大丈夫か?』と問い合わせが入った。」

上記のようなケースが発生した場合、考えられる原因はいくつかあります。

今回はその中でも古典的でありながら今も多数のインシデントを発生させている「クロスサイトスクリプティング攻撃」についてご紹介します。

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

クロスサイトスクリプティング攻撃(XSS攻撃)は、WEBアプリケーションの脆弱(ぜいじゃく)性を利用して悪意のあるコードを実行させる攻撃のことを指します。

代表的な例としてはユーザフォームのテキストボックスに任意のJavaScriptを書き実行させるケースやURLの引数にコードを記載して実行させるケースなどがあります。

クロスサイトスクリプティング攻撃は古くから使われている古典的な攻撃方法なので情シス担当者としては  「もうそんなのに引っかかるところはほぼいないだろう」と考えているかもしれません。

しかしIPA(情報処理推進機構)が発表している「ソフトウェア等の脆弱(ぜいじゃく)性関連情報に関する届出状況[2020年第4四半期(10月~12月)]」を見ると、届けられたWEBサイトの脆弱(ぜいじゃく)性のうち58%がクロスサイトスクリプティングであると言われています。

参考:https://www.ipa.go.jp/files/000086442.pdf

つまりクロスサイトスクリプティングは過去のものではなく、今現在においても脅威として残っているのです。

クロスサイトスクリプティング攻撃が行われると何が起こるのか?

クロスサイトスクリプティング攻撃が行われるケースはさまざまありますが、わかりやすい悪用のされ方としてSNS等でのプロフィールページがあります。

プロフィールページにはよく「自分のサイト」等の項目でURLを登録することができる欄があります。

通常この欄はリンクになっていて登録サイトに飛ぶことができますが、この欄に「javascript:alert('hello!!')」と入れるとリンクをクリックした人のブラウザ上でJavaScriptが実行され、画面には「hello!!」の文字がアラートとして表示されます。

こうした形で任意のコードを入れ込むことで閲覧者のアカウントを乗っ取ったりマルウェア感染したりすることが可能になってしまうのです。

実際に国内でも過去大手SNSや動画サイトでこの脆弱(ぜいじゃく)性を突かれて被害が出た事例があります。悪質な例ではSNSでスクリプトを埋め込んだ部分にマウスオーバーするだけでコードが実行されてしまうケースも過去ありました。このケースでは閲覧者がつながっているユーザに対して勝手にシェアされてしまうコードが含まれていたために大量に拡散し、爆発的に被害が拡大しています。

また、クロスサイトスクリプティング攻撃によって引き起こされる影響は以下のような内容があります。

<セッションハイジャック>

WEBサイト閲覧時によく利用されるcookie情報を盗む攻撃方法です。

cookieにはIDやパスワード、そしてECサイトで入力した氏名や住所、電話番号、クレジットカード番号と言ったユーザの個人情報が入っています。攻撃を受けるとこれらの情報が奪われてしまい、クレジットカードを利用した不正注文に利用されてしまう他、法人であれば機密情報の窃取やサーバ内への侵入が発生してしまうことになります。

<フィッシング>

正規サイトを模した偽サイトに誘導し、IDやパスワードを盗む攻撃手法です。

多くは見た目上正規サイトと全く同じ作りになっており、偽サイトと見破るのが難しくなっています。最近では一度フィッシングサイトでIDやパスワードを入力させた後正規サイトに飛ばすことでユーザ側に疑念を持たせないような作りにしているケースも出てきています。

<WEBサイト改ざん>

名前の通り、サイト内のコンテンツやシステムを運営者が意図していない内容に書き換える攻撃手法です。

サービスが正しく提供されなくなってしまう他、外部のサイトに誘導してマルウェア感染を狙うなど悪質なケースがあります。

事業者側の観点でクロスサイトスクリプティングを防ぐためには?

クロスサイトスクリプティング攻撃を防ぐためには、大きく3種類の対応が必要です。

  1. サニタイジング処理(スクリプトの無効化)

    クロスサイトスクリプティング攻撃はスクリプトの構成要素となる文字列をエスケープ処理することによって無効化することができます。

    具体的には「<」「>」「&」「'」」と言った文字列です。

    これらを「&lt;」「&gt;」などに置換することでスクリプトを無効化することが可能です。

  2. バリデーション処理(入力値の制限)

    電話番号であれば数字のみを許容するなど、想定外の値が入らないようにしましょう。

    リンクとして出力する場合、URLが「http://」または「https://」で始まるケースのみ受け付けるようにしましょう。

  3. WAF等の導入

    Webアプリケーション保護機能を持つセキュリティソフトを導入することで、XSS脆弱(ぜいじゃく)性への攻撃をブロックすることが可能です。

    参考:https://www.trendmicro.com/ja_jp/security-intelligence/research-reports/threat-solution/xss.html

いずれも基本的なセキュリティ対策ではありますが、それゆえに抜け漏れが発生しがちな部分でもあります。

きちんとセキュリティ対策リストとしてシステムやWEBサイト構築時に仕様を確認し、同時に定期的なセキュリティチェックを行うようにしましょう。

ユーザの観点から見たクロスサイトスクリプティングを避ける方法は?

前提として、閲覧しているサイトが安全なのかどうか、クリックしようとしているリンクは安全なのかどうかをしっかりと確認する意識が重要です。

そのうえで、以下の対策を行うことで100%とまでは言えませんがクロスサイトスクリプティング攻撃を受ける確率を下げることが可能です。

  • ブラウザを最新のものにアップデートする

    →クロスサイトスクリプティング攻撃はブラウザの脆弱(ぜいじゃく)性を突いたケースもあります。

    こうしたケースに対応するため常に最新のバージョンにアップデートすることで対応します。

  • セキュリティソフトを導入し不正サイトへのアクセスをブロックする
    →セキュリティソフトには危険な通信を遮断してくれたり、WEBレピュテーションを活用して危険なサイトへのアクセスをブロックしてくれるなどの機能が備わっていたりします。
  • メール内やWeb上の不審なURLを安易にクリックしない
    →紹介したように外部のサイトへ誘導することが目的のケースも多々あります。不審なサイトを閲覧する前に、そのサイトは本当に問題ないサイトなのかどうかを確認したうえでアクセスする必要があります。

クロスサイトスクリプティング攻撃はSNSやオンラインツールなどを通じて攻撃用サイトへ誘導してくるケースが多く見られます。SNS上ではよく「今人気のサービス」としてさまざまなサービス情報が回ってくることが多く、ユーザによっては最新情報のキャッチアップのために利用してみようという場合もあるかもしれません。

しかし何も意識せずに利用していると実はそのリンクやサイトを通じてクロスサイトスクリプティング攻撃を受ける可能性が出てくるので注意が必要です。

情シス担当者は事業者目線、利用者目線両面でのセキュリティ確保を

クロスサイトスクリプティング攻撃はまだまだ現役の脅威です。

自社の脆弱(ぜいじゃく)性が原因でアカウントが乗っ取られた、社員が不用意なアクセスによって情報漏えいした、となると企業の継続に対して非常に大きなダメージとなります。こうしたケースを避けるためには、社内に対して安易な行動をとらないような啓発活動を行うとともに、システム上でのセキュリティ強化を行うことが重要です。

事業者の観点で自社がきちんとセキュリティ強化に取り組めているか、ユーザの観点でセキュリティ強化とセキュリティ教育が正しく行えているかを今一度確認しましょう。

トレンドマイクロからのアドバイス

クロスサイトスクリプティング攻撃は長年被害が発生している攻撃手法であり、ユーザ側でも事業者側でも対策を行わないと大きな被害が発生してしまいます。

トレンドマイクロではクロスサイトスクリプティング攻撃に対しても対応できるさまざまなソリューションを提供しています。自社の体制をご確認のうえ、不足している点がありましたらぜひご検討ください。

軽くて・強くて管理負担が少ない中小企業向けクラウドセキュリティ

ウイルスバスター™ビジネスセキュリティサービス(VBBSS)は現場から求められる「速さ」と「防御力」を両立させるとともに、管理者が求める「導入のしやすさ」や「管理のしやすさ」にもこだわったセキュリティ製品です。

従業員数の増減に合わせてPC1台から手軽に導入可能でありながら全PCのセキュリティを遠隔管理できます。

「クラウド型」のため管理サーバも不要で、管理者、ユーザ共に自宅などのテレワーク環境で作業するケースにも対応した管理サーバも不要な管理コスト軽減に貢献できるソリューションとなっています。

パフォーマンスを損なわずにDC、クラウド、 コンテナ保護

Trend Micro Cloud One - Workload Security™(Cloud One - Workload Security)はサーバの脆弱(ぜいじゃく)性や不正プログラムおよび不正な変更などの脅威から、仮想・物理・クラウドおよびコンテナ環境のハイブリッド環境を防御できるソリューションです。

この課題を解決する製品

導入前の製品や購入に
関するお問い合わせ
ご担当者様の課題解決を電話やメールで受け付けます。
製品や購入に関するご不明点がある方はお気軽にご相談ください。

導入前の製品や購入に関する
お問い合わせ

オンライン見積り
トレンドマイクロのセキュリティ対策製品のお見積りを
オンラインでご確認いただけます。

オンライン見積り