Home Blogs Edgio WAAPルール–混沌とした順序の作成
Applications

Edgio WAAPルール–混沌とした順序の作成

About The Author

Outline

私の一日は現在および潜在的な顧客からの質問で満ちている。 私が答えるのが好きなのは、WebアプリケーションとAPI保護(WAP)とセキュリティルールセットを非常に正確にしている理由である。 過去数年間に発生した新たな攻撃ベクトルと脆弱性の猛攻撃を考慮する場合、正確性が重要である。 実際、Cybersecurity and Infrastructure Security Agency(CISA)は最近、66件の脆弱性を既知の脆弱性カタログに追加した。また、新しいCVEは2022年に前年比25%以上増加している。 セキュリティとパフォーマンスに懸念を持っているのはCISAだけではない。 最近の調査によると、企業は誤検知、誤検知、アラート疲労の軽減、セキュリティ管理の改善を望んでいる。 では、Edgio WAAPルールをより効果的にするものは何か? 高いレベルでは、WAAPルールとマネージドルールを使用したハイブリッドシグネチャと異常スコアリングモードを実行する特別な順序に関係している。 我々は、性能を犠牲にすることなくセキュリティを提供するために、自社開発のwaflzエンジンを介してこれらのプロセスをミリ秒以内に実行する。 これをさらに詳しく見てみよう。

玉ねぎをはがす

管理されたルールの内部の仕組みを確認する前に、WAAPの保護のさまざまなレイヤー(意図された駄洒落)を見てみよう。 WAAPの各層が重要な役割を果たす。 以下にその機能の概要を示す。

アクセス制御規則

アクセス制御規則は、IPアドレス、匿名プロキシ、国、ASN、地域コード、ユーザーエージェント、クッキー、リファラー、URL、HTTP要求方法、コンテンツタイプ、ファイル拡張子、ファイルサイズ、要求ヘッダーによって保護されたサイトへのアクセスを制御するモジュール式の許可リスト、拒否リスト、ポジティブセキュリティアクセスリストを作成する機能を提供する。

レート制限ルール

レート制限ルールは、WAAPで保護されているアプリケーションへのHTTP要求のフローを制限して、悪意のあるまたは意図しないアプリケーションDDoSトラフィックを防ぎ、攻撃や計画外のトラフィックスパイクによる要求で顧客のアプリケーションサーバが過負荷になるのを防ぐ。

ボットマネージャーのルール

ボットマネージャーは、良いボットと悪いボットの両方を検出する。 不要な自動化や不正ボットを軽減し、アプリケーションに到達するのを防ぐための複数のオプションを提供する。 これにより、Credential Stuffing、Scraping、Carding、Spamming、DDoS攻撃の開始、およびアドフラウドの実行を行う悪意のあるボットからサイトを保護する。

カスタムルール

カスタムルール強力なWAAPエンジンを手に入れて、独自のセキュリティルールを作成。 悪意のあるトラフィックは変数の組み合わせ(要求ヘッダー、本文、クエリ、メソッド、URL、クッキーなど)を使用して識別される。 この方法では、脅威検出の柔軟性が向上し、特定の悪意のあるリクエストをフィルタリングして軽減するためのアクションを実行できる。 カスタム脅威の識別と迅速なテストと導入を組み合わせることで、仮想パッチを作成することで、長期およびゼロデイの脆弱性に迅速に対処できる。

管理されたルール

Edgioのマネージドルールは、Edgioが管理する独自のルールセットを介して悪意のあるトラフィックを識別する。 管理対象ルールは、次の3つのカテゴリにまたがる500を超えるルールで構成される。
  1. Edgio独自のルール。
  2. 高度なアプリケーション固有のルール。
  3. 一般的なOWASPルール。
