Webサイトから個人情報が盗まれたり,Webページを改竄(かいざん)される事件が後を絶たない。2008年には,サウンドハウスやナチュラムなどのECサイトから個人情報が漏れたり,ゴルフダイジェスト・オンラインのWebサイトが改竄されたりした。いずれもWebアプリケーションの脆弱(ぜいじゃく)性を突く「SQLインジェクション」という攻撃が使われた。

 これだけ事件が続くのは,Webアプリケーションの脆弱性を根絶することが極めて困難だからだ。常に機能を拡張したり,改良したりしているWebサイトでは,どうしても対応漏れが発生しやすい。そうしたWebアプリケーションの脆弱性を外側からふさいでくれるのが,WAF(Web Application Firewall)である。

 今回,そのWAFが実際のSQLインジェクションの攻撃をどれだけ防げるのか,主要な5製品を使って徹底検証した。WAFが防いでくれる脆弱性には,悪意のあるスクリプトを実行させる「クロスサイト・スクリプティング」など多様なものがあるが,今回は,実際の被害が相次いでいるSQLインジェクションに焦点を当てた。

検知漏れ,過剰検知が判明

 それぞれの製品について「検知漏れの有無(検証1)」「過剰検知の有無(検証2)」「攻撃ツールの防御(検証3)」の大きく三つの検証を実施した(図1)。

図1●WAFの検証環境と検証結果<br>脆弱性を持つWebアプリケーションを検証用に作成し,SQLインジェクションによる不正アクセスをWAF経由で実行して,ブラックリストで攻撃が防げるかどうかを確かめた。5種類のSQLインジェクションを試すと,設定変更なしにすべて防御する製品もあれば,一部の攻撃を遮断しない製品もあった
図1●WAFの検証環境と検証結果
脆弱性を持つWebアプリケーションを検証用に作成し,SQLインジェクションによる不正アクセスをWAF経由で実行して,ブラックリストで攻撃が防げるかどうかを確かめた。5種類のSQLインジェクションを試すと,設定変更なしにすべて防御する製品もあれば,一部の攻撃を遮断しない製品もあった
[画像のクリックで拡大表示]

 検知漏れの検証では,文字列型や数値型などさまざまな攻撃パターンを試し,WAFが遮断できるかを確かめた。過剰検知の検証では,攻撃なのかどうか紛らわしい文字列を入力し,WAFが誤って遮断しないかをチェックした。

 三つ目は,実際の攻撃で用いられている中国製などのツールを使った検証である。Webサイトからクレジットカード情報を盗むような犯罪者は,ほとんどが攻撃ツールを使っていると見られている。検索サイトを利用して脆弱性がありそうなWebサイトを自動的に見つけ出し,無差別に攻撃する。そうした攻撃ツールの実物を入手し,WAFが防いでくれるかを調べた。