PR

Webアプリケーション・セキュリティ

2010年11月15日(月)
斉藤 純平

WAFによる脆弱性対策

WAFとは、Webアプリケーションの脆弱性を悪用した攻撃などからWebアプリケーションを保護するネットワーク製品です。ソフトウエアとして提供されているものと、ハードウエア・アプライアンスとして提供されているものがあります。

セキュリティの検査機能でWAFを大別した場合、以下の2つがあります。

ホワイト・リスト型WAF
正しい通信をホワイト・リストとして定義し、合致しないときに通信を遮断
ブラック・リスト型WAF
既知の攻撃パターンをブラック・リスト(シグネチャなど)として定義し、合致した時に通信を遮断

以下では、ホワイト・リストとブラック・リストを併用する、米Imperva(インパーバ)製の「SecureSphere WAF」(セキュアスフィアWAF)を例に、Webサイトの脆弱性対策としてWAFがどのように有効なのかを説明します。

図3は、SecureSphere WAFでホワイト・リストを設定している画面です。URLごとに、それぞれ許可するHTTPメソッドを定義しているほか、パラメータごとに、それぞれ許可する文字タイプ/長さ/特殊文字を定義しています。現在の多くのWAFがそうであるように、SecureSphereもまた、ホワイト・リストを自動学習します。

図3: SecureSphere WAFにホワイト・リストを設定する(クリックで拡大)


ホワイト・リストを用いて前述のSQLインジェクションを防御するやり方は、パラメータの特殊文字として「=」や「>」や「'」を許可しなければよいのです。しかし、ホワイト・リストだけでセキュリティを保つためには、前提としてホワイト・リストの記述内容が適切であることが必要です。適切でない場合は、正常な通信も含めて遮断(誤検知)してしまうからです。

ホワイト・リストの自動学習は完全ではありません。どのベンダーのWAFも、100%正しいホワイト・リストを生成できるわけではありません。このため、ホワイト・リストの運用は、手動による確認と調整が必要になり、多大な作業が生じてしまいます。

このような背景から、多くのWAFは、ブラック・リスト(シグネチャ)を使うことがトレンドとなっています。しかし、前述したように、ブラック・リストの場合、シグネチャの回避手法が数多くあり、十分なセキュリティを保つことができません。

SecureSphere WAFの場合、相関攻撃検証と呼ぶ独自技術により、ブラック・リストを使いつつも、セキュリティを犠牲にしていません。相関攻撃検証とは、複数のイベントの相関関係を分析し、高い精度で攻撃を検知する技術です。例えば、「防御対象外のSQLインジェクションのシグネチャ違反と、ホワイト・リストの違反が、同一のHTTPリクエスト内で発生した場合、防御する」などの相関ルールを持っています。

まとめ

ここまで、Webサイトの脆弱性対策にWAFが有効であることを説明してきましたが、WAFでは防御できない脆弱性もあります。例えば、容易に推測可能なセッションIDの付与などが相当します。また、WAFは決して安価な製品でないため、導入の際は、十分に検討することが肝要です。

WAFの導入を検討する際には、以下の資料が参考になります。

WAFを自社で運用したくないという場合でも、WAFを導入できる体制が整ってきています。具体的には、WAFの運用アウト・ソーシングを請け負うサービス(MSS: Managed Security Service)が、WAFの普及によって各社から提供されるようになってきています。

株式会社アークン

2002年 アークン入社
2004年 JNSA Webセキュリティ調査・検証WG初代リーダ
2004年よりSecureSphere WAFおよびDAM(DB監査システム)のマーケおよび営業に従事

連載バックナンバー

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

他にもこの記事が読まれています