クロスサイトスクリプティング(XSS)とは?具体的な攻撃手法と対策について。
セキュリティの3大脆弱性の1つに、クロスサイトスクリプティング(XSS)が挙げられます。
今回はXSSとは何か、その攻撃手法や対策について解説します。ウェブセキュリティの被害から身を守るための知識を、一緒に学んでいきましょう。
クロスサイトスクリプティング(XSS)とは
クロスサイトスクリプティング(XSS)とは、攻撃者が攻撃用のコード(サイトへのリンクなどの罠)を用意して、ユーザーの情報を抜き出す攻撃手法のことを言います。
攻撃者はサイトをまたいで(クロスして)攻撃を仕掛けることから、「クロスサイト」という名称が名付けられました。ウェブセキュリティにおいては3大脆弱性の1つに数えられており、攻撃に対しての適切な対策が必要です。
XSSはJavascriptの仕組みを悪用して攻撃する
クロスサイトスクリプティングでは、Javascriptの仕組みを悪用して攻撃を仕掛けてきます。
Javascriptとは、Webサイトにおける動的な操作をサポートしてくれるプログラム言語のこと。ユーザーのブラウザ上で稼働され、近年はほとんどのWebサイトでJavascriptを使ってサイトが構築されています。
例えば、ECサイトなどで郵便番号を入力すると、自動で住所が表示される機能を利用したことはないでしょうか。あれこそまさにJavascriptの機能を利用したもので、郵便番号を入力するとデータベースにアクセスし、対応した住所が表示される仕組みです。
このようにJavascriptはプログラムが自動で実行される便利な機能なのですが、一方で悪意を持ったプログラムを仕込まれてしまうと、知らない内にプログラムが実行されてしまうといった危険性もはらんできます。
XSSの攻撃手法は?
ここからは、具体的にクロスサイトスクリプティングの攻撃手法について見ていきましょう。
まず攻撃者は、セキュリティに脆弱性があるWebサイトを探し、このサイトに興味を持ちそうなユーザー向けに罠(プログラムを実行するURL)を仕掛けます。罠は掲示板やSNSなどに仕組まれることも多く、一般のユーザーにとっても身近な脅威と呼べます。
ユーザーがクリックするURLには、あらかじめプログラムを実行する攻撃用のコードが組み込まれています。この状態でユーザーが脆弱性のあるWebサイトを訪れると、Javascriptの機能を利用して攻撃用コードのプログラムが実行。ユーザーの情報を不正に抜き出すといった、セキュリティ被害が発生する訳です。
XSSへの対策は?
では、クロスサイトスクリプティングの対策にはどような方法があるのでしょうか?
Webサイトの脆弱性を改善する
クロスサイトスクリプティングは、Webサイトの脆弱性が根本的な原因にあります。攻撃者はこの脆弱性を利用して悪意ある攻撃を仕掛けるため、まずはこの部分を修正・改善することが急務です。Webアプリケーションファイヤーウォール(WAF)を設けることも対策の1つでしょう。
また、XSSでは掲示板などに入力した文字をそのままサイト側が利用するため、プログラムが実行されてしまいます(攻撃者が攻撃コードをしのばせやすい)。つまり、入力された文字を無害化しておけば、プログラムは実行されない訳です。
サイト運営者側は、こうした点に注意しながら、クロスサイトスプリプティングへの対策を講じていきましょう。
まとめ
今回は、ウェブセキュリティにおける3大脆弱性の1つ「クロスサイトスクリプティング(XSS)」について解説しました。
XSSでは、ユーザーが意図しない内に情報を抜き出され、個人情報の流出やマルウェアへの感染といった被害に繋がります。XSSへの対策はWebサイトの脆弱性を改善することが最優先となるため、運営者は脆弱性診断などを通じて、早急な対策を講じておきましょう。
現在KRAF(クラフ)では、私たちと一緒に働いてくれる仲間を募集しています。
セキュリティ診断を通して、社会に安心を提供し続ける仕事に一緒に取り組んでみませんか?まずは採用情報から、お仕事の内容や私たちの想いを覗いてみてください。