Web Security

Web Application Firewall

WAF(Webアプリケーションファイアウォール)

Category: Web Security / Updated: 2026-05-26

📖

Overview

WAF(Web Application Firewall)とは、Webアプリケーションに対する攻撃を検知・遮断するために特化したファイアウォールです。従来のネットワークファイアウォールがL3/L4(IPアドレスやポート番号)で通信を制御するのに対し、WAFはL7(アプリケーション層)でHTTP/HTTPSトラフィックの内容を検査し、SQLインジェクションやクロスサイトスクリプティング(XSS)などの攻撃を防御します。

WAFの検知方式は大きくシグネチャベース振る舞いベースに分けられます。シグネチャベースは既知の攻撃パターンとのマッチングで検知し、振る舞いベースは通常のトラフィックパターンからの逸脱を検知します。近年では機械学習を活用した高度な検知エンジンも登場しています。

Webアプリケーションのセキュリティ対策において、WAFは多層防御(Defense in Depth)の重要な一層です。ただし、WAFは根本的な脆弱性の修正に代わるものではなく、脆弱性修正パッチの適用までの暫定対策(仮想パッチ)や、ゼロデイ攻撃に対する防御層として活用されます。

🔬

Details

WAFの種類

  • ネットワーク型WAF(アプライアンス型):専用ハードウェアとしてネットワーク上に設置。高いパフォーマンスと低レイテンシが特徴だが、導入・運用コストが高い。大規模エンタープライズ向け
  • ホスト型WAF(ソフトウェア型):Webサーバー上にソフトウェアとしてインストール。ModSecurity(Apache/Nginx用)が代表例。カスタマイズ性が高いが、サーバーリソースを消費する
  • クラウド型WAF(SaaS型):CDNと統合されたクラウドサービスとして提供。DNS設定の変更だけで導入可能で、運用負荷が低い。AWS WAF、Cloudflare WAF、Akamai Kona Site Defenderなどが代表的

検知方式

  • シグネチャベース検知:既知の攻撃パターン(正規表現ルール)とHTTPリクエスト/レスポンスをマッチング。OWASP Core Rule Set(CRS)が標準的なルールセット。誤検知(False Positive)の調整が運用上の課題
  • スコアリングベース検知:個々のルールにスコアを割り当て、合計スコアが閾値を超えた場合にブロック。Anomaly Scoringとも呼ばれ、単一ルールでの誤検知を低減できる
  • 機械学習ベース検知:正常なトラフィックを学習し、異常なパターンを自動検知。未知の攻撃やゼロデイ攻撃への対応力が高いが、学習期間が必要で、モデルの精度維持に運用コストがかかる

主要なWAF製品・サービス

  • AWS WAF:AWSのマネージドWAFサービス。CloudFront、ALB、API Gatewayと統合。マネージドルールグループやBot Controlも提供
  • Cloudflare WAF:グローバルCDNと統合されたクラウドWAF。DDoS防御、Bot管理、API保護を一体提供。OWASP CRSベースのルールに加え独自のManaged Rulesを提供
  • Imperva WAF:エンタープライズ向けWAFの老舗。クラウド型とオンプレミス型の両方を提供。高度なBot対策とAPI保護が特徴
  • F5 BIG-IP ASM / NGINX App Protect:高性能なハードウェア/ソフトウェアWAF。L7の詳細な制御が可能で、大規模環境での実績が豊富

WAF回避手法

攻撃者はWAFの検知を回避するためにさまざまなテクニックを使用します。エンコーディング回避(URLエンコード、HTMLエンティティ、Unicode正規化の悪用)、大文字小文字の混合(SeLeCt等)、コメント挿入(SEL/**/ECT等)、HTTPパラメータ汚染(HPP)などが知られています。WAFの運用では、これらの回避手法に対応したルールの更新と定期的なテストが重要です。

RASP(Runtime Application Self-Protection)

RASPはアプリケーションのランタイム内に組み込まれるセキュリティ技術で、WAFの補完的な防御層として注目されています。WAFがネットワーク上で外部から防御するのに対し、RASPはアプリケーション内部から攻撃を検知・ブロックします。アプリケーションの実行コンテキストを理解するため、誤検知が少なく、WAFをバイパスする攻撃にも対応できます。

