連載
» 2006年03月02日 00時00分 公開

Webアプリケーションファイアウォールの必要性(3):WAFはどのように脆弱性を防御するのか (2/3)

[草薙伸, 伴崇博,F5ネットワークスジャパン株式会社]

セキュリティレベルの選択

 WAFの多くは、運用要件やセキュリティ要件に合わせていくつかの段階の中からセキュリティレベルを選択できる。ASMの場合は、3段階のセキュリティレベルがあり以下のようなチェックを行う。

1a.Standardモード

  • プロトコル準拠(HTTPの正確さ)
  • オブジェクトタイプのチェック(HTML、JSP、GIFなど)
  • ディレクトリのチェック(例えば「GIFは/imagesディレクトリにあること」など)
  • 長さのチェック(URL、cookie、クエリストリングなど)
  • キャラクタのチェック(「テキストエリアには[a-zA-Z0-9.,-] のみ許可」など)
  • cookieのチェック(クライアントによって変更されてはならないcookieの設定)
  • シグネチャ(「はブロックする」など)

1b.Enhanced Standardモード
(Standardモードより厳しくAPC Phase 1より柔軟)

  • 指定したオブジェクトに対してのみAPC Phase 1相当のチェックを行う

2.APC Phase 1

  • Standardモードのチェックすべて
  • オブジェクトのチェック(すべてのオブジェクトの登録が必要)
  • パラメータのチェック(「"acct_num"パラメータは数字8文字でなくてはならない」など)

3.APC Phase 2

  • APC Phase 1のチェックすべて
  • 画面遷移のチェック

 セキュリティレベルを高くすると、設定(初期設定やメンテナンスなど)にかかる工数も増加する。ASMの場合であれば、オブジェクトタイプ単位での設定だけを行えばよいStandard モードの設定が約1日で完了するのに対し、APC Phase 1では、サイトに存在するすべてのオブジェクトと、それに入力する全パラメータを登録する必要があるため約1週間を要する(オブジェクト数やパラメータ数などサイトの規模に大きく依存するが)。

 さらにセキュリティレベルの高いAPC Phase 2を設定するには、すべての画面遷移をポリシーとして設定するため、もっと多くの期間を要する。なお、APCで運用している場合はサイトの構成変更によって生じたオブジェクトの増減に応じたメンテナンスを行わなくてはならない。

 導入期間が最短のStandardモードでも以下の攻撃を防ぐことができる。これらをASMがどのように防御するのかを見ていくことにする。

  • SQLインジェクション
  • クロスサイトスクリプティング
  • cookieポイズニング
  • バッファオーバーフロー
  • 強制ブラウジング

SQLインジェクションとクロスサイトスクリプティング対策

 SQLインジェクションとクロスサイトスクリプティングを防ぐために、Webアプリケーション一意のメタキャラクタチェックを行う。

クロスサイトスクリプティングの防御例 クロスサイトスクリプティングの防御例
SQLインジェクションの防御例 SQLインジェクションの防御例

 また、ASMの場合は部分的にネガティブセキュリティモデルを用いており、これによってSQLインジェクションならびにクロスサイトスクリプティングを防ぐことができる。WAFにはあらかじめこれらの攻撃のパターンが登録されており、ヘッダ全体、クエリストリング、POSTデータに対してパターンマッチを行うことによって攻撃から防御する。

cookieポイズニング対策

 ASMの場合、Webサーバからのレスポンスに含まれるcookie(オリジナルcookie)のフィンガープリントを取得し、オリジナルcookieとともにクライアントへ送信する。次に、そのクライアントから送られてくるリクエストには、オリジナルcookieとASM cookieが含まれているので、同一のアルゴリズムでオリジナルcookieのフィンガープリントを取得し、オリジナルcookieが改ざんされていないかどうかを検証する。これによってcookieの不正変更からWebアプリケーションを防御する。

図2 オリジナルcookieとASM cookieの照合 図2 オリジナルcookieとASM cookieの照合

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。