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 Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

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