🛡️

Security Measures

  • 01
    WAFルールの段階的導入とチューニング:WAFを導入する際は、まず検知モード(Detection Mode)で運用し、誤検知(False Positive)の傾向を把握してから遮断モード(Prevention Mode)に移行してください。ビジネスロジックに応じたカスタムルールの追加と定期的なチューニングが重要です。
  • 02
    仮想パッチの迅速な適用:アプリケーションの脆弱性が発見された場合、コード修正までの暫定対策としてWAFの仮想パッチ(Virtual Patching)を活用してください。脆弱性情報を監視し、CVE公開後速やかにWAFルールを追加しましょう。
  • 03
    WAFログの監視とインシデント対応:WAFのブロックログ・検知ログを SIEM に集約し、リアルタイムで監視してください。攻撃パターンの傾向分析を定期的に実施し、新たな攻撃手法への対応を迅速に行いましょう。
  • 04
    WAFと他のセキュリティ対策の連携:WAFだけに依存せず、入力バリデーション、出力エンコーディング、CSPヘッダー、レート制限など、多層防御の一部としてWAFを位置づけてください。WAFはあくまで防御層の一つであり、根本的な脆弱性修正が最優先です。
  • 05
    定期的なWAFバイパステスト:ペネトレーションテストやバグバウンティプログラムを通じて、WAFの回避可能性を定期的に評価してください。新しいバイパス手法が継続的に発見されているため、WAFルールの更新だけでなく、WAF自体の有効性検証が必要です。
  • 06
    Bot管理機能の活用:現代のWAFはBot管理機能を備えています。CAPTCHAチャレンジ、JavaScriptチャレンジ、レピュテーションベースのBot検出を組み合わせ、クレデンシャルスタッフィングやスクレイピングなどのBot攻撃に対処してください。
⚠️

Incidents

📋 ModSecurity CRS によるゼロデイ攻撃の早期検知事例

オープンソースWAFエンジン「ModSecurity」とOWASP Core Rule Set(CRS)は、多くの組織でWebアプリケーション防御の基盤として活用されています。CRSのAnomaly Scoring方式は、個々の攻撃シグネチャでは検知できない複合的な攻撃パターンを検出する能力を持ちます。

特にLog4Shell脆弱性(CVE-2021-44228)の発見時には、CRSの既存ルールが攻撃ペイロードの一部を検知できたことが報告されており、ゼロデイ攻撃に対する多層防御の有効性が実証されました。CRSコミュニティは脆弱性公開後24時間以内に専用ルールをリリースし、迅速な対応が評価されました。

📋 Cloudflare WAF によるゼロデイ脆弱性対応

Cloudflareは、グローバルCDNネットワークを通じて大量のWebトラフィックを処理しており、新たな攻撃パターンをいち早く検知できる立場にあります。ゼロデイ脆弱性が公開された際、Cloudflareは数時間以内にWAFルールを全顧客に自動展開する体制を構築しています。

例えば、Atlassian Confluenceの脆弱性(CVE-2022-26134)が公開された際、Cloudflareは脆弱性情報の入手後すぐにWAFルールを展開し、パッチ未適用の顧客を攻撃から防御しました。クラウドWAFの利点である「一括展開」の速度が、ゼロデイ攻撃への対応力として高く評価されています。

📋 WAFバイパス手法の進化と対策

セキュリティ研究者やバグバウンティハンターによって、WAFバイパス手法は継続的に発見・公開されています。2022年にはTeam82の研究者がJSON構文を悪用した主要WAF製品のバイパス手法を発見し、AWS WAF、Cloudflare、Imperva、F5、Palo Alto Networksなど複数のWAF製品に影響がありました。

この手法は、WAFのSQLパーサーがJSON構文をサポートしていない一方で、データベースエンジン(PostgreSQL、MySQL等)がJSON構文をサポートしているという差異を悪用するものでした。各ベンダーは報告を受けて速やかにルールを更新しましたが、この事例はWAFだけに依存したセキュリティ対策の限界を示すものとして、多層防御の重要性を再認識させました。

🔗

Related Terms