前回は、WAFの基本概念について説明しました。WAFは学校の教室入口や空港の手荷物検査のように、「何をしようとしているか」を詳しくチェックする技術だと理解できたでしょうか。

今回は、WAFの「頭脳」に迫ります。WAFはどうやって正常なアクセスと攻撃を見分けているのか、その仕組みを詳しく見ていきましょう。

攻撃の検出方法

WAFの攻撃検出方法について説明します。

シグネチャベース検出(パターンマッチング)

仕組み: 攻撃によく使われる文字列や言葉のパターンを事前に登録しておき、それにマッチするアクセスをブロックする方法です。

身近な例: ウイルス対策ソフトと同じ仕組みです。既知のウイルスの「指紋(シグネチャ)」を持っていて、それと一致するファイルを見つけたら警告するのと同じです。

メリット:

  • 誤検知が少ない
  • 処理速度が速い
  • 既知の攻撃に対して非常に効果的

デメリット:

  • 新しい攻撃手法には対応できない
  • シグネチャのデータベースを常に更新する必要がある
  • 巧妙に変形された攻撃は検出できないことがある

機械学習による高度な判定

現代のWAFは、機械学習やAI(人工知能)技術を積極的に取り入れています。

メリット:

  • 複雑なパターンも自動で発見できる
  • 未知の攻撃手法にも対応できる
  • 時間とともに精度が向上する

WAFの動作の流れ

実際にWAFがどのように動作するかを、簡単な流れで見てみましょう。

誤検知との戦い

WAFの運用で最も難しいのが「誤検知」の問題です。
誤検知のことは偽陽性、フォールスポジティブとも呼ばれています。

誤検知とは?

例:
プログラミングに関するブログのコメント欄に「SELECT * FROM users」というSQLの例文を書いたら、SQLインジェクション攻撃と判定されてブロックされた
「<商品名>」のように山括弧を使った検索をしたら、XSS攻撃と判定された

誤検知を減らす工夫

  • ホワイトリスト機能: 信頼できるIPアドレスやユーザーからのアクセスは検査を緩和します。
  • 段階的な対応: いきなりブロックするのではなく、まず警告だけを出して様子を見る「検出モード」を使うこともできます。

WAFの限界

WAFは非常に強力な防御手段ですが、万能ではありません。

  • ゼロデイ攻撃: まだ誰も知らない全く新しい攻撃手法には、即座に対応できない場合があります。
  • 内部犯行: 正当な権限を持つ内部のユーザーによる攻撃は検出が困難です。
  • アプリケーション設計の問題: 根本的にセキュリティ設計が甘いアプリケーションの場合、WAFだけでは完全に防げません。

まとめ

今回は、WAFがどうやって攻撃を見分けているのか、その仕組みを詳しく説明しました。

さらに、機械学習やAI技術を活用することで、未知の攻撃にも対応できるよう進化し続けています。ただし、誤検知の問題など、課題も残っています。

  • 資料ダウンロードはこちらをクリック→