これは、さまざまな攻撃カテゴリとアプリケーションのためのさまざまなセキュリティポリシーとルールを包括的に収集する。 脅威評価を実行する際に、特定の変数(つまり、cookie、ヘッダー、要求パラメータ/クエリ文字列)を除外することで、各管理対象ルールをカスタマイズして誤検知を防止できる。 ご覧のとおり、WAAPルールには多くのレイヤーがあり、各レイヤー内には、WAAPが実行しなければならない数十から数百のルールと条件が存在する可能性がある。 各ルールは、誤検知が導入され、パフォーマンスに影響を与える可能性を提示する。 複雑なのは、Edgio WAAPがデュアルWAAPモードで実行する独自の機能を提供していることである。このモードでは、アクセス制御ルール、カスタムルール、および管理ルールについて、実稼働トラフィック用の2つのバージョンのセキュリティ設定を同時に実行できる。 我々は、我々のセキュリティソリューションを強化し続けるために、追加の保護層を追加する。 これらの機能やルールが混乱している中で、WAAPが何百万ものリクエストを正確かつ効率的に処理できるようにするにはどうすればよいのか。

混沌からオーダーを作成する

高性能マルチテナント環境で拡張するために特別に設計された強力な自社開発のWaflzエンジンを持つことに加えて、重要なのは、WAAPを最も効率的かつ効果的に実行するための適切な操作順序を作成することである。 これを達成するために、WAAPは次の順序で規則モジュールの異なる層を実行する。
  1. Access Control Rules:すべての要求は、前述の変数で構成される顧客設定の許可/拒否/アクセスリストの静的セットによってフィルタリングされる。 WAAPは拒否リストに一致する要求をすべてドロップし、不要なトラフィックがそれ以上処理されないようにする。
  2. Rate Limiting Rules:アクセス制御規則を通過するリクエストは、設定で指定された時間枠内で各クライアントのリクエストを追跡するレート制限規則によって追跡される。 WAAPは、特定の要求レートしきい値を超える要求をドロップし、要求ボリュームが次のステップに進むのをさらに制限する。
  3. Bot Managerルール:このステップに到達する各リクエストは、リクエストシグネチャと動作の組み合わせに基づいてボットベースであるかどうかを判断するために、MLプラットフォームによって検査される。 悪意のあるボットリクエストは、ブラウザチャレンジ、カスタムレスポンス、キャプチャなどのさまざまな手段を介して軽減できる。 ほとんどの攻撃は自動化されたクライアントを介して行われるため、ボットマネージャはこれらの攻撃を軽減し、後続のルールモジュールで処理する必要のあるリクエストの量をさらに減らすための効果的なソリューションとなる。
  4. カスタムルール:このステップでは、WAAPは、顧客が作成したさまざまなカスタムフィルタを使用して要求を検査し、不要な要求を検出して軽減する。 これには、管理対象WAAPルールセットが更新されるのを待たずにゼロデイ脆弱性を緩和するために、顧客がリアルタイムで展開できるアプリケーション固有のルールを含めることができる。 これは、特定の攻撃を可視化し制御するための非常に貴重なツールである。 カスタムルールの特殊性のため、それらはEdgioが管理するルールよりも優先され、最終レイヤーに渡す前にリクエストを処理する。
  5. Managed Rules:この段階に到達するリクエストは、Edgio独自、高度なアプリケーション固有、および汎用OWASPカテゴリ全体のManaged 500+ルールによって処理される。

すべての要求を順番に処理する(図1に示す)ことで、複数のフィルタリングレイヤが実行されることが保証される。 これにより、リクエストがマネージドルールに到達する前に、顧客が探している攻撃(拒否リストされたIP/国、アプリケーションDDoS / HTTPフラッド、自動クライアント、特定のカスタムリクエストシグネチャ)を捕捉することができる。

しかし、これはセキュリティストーリーの一部にすぎない。

WAAPの有効性は、攻撃を軽減する能力(真陽性)だけではなく、正当なトラフィックがブロックされるのを防ぐ能力(偽陽性)によっても決まる。 誤検知を減らしながら、アプリケーション攻撃のほとんどを捕捉する方法を見てみよう。

Edgioで管理されるルールの詳細

リクエストがManaged Rulesに到達すると、幅広いアプリケーション攻撃を軽減するために作成された500を超えるルールからなる独自のEdgio Rulesetによって評価される。 これは、ルールのカテゴリが非常に多く、WordPress、Joomla、Apache Strutsの各ルールが存在するため、複雑さを増す要因となっている。 正確さを最大化するためには、互いに補完し合うように慎重な優先順位付けが必要である。

