株式会社ジオデータ開発 ロゴ
株式会社ジオデータ開発GEO DATA DEVELOPMENT Inc.
WAFFalse PositiveFalse Negative誤検知SQLインジェクションXSS

WEB APPLICATION SECURITY

WAFの誤検知とは?
フォールスポジティブ・検知漏れを体系的に理解する

公開日:2026-10-10

ある学習サービスの数式フォームに「2 < 5」と入力すると、なぜか「アクセスがブロックされました」と表示された。実は、攻撃ではない入力に含まれた「<」という文字をWAFが危険と判断したのかもしれません。正常な操作を攻撃と誤判定する「フォールスポジティブ」を、WAFとWebアプリの仕組みから理解しましょう。

この記事で学べること

HTTPとWAFの位置関係 → SQLインジェクション・XSS → TP/FP/FN/TN → 検知率・適合率 → ルール運用と誤検知調査 → 体験ラボ。応用情報技術者試験で必要な基礎用語も整理します。

1. まずWAFとは? Webアプリの前でHTTP通信を検査する

WAF = Web Application Firewall。「Web Application」はWebアプリケーション、「Firewall」は通信を検査・制御する防御の仕組みです。一般的なネットワークFWが主にIPアドレス・ポートなどを扱うのに対し、WAFはURL・パラメータ・ヘッダーなどのHTTPリクエストの中身に注目します。

WAFを設置したWebサービスの処理の流れ
利用者のブラウザ数式や検索語を送信
WAFHTTP内容を検査
Webアプリ正常な入力を処理
  1. ブラウザが入力したフォームのデータをHTTPリクエストとして送る。
  2. WAFが設定ルールや検知スコアにより評価する。
  3. 許可されればアプリに転送される。遮断時は通常アプリまで届かない。
用語意味・役割身近な例
ネットワークFW通信先IP・ポート等のルールによる制御社内ネットワークからの不要な接続を制限
WAFHTTP(S)の要求を検査しWebアプリへの攻撃を減らす数式フォームやECサイトのログイン・検索を保護
IDS不審な通信や挙動を検知し通知ネットワークで攻撃兆候を発見
IPS検知した不審通信を遮断する侵入パターンを検出して通信を止める
CDN静的配信やキャッシュなどで配信を支援画像やページを近くの拠点から配信

現実にはCDNやリバースプロキシとWAFが同じサービス内で提供されることもあります。たとえば Cloudflare WAF やAWS WAFはWebサイトの前段で通信を評価する製品例です。設置形態は提供事業者・構成により異なります。

2. 「陽性」は検査が攻撃と判断したこと

英語の Positive はここでは「検査で攻撃ありと判定」、Negative は「攻撃なしと判定」です。「実際に攻撃かどうか」と「検査がどう判定したか」は別の軸です。

実態 \ WAFの判定攻撃と判定(陽性・遮断)正常と判定(陰性・許可)
実際に攻撃TP / True Positive
攻撃を正しく検知
FN / False Negative
攻撃を見逃す
実際は正常FP / False Positive
正常なのに誤遮断
TN / True Negative
正常通信を正しく許可
用語意味・役割身近な例
TP(真陽性)攻撃を攻撃と判定不正な入力を検知し遮断
FP(偽陽性)正常なのに攻撃と判定数式の「&lt;」で正常な投稿が遮断
FN(偽陰性)攻撃なのに正常と判定検査対象外のフィールドの攻撃を見逃す
TN(真陰性)正常なものを正常と判定通常の検索やログインが成功

3. なぜ「<」1文字で正常な操作がブロックされる?

「<」はHTMLタグにも使われますが、算数の「小なり」記号でもあります。単純に文字の有無だけで判断すると、入力の意味を無視してしまいます。

# HTTPリクエストの説明用イメージ
POST /math/check HTTP/1.1
Host: learning.example
Content-Type: application/x-www-form-urlencoded

expression=2%20%3C%205

# URLエンコード後の「%3C」は「<」を表す
正常な数式入力が誤検知される流れ
数式フォーム2 < 5 を送信
WAFの単純ルール「<」を攻撃として検知
数式サービス入力が届かない
  1. 利用者は正当な数式を入力する。
  2. 単純な文字列ルールが「<」を危険と判断して遮断する。
  3. 実態は正常・判定は攻撃なので、False Positive(FP)になる。

これに対し、実際のXSS(クロスサイトスクリプティング)では、Webアプリの出力方法の不備などを利用して、意図しないスクリプト実行を引き起こそうとします。タグらしい文字があることと、実際にXSSが成立することは同じではありません。

4. 見逃し(FN)はどう発生する?

攻撃がWAFに届いても、対象のフィールドを検査していない・ルールにない・HTTPの解釈が後段のWebアプリと異なるなどの理由で検知できないことがあります。

攻撃が検査をすり抜ける模式例
攻撃を含む通信想定外のフィールドへ入力
WAF検査対象に含まれず許可
Webアプリ不正入力が届く
  1. 攻撃者がアプリ固有の入力フィールドを悪用する。
  2. WAFの検査対象や解釈が不足しており通過させる。
  3. 実態は攻撃・判定は正常なのでFalse Negative(FN)になる。

