組み込みWAAPシグネチャはSQL injection、XSS、path traversal、SSRF、既知のCVE、一般的な攻撃技術に対するベースライン保護を提供します。しかし実際の本番環境では、すべてのアプリケーションが異なります。一部のAPIは特定のヘッダー形式を必要とし、一部のアプリケーションはレガシーなパラメーター構造に依存し、あるサービスでは完全に正常なトラフィックが組み込みシグネチャセットには疑わしく見えることがあります。
これから2つの要件が生じます。1つ目は組み込みルールセットを壊さずにアプリケーション固有のWAAPルールを追加すること。2つ目は特定のサービスに対して既存の組み込みルールの動作を変更すること — 無効化、monitorモードに置く、スコアを下げる、特定のトラフィックセクションに限定するなど。
従来のアプローチでは、カスタムルールの記述は重作業であることが多いです。オペレーターは独自のスクリプト言語を習得し、ルール構文が複雑になり、ずさんに書かれた正規表現は本番トラフィックを遮断し、ルールのデプロイはサービス中断のリスクをもたらします。その結果、チームは過度に広いルールを書くか、リスクのあるトラフィックを一時的に無視するかのどちらかになります。
IDの管理、上書き処理、層の分離が別の次元を加えます。組み込みルール、組織全体のカスタムルール、アプリケーション固有のルールが同じネームスペースを共有すると、保守が困難になります。同じルールがアプリケーションによって異なる動作をする必要がある場合、コピーして編集するアプローチはすぐに持続不可能になります。
TR7 Custom WAAP Rulesモデルはこの複雑さを単純化します。カスタムルールは正規表現・スコープ・スコア・状態で定義され、既存ルールは上書きで調整され、グローバルとプール層は競合しないID範囲で管理されます。
TR7はカスタムWAAPルールの作成を、コアWAAPエンジンにネイティブな検証可能で層構造のポリシーフローへと変換します。
オペレーターはカスタムWAAPルールを名前、説明、正規表現、マッチスコープ、スコア、状態フィールドで定義します。ウィザードモードは日常使用に十分であり、より細かい管理を望むチームは同じ構造をローJSONで管理できます。
組織またはアプリケーション固有のニーズに対して新しい正規表現パターンを追加できます。既存の組み込みルールに対しては、変更が必要な特定の動作 — 状態、スコア、またはマッチスコープ — のみを上書きし、組み込みルールセットはフォークされません。
グローバル層はすべてのサービスに対して組織全体のベースラインを提供し、プール層は特定のアプリケーションまたはサービスに対してより絞り込まれた設定を適用します。ID範囲がパーティション化されているため、組み込みルール、グローバルカスタムルール、サービス固有のルールが衝突することはありません。
ルールが稼働する前に、名前、スコア、スコープ、正規表現フィールドが検証されます。ルールが有効であれば、対象のシグネチャシャードが再コンパイルされ、エンジンの変更されていない部分は影響を受けません。
Custom WAAP Rulesはコアのスコアリングシステムと同じレベルでカスタムセキュリティロジックを実行します。
すべてのカスタムルールは名前、説明、正規表現、マッチスコープ、スコア、状態で定義されます。正規表現は攻撃パターンまたは許可されていない形式を指定し、スコープはそのパターンをpath、query、header、form、json、xml、またはrawコンテンツのどこで検索するかを決定します。スコア値は脅威の重みをWAAPスコアリングモデルに持ち込みます。状態フィールドによりルールがenabled、monitor、またはdisabledかどうかを制御します。
カスタムルールはリクエスト全体に盲目的に適用されません。検索する正確なトラフィックセクションを明示的に選択します。path、query、header、form、json、xml、rawスコープオプションによりルールが動作する場所を絞り込みます。これにより誤検知リスクが低減し、正規表現が意味のある場所でのみ実行されます。同じパターンを異なるスコープで異なる効果で使用できます。
カスタムルールには2、4、6、8の4つのスコアレベルのいずれかが割り当てられます。低スコアは監視または弱いシグナルに適切であり、高スコアは強い攻撃指標を示します。スコアはコアのWAAP判定メカニズムに参加し、他のシグネチャと共に評価されます。カスタムルールは孤立したブロックスイッチではなく、複合リスク計算の一部です。
新しいカスタムルールはすぐにブロックモードに移行する必要はありません。monitorモードでは、ルールマッチはログに記録されますがトラフィックは中断されません。運用チームは実際のトラフィックでの誤検知率を確認し、正規表現とスコープを絞り込み、動作が理解されたら自信を持ってルールをenabledに移動します。このモデルは本番環境での制御されたロールアウトを提供します。
既存の組み込みルールが特定のアプリケーションで過剰なノイズを生成する場合、ルールセットをコピーして修正する必要はありません。上書きにより状態、スコア、またはマッチスコープの動作を変更します。同じ組み込みルールがグローバルでは有効のまま、特定のプールではmonitorモードに置かれたり、より小さなスコープに絞り込まれたりすることができます。これにより保守負担が低減し、現在のシグネチャセットからのドリフトが防止されます。
グローバルカスタムルールIDは1,000,000〜4,999,999の範囲で生成され、プールカスタムルールIDは5,000,000〜9,999,999の範囲です。この分離により組み込みルール、組織全体のルール、アプリケーション固有のルールの競合が防止されます。運用チームはIDだけでルールのスコープを識別できます。大規模な環境ではルールインベントリの管理がより整理されます。
カスタムルールが変更されると、対象のシグネチャシャードのみが再コンパイルされます。変更されていないルールセット全体を停止して再起動するアプローチは使用されません。これによりルール操作が速く低リスクになります。この動作は頻繁に変更される一時的な保護ルールに特に価値があります。
カスタムルールのマッチは別の切断されたログ形式に保存されません。ルールID、名前、状態、スコア値、マッチしたスコープがメインのWAAPイベントストリームに含まれます。SIEM側では、カスタムルールと組み込みルールを同じイベントモデルで調べることができます。この可視性はインシデント対応とコンプライアンスレポートの一貫性を提供します。
カスタムWAAPルール管理は検証・競合コントロール・ホットロード・監査・ロールバック手順と合わせて考慮されます。
ルールが稼働する前に、正規表現が空でないこと、スコアが許可された値の一つであること、スコープリストが有効であることを確認するチェックが行われます。名前の一意性とID範囲も検証プロセスの一部です。無効なルールはWAAPエンジンに受け入れられません。
グローバル層は組織全体のベースラインを提供し、プール層は特定のサービスまたはアプリケーションに対してより具体的な動作を定義します。同じロジックが異なる層で異なる結果を必要とする場合は上書きメカニズムが使用されます。このモデルは重複ルールの代わりに管理可能でスコープされた例外を提供します。
不注意に書かれた正規表現パターンはパフォーマンスリスクをもたらす可能性があります。過度に広い、バックトラッキングの多い、または不必要に大きなスコープに適用されたパターンは本番トラフィックでコストを生み出す可能性があります。したがって正規表現はできるだけ狭いスコープと精確なパターンで定義すべきです。
新しいカスタムルールの安全なワークフローは、まずmonitorモードで実際のトラフィックを観察することです。ログ結果を確認し、誤検知を生み出すパス、ヘッダー、パラメーターを評価します。ルールの動作が明確になったら、ルールをenabledモードに移動します。
カスタムルールの追加、更新、無効化、上書きは監査レコードに紐付けるべきです。誰がどのルールのスコア、スコープ、状態をいつ変更したかは、インシデント後のレビューに重要な情報です。変更履歴はブロック効果を持つルールの運用上の安全性に特に重要です。
カスタムルールが予期しない効果を生み出した場合、すぐにmonitorまたはdisabled状態に移動できます。上書きの変更も元に戻して組み込みルールの動作を復元できます。これにより本番トラフィックを中断することなくルール操作が可能になります。
セキュリティチームは公式シグネチャの更新を待つことなく、新たに開示された脆弱性に対して一時的な正規表現ベースのルールを追加できます。まずmonitorモードでテストし、攻撃パターンが確認されたらenabledに移動します。
組み込みWAAPルールが特定のアプリケーションの通常トラフィックに影響している場合、完全に無効化するのではなく上書きします。スコープを絞り込み、スコアを下げ、または該当するプールのみでmonitorモードに置きます。
金融または医療アプリケーションはカスタムルールを使用して特定のヘッダー、フォームフィールド、JSONフィールドの期待されるフォーマットを検証できます。準拠していないリクエストはアプリケーションコードに到達する前にスコアリングまたはブロックされます。
SaaSチームは自社のAPI動作に固有の悪用パターンをpath、query、header、またはJSONスコープでキャプチャできます。組み込みシグネチャセットではカバーされないビジネスロジックの違反はTR7 WAAP内でカスタムルールとして管理されます。
正規表現・スコープ・スコア・上書きによるカスタムセキュリティルール。お客様自身の環境でのライブセットアップをご案内します。