Webアプリケーションの利用拡大に伴い、SQLインジェクションやクロスサイトスクリプティング(XSS)などアプリケーション層への攻撃が増加しています。WAF(Web Application Firewall)があれば、HTTP通信を解析して不正なリクエストを遮断することが可能です。
本記事では WAF の定義や検知の仕組み、IDS・IPS といったそのほかのツールとの違い、主な種類などを解説します。
WAF(Web Application Firewall)とは、Web サイトや API などの Web アプリケーションに向かう HTTP・HTTPS 通信を監視し、ルールにもとづいてフィルタリングするセキュリティツールです。
Web アプリケーションの脆弱性を狙った攻撃をブロックできるため、脆弱性が発見された際に、修正パッチが提供されるまでの盾として機能します。WAF は、オンラインビジネスにおいて機密データや認証情報を守るために重要な防衛手段となっています。
WAF が保護する対象は、Web アプリケーション、REST API、モバイルアプリのバックエンド API などです。ファイアウォールが IP アドレスなどの情報を扱うネットワーク層(L3)や、ポート番号などの情報を扱うトランスポート層(L4)を守るのに対し、WAF は HTTP リクエストの内容などの情報を扱うアプリケーション層(L7)に特化した防御を担います。
WAF は、アプリケーションの設計・実装の脆弱性を完全に解消できないことを前提として、外部からアプリケーションへの不審なトラフィックを入口で遮断して、安全性を補完しています。
WAF は、クライアントからの HTTP リクエストがあった際に、ヘッダー・クエリ文字列・ボディなどをルールと照合することで、脅威を検知しています。ブロックの条件や攻撃パターンなどに該当した通信があった場合は、ブロックやログの記録などが行われ、さらにセキュリティチームへアラートを送ることも可能です。
ルールとの照合方法には、許可する通信を定義してそれ以外の通信を遮断するホワイトリスト型と、遮断する通信を定義するブラックリスト型がありますが、ホワイトリスト型では運用負荷が大きくなる傾向があります。
また、脅威の判定には、一般的には下記のようにシグネチャ型、スコアリング型、AI(機械学習)型の 3 種類の手法が用いられ、製品や運用方針に応じて組み合わせて利用されています。
■ WAF の主な検知手法
シグネチャ型とは、既知の攻撃パターン(シグネチャ)をルール化し、HTTP リクエストの内容と照合して一致した通信を検知・遮断する手法です。SQL インジェクションや XSS といった典型的な攻撃に対して高い精度での防御が可能になり、クラウドサービスのベンダーによって管理されているセキュリティ設定(マネージドルール)でも提供されることが多い方法です。
一方で、新種の攻撃や巧妙に難読化された通信に対しては、シグネチャが登録されていないため検知・ブロックができない可能性もあります。
スコアリング型は、複数の条件ごとにスコア(点数)を付与し、合計が閾値を超えたリクエストを攻撃と判定して遮断する手法です。誤検知を抑えつつ、複数の疑わしい要素が重なった通信を柔軟に検知できます。
ただし、閾値やルールの重み付けの調整が運用の要となるため、自社の環境の特性に合わせたチューニングが求められます。
AI(機械学習)型は、正常なアクセスパターンや行動・トラフィックの異常を学習して、未知の攻撃、ボットの挙動を検知する手法です。シグネチャに登録されていない攻撃や、変化の速い脅威への対応力を補完できるという特徴があります。
ただし、学習するデータやモデルの精度、誤検知時の運用負荷など、導入・運用時の検証が欠かせません。
WAF が防御する主な攻撃は以下のとおりです。
<WAFが防げる主な攻撃>
・OS コマンドインジェクション(Web アプリ経由で OS コマンドが実行される攻撃)
・SQL インジェクション(意図しない SQL 文を注入することでデータベースを不正に操作する攻撃)
・LDAP インジェクション(LDAP クエリを改ざんして認証や検索を不正に操作する攻撃)
・クロスサイトスクリプティング(XSS)(検索バーなどの入力欄から不正なスクリプトを埋め込む攻撃)
・クロスサイトリクエストフォージェリ(CSRF)(攻撃用 Web ページを準備してユーザに意図しない操作を実行させる攻撃)
・ブルートフォース攻撃(総当たり認証情報の入力を試行する攻撃)
・DoS/DDoS 攻撃(大量の通信を発生させることで正常なサービス提供を妨げる攻撃)
・ディレクトリトラバーサル(意図しないファイル・ディレクトリにアクセスする攻撃)
そのほかにも、Web アプリケーションの脆弱性を悪用する攻撃に対して WAF は効果を発揮します。
WAF とファイアウォールや IDS・IPS は、同じように不正な通信を防ぐためのセキュリティツールですが、それぞれのあいだには、下記のように主に防御範囲に違いがあります。WAF は単体ではすべての脅威を防げないため、ファイアウォールや IDS・IPS と併用し、多層防御を構成することが推奨されます。
■ファイアウォール、IDS・IPS、WAF の防御範囲のイメージ
ファイアウォールは、IDS・IPS と同様に主に L3・L4 のネットワーク層の通信を制御する点で、主に L7 のアプリケーション層の通信を対象とする WAF と異なります。
ファイアウォールは、主に社外ネットワークと社内ネットワークの境界に設置され、IP アドレスやポート単位で通信を許可・拒否します。一方で、WAF が行うのは L7 の HTTP・HTTPS 通信のリクエスト内容を解析して、Web アプリケーションに向けた攻撃を遮断することです。
境界での通信制御とアプリ層での攻撃防御は役割が異なるため、併用が推奨されます。
参考:
・ファイアウォールとは?
IDS・IPS は、いずれも主に L3・L4 のネットワーク層の通信を防御対象とし、WAF とは異なり HTTP リクエスト単位の検査に特化したツールではありません。
なお、IDS(侵入検知システム)はネットワーク上の不審な通信を検知して通知しますが基本的に自動遮断は行わず、IPS(侵入防止システム)は検知に加え、セッション切断や通信のブロックなど能動的な防御を行います。IDS・IPS の主な役割は、ファイアウォールの内側に設置して社内ネットワーク全体の通信を監視したり、特定のサーバの前に設置して個別的に保護したりすることなどです。
これらに対し、WAF は HTTP リクエストの内容を解析し、SQL インジェクションや XSS など Web アプリ固有の攻撃パターンをブロックするセキュリティツールです。IDS・IPS はネットワーク侵入の試みを傍受するための防衛線として位置づけられ、WAF と併用することでネットワーク層からアプリ層までをカバーするセキュリティ体制が構築できます。
参考:
・IDSとは?仕組みやIPSとの違いを解説
・IPSとは?
WAF は導入タイプによって、3つの種類に分かれます。
■ WAF の主な種類
ゲートウェイ(ハードウェア)型とは、オンプレミスの専用機器を Web サーバの前段に導入することで、Web サーバへ向かうすべてのトラフィックを検査して、不正な通信を検知・ブロックするタイプです。
ゲートウェイ型は専用アプライアンスが高額である点と、ハードウェア自体の管理や運用を自組織で行う必要がある点から、一般的には先行投資・維持費用ともに高額になる傾向があります。一方でカスタマイズ可能な点とパフォーマンスを重視する組織には向いているといえるでしょう。
ホスト(ソフトウェア)型とは、WAF の機能を搭載したソフトウェアを Web サーバにインストールすることで、同一サーバ上で Web サービスにリクエストが到達する前にトラフィックを検査し、不正な通信をブロックするタイプです。
ホスト型は専用アプライアンスが不要であることから、少数の Web サーバを保護する場合には、初期投資がゲートウェイ型に比べて低額になります。一方で、多数の Web サーバを保護したい場合には、台数分の導入が必要になるため、コストを考慮した設計が求められます。
また、Web サーバに WAF をインストールすることから、システムリソースとパフォーマンスを考慮した導入が重要です。
クラウド(サービス)型とは、サービス事業者が提供するクラウド上に実装された WAF を経由することで、不正なトラフィックの検査・ブロックを実現するタイプです。
ゲートウェイ型やホスト型に比べて、専用アプライアンスやソフトウェアの導入の必要がないため、一般的には初期費用が抑えられます。また、IT インフラの保守・運用の委託を請け負うマネージドサービスを利用することで、セキュリティに関する知見が不安な組織においても、高レベルのセキュリティを実現できます。
WAFはセキュリティレベルの向上に有用なツールですが、導入時には注意しなければならない点もあります。下記2点を念頭に置きながら、導入を検討しましょう。
WAF は Web アプリケーション層の攻撃には有効ですが、OS やミドルウェアの脆弱性を突く攻撃、エンドポイントへのマルウェア感染には別途対策が必要です。アプリケーションの安全な設計や、脆弱性が発見された場合の迅速な修正パッチの適用、強固な認証の導入、EDR の導入といった対策と併用することで効果を高められます。
また、認証済みユーザによる不正操作などの内部不正は、WAF 単体では防ぎきれない点にも注意が必要です。
WAF を導入する際には、誤検知への対応方法も検討しておく必要があります。厳格にルールを設定すると正当な通信までブロックするリスクがあるため、ルールのチューニングには専門知識が求められます。加えて、誤検知発生時の手順や報告体制も事前に整備しておく必要があるでしょう。
運用リソースが不足する場合は、マネージドサービスの利用を検討するのもひとつの方法です。
WAF は L7 の HTTP・HTTPS 通信を解析し、シグネチャ・スコアリング・AI(機械学習) といった手法で脅威を検知・遮断する専用の防御層です。SQL インジェクションや XSS など Web アプリケーションへの攻撃に有効ですが、IDS・IPS・ファイアウォールとは守る層が異なるため、複数の防御手段を併用することが推奨されます。ゲートウェイ型・ホスト型・クラウド型から自社のインフラと運用体制に合った導入形態を選び、誤検知への対応も念頭に置きながら導入すれば、業務の効率性を損なうことなくセキュリティを高められるでしょう。
なお、WAF 単体では OS 層やエンドポイントの脅威には対応できないため、IPS や EDR、サーバセキュリティなどで補完する必要があります。多層防御の設計や見直しでは、トレンドマイクロが提供する法人向けプラットフォーム「TrendAI Vision One™」 の活用も視野に入れるのがおすすめです。組織のデジタル資産を包括的に把握し、AI を駆使した総合的な保護で組織全体のセキュリティを高められます。Web アプリの保護と併せて、組織全体のセキュリティリスクへの対処法を検討する場合は、ぜひ TrendAI Vision One™ の導入をご検討ください。
WAF は HTTP リクエストの内容を精査し、L7 での Web アプリケーション向けの攻撃を遮断しますが、IDS・IPS は主に L3・L4 のネットワーク層を対象としています。IDS は不審な通信を検知して通知しますが、遮断までは行わない運用が一般的です。IPS は検知に加えセッション切断や IP ブロックなど能動的な防御を行います。WAF と IDS・IPS は、併用して役割分担するのが望ましいといえます。
WAF は L7 での Web アプリケーション向けの攻撃に対処する一方で、ファイアウォールは主に社外ネットワークと社内ネットワークの境界に設置されて L3・L4 のネットワーク層の通信を制御します。ファイアウォールは、IP アドレスやポート単位で通信の許可、拒否を行います。
境界での通信制御とアプリケーション層での防御は役割が異なるため、WAF とファイアウォールは併用するのがおすすめです。
WAF は外部からの Web アプリケーションへの攻撃には有効ですが、OS やミドルウェアの脆弱性を悪用した攻撃やエンドポイント端末のマルウェア感染には対応できません。また、認証情報が漏洩して不正アクセスを招くようなケースや、内部不正にも別途対策が必要です。
WAF に加え、IDS・IPS やファイアウォール、EDR といった多層的な防御を構築することが望ましいでしょう。