前述のルールモジュールと同様に、鍵となるのはManaged Rulesetの各カテゴリ間の操作の順序である。

Managed Rules内では、リクエストは次の順序で異なるルールカテゴリによって処理される。Edgio独自ルール>高度なアプリケーション固有ルール>汎用OWASPルール。

  1. Edgio独自のルールとアプリケーション固有のルールは、特定の種類のアプリケーションの特定の脆弱性に関連するシグネチャを探す。 これらのルールはアプリケーション(Apache Struts、WordPress、Joomla、Drupal、SharePoint、cPanelなど)をカバーし、これらのアプリケーションに対する攻撃を非常に正確に検知する。 我々はこれらのルールをSignature (別名バイナリ)モードで実行するように設計した。つまり、これらのルールをトリガーするリクエストはアクションを引き起こす。 これらのルールは特定の攻撃ベクトルをアプリケーションにマッチングさせフィルタリングするためのより外科的なアプローチを提供するため、Edgio Rulesetフィルタの第1層となる。 プロプライエタリルールやアプリ固有ルールに一致しないリクエストは、お客様のアプリケーションにリスクをもたらす可能性があるため、次のフェーズで潜在的な攻撃を検出するための別のアプローチが必要である。

  2. Edgioルールセット内の汎用OWASPルールは、異なる共通カテゴリの攻撃(SQLi、XSS、RCE、プロトコル違反、ローカルファイルインクルージョン(LFI)、リモートファイルインクルージョン(RFI)など)に関連付けられた署名の組み合わせを探す。 これらのルールは、要求が攻撃カテゴリに適合するシグニチャの組み合わせを示すかどうかを決定するために連携する。 これらの一般的なルールは異常スコアモードで実行され、異常スコアしきい値を調整して、リクエストが悪意のあるものと見なされるためにトリガーされる必要があるルールの数を制御することで、ルールの感度を定義できる。 異常スコアのしきい値が低いほど、汎用ルールセットの感度が高くなるか厳密になり、悪意のあるリクエストがしきい値を超えやすくなる。 お客様は、アプリケーションの種類とリスク許容度に基づいてWAAPの感度を柔軟に調整できる。 一般的なOWASPルールは、特定の攻撃特性に適合するが、必ずしも特定のアプリケーションの脆弱性に適合するとは限らない要求に対する最終的なキャッチオールとして機能する。

WAAP/Dual WAF Diagram

図1:Edgio WAAPワークフロー

図2:検出を最大化し、誤検出を最小限に抑えるために特別に設計されたシーケンスで実行されるマネージドルール。

管理対象ルールの精度を高めるもう一つの重要な機能は、ルールのカスタマイズ可能性である。 500以上のマネージドルールのそれぞれは、特定のリクエストパラメータ(つまり、リクエストヘッダ、クッキー、クエリ、ボディパラメータ)を無視するようにカスタマイズすることができる。 これにより、顧客は簡単なユーザーインターフェイスまたはAPIを使用して誤検知を迅速に削除できる。

すべてのピースを組み合わせて

これで、WAAPを介してHTTPリクエストの旅に出た。 当社の高性能WAAPは、コンテンツ配信サービスを実行する同じスタック上でネイティブに実行されるため、世界中の300のPOP(Point of Presence)すべてのEdgioサーバー内で毎日数十億回発生する。 このブログの冒頭で、私は私たちのWAAPについて多くの質問を得ると述べた。 他の解決策とは何が違うのか理解してほしい。 インテリジェントな操作順序を、さまざまなWAAPルールモジュール(ACLからレート制限、ボットおよびカスタムルール)、マネージドルール(特定のルールから汎用ルール)、およびハイブリッドシグネチャと異常スコアリングモードと組み合わせて、パフォーマンスを妨げないセキュリティを実現。

WAAPコンポーネントの設計と組み立てはハンバーガーを作るようなものである。 それはちょうど良い材料を持っていることについてではない;それは素晴らしい食事を作るために正しい方法でそれらを組み合わせることについてである。 同じ成分を組み合わせることで、味や顧客体験に大きな影響を与える可能性がある。