私たちの日常生活のさまざまな側面がオンラインに移行するにつれて、サイバー攻撃者は私たちが頼りにしているアプリが提供するサービスのレベルを低下させようと躍起になっています。 彼らの動機は、復讐から、被害を受けた企業の株価に影響を与えること、セキュリティチームの注意をデータ侵害からそらすための煙幕を張ることまで、多岐にわたります。
以前のブログでは、過去にセキュリティ チームが、TCP/UDP 接続要求を大量に送信してサーバーの使用可能な帯域幅を使い果たすネットワーク レベルとトランスポート レベル(レイヤー 3 と 4 ) でのボリューム型サービス拒否 (DoS) 攻撃と分散型 DoS (DDoS) 攻撃に対する新しい防御策を継続的に開発しなければならなかったことを説明しました。 現在、攻撃者は新たなツールを武器に加えています。それは、HTTP リクエストや API 呼び出しを使用してアプリケーション レベル (レイヤー 7 ) のリソースを枯渇させる DoS 攻撃と DDoS 攻撃です。
ネットワーク攻撃やボリューム攻撃に対する従来の DoS 保護は、アプリケーション レベルでは悪意のあるリクエストが正当なリクエストと同じように見えることが多いため、レイヤー 7 攻撃に対しては効果がありません。 さらに、レイヤー 7 での HTTP 攻撃は、ネットワーク レベルの攻撃よりもはるかに低いレートとリクエスト量で損害を与える可能性があります。 レイヤー 7 DoS 保護は、まったく新しい一連の要件に直面して、より敏感にならなければなりません。
NGINX App Protect サービス拒否(DoS) は、これらすべての課題に対処し、合理化され、実装が容易で、適応型のゼロタッチ ポリシー構成を提供するゼロデイ保護を保証します。
NGINX App Protect DoS は、レイヤー 7 DoS 攻撃を検出して軽減するために、複数のステップからなるプロセスを使用します。
プロセスの最初のステップは、サイトが攻撃を受けていないことが分かっているときにユーザーとアプリケーションの動作をキャプチャし、典型的な動作のベースラインをキャプチャする統計的なサイト モデルを作成することです。 NGINX App Protect DoS は、320 のユーザーおよびアプリのメトリックを追跡し、アプリの展開を包括的に把握します。 また、トラフィックを観察すると、統計サイト モデルが動的に更新されます。 これにより、システムのしきい値を手動で調整する必要がなくなり、NGINX App Protect DoS が時間の経過とともに必然的に発生するトラフィック パターンの変化を考慮に入れることが保証されます。
追跡されるメトリックの 1 つのクラスは、HTTP リクエストの特性 (HTTP メソッド、 User-Agent
ヘッダーの値、および図に示されているようなその他のもの) に関するものです。
多くのレイヤー 7 DoS 緩和ツールは、クライアントのトラフィック パターンのみに注意を払います。 優れた攻撃検出のために、NGINX App Protect DoS を構成して、サービスの健全性を積極的にチェックすることもできます。 応答時間やドロップされたリクエストの割合など、複数のサーバー パフォーマンス メトリックを追跡します。 これらのメトリックの値が悪化すると、攻撃のせいでアプリケーションが「ストレス下」にあることを示します。 サーバー メトリックを追跡することには、もう 1 つの利点があります。NGINX App Protect DoS が攻撃が進行中であると判断すると、ヘルス チェックへの応答パターンによって、攻撃がいつ開始されたかを特定できるようになります。
NGINX App Protect DoS は、サイト統計モデルからの逸脱とサーバー応答の変更(設定されている場合)に基づいて攻撃が進行中であると判断すると、サイト統計モデルの更新を停止し、代わりに現在のメトリック値が確立されたベースラインとどのように異なるかを分析します。 これらの違いは、世界的な異常を示している可能性が高い。
NGINX App Protect DoS は、並行して実行される 2 つの手順を開始します。
個々のユーザーの行動を分析して、誰が異常を作成したか、または異常の原因となったかを検出します。
NGINX App Protect は、最初にすべてのユーザーを容疑者として扱い、その行動を分析します。 すべてのユーザーが攻撃者である可能性は低いですが、すべてのユーザーの行動を測定することで、NGINX App Protect は誰が攻撃に関与したか、誰が関与しなかったかを明らかにする統計画像を作成できます。 検出された悪意のある行為者は、IP アドレスまたはリクエスト内のX-Forwarded-For
ヘッダーを使用して識別されます。
正当なユーザーをブロックせずに攻撃トラフィックを記述するルールのリストを生成します。これは、ゼロデイ攻撃からの保護のためのリアルタイム署名です。 以前の攻撃中に生成された署名を再利用できます。
生成された署名は、次の例のように、攻撃に関連付けられた HTTP 属性を識別します。
http.request.method eq GETおよびhttp.user_agent にChromeおよびhttp.uri_parameters eqが含まれる6かつhttp.accept_header_existsがfalseかつhttp.headers_countが 7
レイヤー 7 攻撃を防御する際の主な目標は、被害が発生する前に攻撃を捕捉することです。
次の図に示すように、保守的または標準の軽減戦略のいずれかを構成できます。 どちらの戦略でも、防御の最初の層は、前の手順で IP アドレスとX-Forwarded-For
ヘッダーによって識別された悪意のある行為者からのリクエストをブロックすることです。 次の防御層では、前の手順で生成された署名と一致するリクエストをブロックします。
最後に、標準的な緩和策を構成していて、NGINX App Protect DoS が最初の 2 つの防御層が不十分であると判断した場合、短期間グローバル レート制限を適用します。
NGINX App Protect DoS がグローバル レート制限を適用すると、正当なユーザーからのリクエストがブロックされる可能性があります (誤検知)。 NGINX App Protect DoS は、一般的な DoS 攻撃は人間が直接行うのではなく、ボットネット コントローラー (感染したコンピューター上のマルウェア) によって実行されるスクリプトを使用して作成されるという事実に基づいて、誤検知を減らすことができます。 Web ブラウザとは異なり、これらの単純なスクリプトの多くは HTTP リダイレクトを適切に処理できず、JavaScript を処理できるスクリプトはさらに少ないです。 スクリプトとブラウザ間の機能の違いにより、NGINX App Protect DoS は、どちらが疑わしいトラフィックを生成しているかを判断できます。
そのため、NGINX App Protect DoS は、すべてのクライアントからのリクエストをレート制限する代わりに、最初に HTTP リダイレクトを送信し、次に処理する JavaScript のスニペットを送信します。 スクリプト ボットは正常に応答できませんが、ブラウザーは応答できるため、NGINX App Protect DoS はスクリプトからのトラフィックをブロックしながら、ブラウザー トラフィックの通過を許可できます。
多数の誤検知が発生する可能性があるため、適応型学習に依存することに不安を感じるユーザーもいることは承知していますが、レイヤー 7 DoS 攻撃を軽減するにはこれが最も効果的な方法であることがわかりました。 NGINX App Protect DoS は、ユーザーの行動の分析、サービスのヘルスチェック、緩和戦術の有効性の測定など、複数のアプローチを組み合わせることで誤検知を削減します。 これら 3 つのアプローチを組み合わせることで、攻撃に応じて手動で構成を変更する必要なく、包括的な可視性と保護が実現します。
WAF がすでにボットから保護しているのに、なぜレイヤー 7 DoS 保護が必要なのか疑問に思うかもしれません。 レイヤー 7 DDoS 攻撃は通常ボットによって実行されるのは事実ですが、その目的は他のボットの活動とは異なります。 ボットは通常、サービスを中断せずに情報を取得しようとしますが、サービスの中断はまさにレイヤー 7 DoS 攻撃と DDoS 攻撃の目的です。
もう 1 つの違いは、標準的なボット対策ツールは「良いボット」と「悪いボット」を区別しようとすることです。これは通常、誤検知を避けるために人間の監視を必要とする困難な作業です。 一方、NGINX App Protect DoS は、トラフィックがボットによって生成されたか、他のメカニズムによって生成されたかに関係なく、攻撃者と正当なユーザーの行動に基づいて区別することに重点を置いています。 NGINX App Protect DoS は、ボットがレイヤー 7 DoS 攻撃に参加していると判断した場合にのみアンチボット技術を使用するため、標準のアンチボット ソフトウェアよりも誤検知が大幅に少なくなります。 さらに、NGINX App Protect DoS 緩和方法は CPU 効率に優れているため、Layer DoS 攻撃の間もアプリを保護し続けることができます。
NGINX App Protect DoS は、ユーザーとアプリの動作に関連する 320 を超えるメトリックを追跡し、可能な限り最も正確な保護を提供する多要素統計モデルを実現します。 独自のアルゴリズムにより誤検知が大幅に減少します。 これらの機能により、NGINX App Protect DoS は、高度に分散された DoS 攻撃を軽減できます。この攻撃では、各攻撃リクエストが完全に合法的に見え、単一の攻撃者が生成するトラフィックが平均的な正当なユーザーよりも少なくなる可能性があります。 NGINX App Protect DoS は、適応型テクノロジーにより、現在の攻撃だけでなく将来進化する攻撃からも最新のインフラストラクチャを保護します。
DoS 保護を確実に実現する方法について詳しく知りたい場合は、ソリューション概要をご覧ください。 以下の関連ブログもご覧ください:
NGINX App Protect DoS をぜひお試しください。今すぐ30 日間の無料トライアルを開始するか、弊社にお問い合わせの上、使用事例についてご相談ください。
「このブログ投稿には、入手できなくなった製品やサポートされなくなった製品が参照されている場合があります。 利用可能な F5 NGINX 製品およびソリューションに関する最新情報については、 NGINX 製品ファミリーをご覧ください。 NGINX は現在 F5 の一部です。 以前の NGINX.com リンクはすべて、F5.com の同様の NGINX コンテンツにリダイレクトされます。"