

前回は、WAFの基本概念について説明しました。WAFは学校の教室入口や空港の手荷物検査のように、「何をしようとしているか」を詳しくチェックする技術だと理解できたでしょうか。
今回は、WAFの「頭脳」に迫ります。WAFはどうやって正常なアクセスと攻撃を見分けているのか、その仕組みを詳しく見ていきましょう。
攻撃の検出方法
WAFの攻撃検出方法について説明します。
シグネチャベース検出(パターンマッチング)
仕組み: 攻撃によく使われる文字列や言葉のパターンを事前に登録しておき、それにマッチするアクセスをブロックする方法です。
身近な例: ウイルス対策ソフトと同じ仕組みです。既知のウイルスの「指紋(シグネチャ)」を持っていて、それと一致するファイルを見つけたら警告するのと同じです。
メリット:
- 誤検知が少ない
- 処理速度が速い
- 既知の攻撃に対して非常に効果的
デメリット:
- 新しい攻撃手法には対応できない
- シグネチャのデータベースを常に更新する必要がある
- 巧妙に変形された攻撃は検出できないことがある
機械学習による高度な判定
現代のWAFは、機械学習やAI(人工知能)技術を積極的に取り入れています。
メリット:
- 複雑なパターンも自動で発見できる
- 未知の攻撃手法にも対応できる
- 時間とともに精度が向上する
WAFの動作の流れ
実際にWAFがどのように動作するかを、簡単な流れで見てみましょう。

誤検知との戦い
WAFの運用で最も難しいのが「誤検知」の問題です。
誤検知のことは偽陽性、フォールスポジティブとも呼ばれています。
誤検知とは?
例:
プログラミングに関するブログのコメント欄に「SELECT * FROM users」というSQLの例文を書いたら、SQLインジェクション攻撃と判定されてブロックされた
「<商品名>」のように山括弧を使った検索をしたら、XSS攻撃と判定された
誤検知を減らす工夫
- ホワイトリスト機能: 信頼できるIPアドレスやユーザーからのアクセスは検査を緩和します。
- 段階的な対応: いきなりブロックするのではなく、まず警告だけを出して様子を見る「検出モード」を使うこともできます。
WAFの限界
WAFは非常に強力な防御手段ですが、万能ではありません。
- ゼロデイ攻撃: まだ誰も知らない全く新しい攻撃手法には、即座に対応できない場合があります。
- 内部犯行: 正当な権限を持つ内部のユーザーによる攻撃は検出が困難です。
- アプリケーション設計の問題: 根本的にセキュリティ設計が甘いアプリケーションの場合、WAFだけでは完全に防げません。
まとめ
今回は、WAFがどうやって攻撃を見分けているのか、その仕組みを詳しく説明しました。
さらに、機械学習やAI技術を活用することで、未知の攻撃にも対応できるよう進化し続けています。ただし、誤検知の問題など、課題も残っています。
