検証1の検知漏れのテストでは,攻撃パターンを13個用意した。筆者はこれまで脆弱性の検査や,WAF導入の支援などを手掛けており,そこで知り得た攻撃の手口などを参考にして,検証内容を考えた。

 検知漏れの検証結果は表2の通り。13個の攻撃パターンを大きく5種類に分けて,それぞれの結果を示した。ベンダーに施してもらった設定のままですべて遮断できたのは,BIG-IPとSiteGuardの2製品だった。各攻撃について,順に見ていこう。

表2●5種類の攻撃方法で検知漏れを検証した結果
[画像のクリックで拡大表示]
表2●5種類の攻撃方法で検知漏れを検証した結果

 SQLインジェクションで最も一般的なのは,文字列を入れる入力フォームに,SQL文の一部分を挿入するケースである。DBの情報を盗む攻撃(図3(1))と,DBの情報を改竄する攻撃(図3(2))の2種類がある。

図3●検証した文字列型のSQLインジェクション<br>それぞれ情報を盗むパターンと改竄するパターンがある
図3●検証した文字列型のSQLインジェクション
それぞれ情報を盗むパターンと改竄するパターンがある
[画像のクリックで拡大表示]

 文字列で情報を盗む攻撃(1)は4パターン試し,どのWAFもすべて遮断できた。情報を改竄する攻撃(2)を3パターン試すと,SecureSphereだけがどれも遮断しなかった。これをImperva Japanに確認すると,SecureSphereの設定が甘くなっていたことが分かった。

 SecureSphereはホワイトリストを重視する製品だが,ブラックリストについても二つの機能を備えている。一つはシグネチャによる遮断で,出荷時の初期設定で機能する。これで情報を盗む攻撃(1)を遮断したと見られる。もう一つは,判断しにくい攻撃を複数の条件で診断する「相関ルール」という機能で,初期設定ではオフになっている。Imperva Japanによれば,ホワイトリストの作成時などのために相関ルールはオフの状態でユーザーに提供するが,実環境ではオンにするのが通常だという。実際にオンに切り替えたら攻撃を遮断できた。SecureSphereでは,ほかにも2種類の攻撃が通過したが,どれも設定を変えれば遮断できた。