クロスサイト スクリプティング(XSSまたはCSS)とは、信頼されているWebサイトを介してエンドユーザーに悪意のあるコードを配信して個人情報にアクセスするために使用されるWebアプリケーション攻撃です。通常、このタイプの攻撃が成功するのは、例えばユーザーが通常のテキスト文字列ではなく、HTMLフォームでアプリケーション コードを入力できるなど、Webアプリケーションにユーザー入力の検証機能がないことが原因です。
F5 BIG-IP® Application Security Managerアプリケーション ファイアウォールは、アプリケーションでのユーザー入力を無害化して検証し、既知の攻撃パターンをスクリーニングして、さらに既知のデータ文字列と形式のみ、アプリケーションに戻すことを許可します。BIG-IP Application Security Managerは、有効かつ承認されたアプリケーション トランザクションのみを許可することで、悪意のあるコードがアプリケーション サーバにアクセスするのを防ぎ、アプリケーションのビジネス ロジックからセキュリティと入力検証の負担を取り除きます。
クロスサイト スクリプティングを防ぐF5製品:BIG-IP Application Security Manager
クロスサイト スクリプティングとは、Webアプリケーションの脆弱性を利用した攻撃手法の1つです。CSSまたはXSSと略記されますが、CSSは「Cascading Style Sheets」の略語として使用されることが多いため、XSSと表記されるのが一般的です。
XSSで利用されるのは、ユーザーからの入力を元に、動的にHTMLページを生成するタイプのWebアプリケーションです。入力された文字列にJavaScriptの記述が含まれていた場合、入力文字列をそのままの状態で組み込んでHTMLページを生成すると、Webブラウザ上でそのスクリプトが実行されることになります。このようなWebアプリケーションの脆弱性を利用し、攻撃を行います。
XSSを行う場合には、まず攻撃者が攻撃用のWebページを作成し、それを自分のサイトに掲載します。このページには、脆弱性を持つサイトにアクセスしてJavaScriptを実行させる、不正なスクリプトを仕組んでおきます。その上で、インターネット上のユーザーをこのページに誘導します。例えば利用対象となる脆弱サイトのふりをして、メールやSNSで誘導するといった手法が考えられます。ユーザーが攻撃者のページにアクセスすると、ユーザーは脆弱サイトへと飛ばされ、そこで攻撃者が仕組んだJavaScriptが実行されます。
この攻撃の要は「スクリプトからアクセスできる情報の範囲はそのスクリプトを含むページ内に限られる」という、Webブラウザの「クロスドメイン制限」を回避している点にあります。クロスドメイン制限は「悪意のあるスクリプトが他サイトの認証クッキー等を不正に取得する」ことを防止するためのセキュリティ上の制約ですが、脆弱性を持つサイトでスクリプトを実行できれば、この制約は意味がなくなります。これによって攻撃者は、脆弱サイトのクッキー情報等を不正に入手し、正規ユーザーのセッションを乗っ取れるようになります。
XSSは、入力文字列の適切なサニタイズ(攻撃に使用される文字列を無効化すること)で回避できますが、全てのWebページでこの対応を行うのは大変です。この問題の解決手段として有効なのが、アプリケーション ファイアウォールの活用です。アプリケーション ファイアウォールはアプリケーションレベルの通信を監視し、攻撃とみなされる通信を遮断することが可能です。この種の機能を提供する製品としては「F5 BIG-IP」が挙げられます。