分割されたリクエストなどを、WAFとバックエンドが異なる規則で解釈する場合も危険です。HTTPリクエストスマグリングなどの問題では、フロントエンドとバックエンドの解釈差が攻撃につながることがあります。ただし、すべての分割通信が即座に同じ脆弱性を意味するわけではありません。

5. 身近な場面から4分類を覚える

用語意味・役割身近な例
正常なブログ投稿がHTMLの例示で遮断FP:正常 → 遮断技術ブログでコード例を書けない
危険な入力をWAFが検出し遮断TP:攻撃 → 遮断想定した防御が機能
危険な通信をWAFが見逃して通過FN:攻撃 → 許可本来止めたい通信が到達
普通の買い物操作が問題なく通過TN:正常 → 許可ECサイトの決済前フォームを利用できる
アンチウイルスが安全なツールを隔離FPの別分野の例セキュリティソフトの過剰検知
迷惑メールが受信トレイに入るFNの別分野の例迷惑メール判定の検知漏れ

FPとFNはWAF限定の用語ではありません。迷惑メール、マルウェア対策、IDS/IPS、AIによる不正検知などでも同じ4分類を使います。

6. 数字でも理解する:適合率・再現率・偽陽性率

応用情報などで判定結果を定量的に評価するときは、混同行列から指標を計算します。単に「検知率が高い」といっても、正常なリクエストを大量に誤遮断している可能性があります。

用語意味・役割身近な例
適合率 PrecisionTP / (TP + FP)遮断したものの何割が本当の攻撃か
再現率 Recall / TPRTP / (TP + FN)実際の攻撃を何割見つけたか
偽陽性率 FPRFP / (FP + TN)正常な入力の何割を誤遮断したか
正解率 Accuracy(TP + TN) / 全件全体の判定が正しかった割合
F1スコア2 × Precision × Recall / (Precision + Recall)適合率と再現率を調和平均で見る

7. 操作ラボ:ルールを変えるとFPとFNはどうなる?

「数式」「HTML教材」「商品検索」「攻撃を想定した入力」を選び、単純な文字列検知と文脈を考慮した模式的な検知を切り替えます。下部では架空の混同行列の数値も調整できます。

INTERACTIVE LAB

WAF判定・誤検知シミュレーター

外部通信なし

入力の実態(正常/攻撃)とWAFの判定(許可/遮断)を分けて考えます。すべて画面内で完結する模式的な判定で、実WAFの再現ではありません。

検査対象の入力例(文字列表示のみ)

2 < 5

実態

正常

WAFの判定

遮断

4分類

FP:誤検知

数式で「小なり」を表しているだけの正常な入力

仮想の検知しきい値と混同行列

正常950件・攻撃50件を想定した説明専用の架空データです。厳しい設定ほど攻撃を拾いやすい一方、正常リクエストも誤って遮断しやすい例を示します。

実態 \ 判定遮断(陽性)許可(陰性)
攻撃TP 35正しい検知FN 15見逃し
正常FP 57誤検知TN 893正しい許可

適合率 Precision = TP / (TP + FP)

38.0%

遮断したもののうち、本当の攻撃の割合

再現率 Recall = TP / (TP + FN)

70.0%

本当の攻撃のうち、検知できた割合

注意:検知を強めると必ず同じ比率でFP・TPが増えるとは限りません。実際の検出性能はルール、通信内容、アプリ仕様、攻撃の種類に依存します。

8. 実務ではどう直す? Cloudflare WAFを例に

Cloudflareの公式ドキュメントでは、正常な要求が管理ルールにブロックされた場合、セキュリティイベントで該当ルールを調べ、条件を限定した例外や個別ルールの調整を行うことが説明されています。WAF全体を無効にする前に、どのリクエストとルールが衝突しているかを特定します。

誤検知を調査して安全に緩和する
利用者・監視ログ正常操作が遮断・記録
セキュリティ担当再現と影響範囲確認
WAFルール対象を限定して調整
  1. 利用者からURL、時刻、操作内容などを確認し、機密情報の取り扱いに注意してログを調べる。
  2. 正常な業務操作かどうかと、マッチしたルールID・リクエストの条件を確認する。
  3. 特定パス・パラメータ・ルールに限定した例外などを検討し、テストしてから反映する。
  4. 変更後は攻撃検知の低下や新たな誤検知が起きていないか継続監視する。
用語意味・役割身近な例
ルール除外・例外必要な経路や条件だけ特定ルールをスキップ教材投稿パスに限って特定ルールを調整
検知モード・ログ観測遮断前に影響を調べる運用新ルールの導入時に試験観測
異常スコア方式複数ルールのスコアと閾値で評価単独の弱い兆候だけで即遮断しない設計
段階的導入影響を測りながら対象を広げる検証環境から本番の一部へ
変更管理例外の根拠・期限・担当者を記録永続的な無条件除外を防ぐ

9. 体系的なまとめ:何を判断すればよいか

試験でも実務でも、まず「現実には攻撃だったか/正常だったか」、次に「WAFは遮断したか/通したか」を分けます。この2軸だけでTP・FP・FN・TNが決まります。さらに、予防は入力値検証・出力エスケープ・パラメータ化クエリ、補完的防御はWAF、運用改善はログ分析とルール調整と整理すると、知識がつながります。

10. 参考資料