アプリケーションレイヤー DDoS 攻撃とは?

アプリケーションレイヤーのDDoS攻撃は、OSI modelのレイヤー7を悪用してWeb アプリケーションを圧倒しようとする悪意のある試みです。これは、サービスの可用性を妨げるために、特定のアプリケーションの脆弱性を標的にします。

インフラストラクチャをあふれさせるネットワークレイヤー攻撃とは異なり、アプリケーションレイヤーのインシデントは特定のアプリケーションプロセスを圧倒し、大量のコンピューティング能力を消費します。正当なユーザートラフィックやパターンを模倣することで、これらの攻撃は、攻撃者の帯域幅をほとんど必要とせずに影響を最大化できます。

最も一般的なベクトルは、アプリケーション固有の脆弱性や、HTTP や HTTPS などのアプリケーション層プロトコルの弱点を悪用します。このような攻撃では、データベース・クエリ、認証メカニズム、検索機能などのリソース集約型プロセスが悪用されることが多く、オペレーションを妨げる持続不可能なワークロードが生み出されます。 

アプリケーションレイヤーDDoS 攻撃とDNS増幅攻撃の比較

DDoS 攻撃とDNS増幅攻撃はどちらもサービスを妨害するという同じ目的を持っていますが、正確な方法は大きく異なる場合があります。これらの違いを認識することは、適切な防御戦略を策定するうえで不可欠です。主なDDoS 攻撃の種類を比較してみましょう:

  • 攻撃メカニズム: アプリケーションレイヤー攻撃は、検索フォームや認証ポータルなどの Web アプリケーションリソースを直接標的にします。これらに偽のリクエストを大量に送り込むことで、攻撃者は過剰なコンピューティング能力を消費させ、アプリの速度を低下させたりクラッシュさせたりします。対照的に、DNS アンプリフィケーションは、設定が不適切なDNS サーバーを悪用して、トラフィックを劇的に増幅させます。

  • リソース消費: アプリケーションレイヤー攻撃では、消費の中心は、メモリ、CPU、ロギングとデータアクセスのためのディスク I/O など、アプリケーションサーバーのリソースです。DNS アンプリフィケーションは、設定ミスのある DNS サーバーを介してトラフィックを増幅することで、ファイアウォールやロードバランサーなどのネットワークインフラストラクチャを圧倒します。トラフィックは50-100xに増幅されますが、アプリケーションサーバーにかかるワークロードはごくわずかです。

  • トラフィックの特性: DDoS アプリケーション攻撃は通常のユーザー・パターンを模倣し、アプリケーションのエントリー・ポイントに対する大量のHTTP/HTTPSリクエストで構成されます。DNSアンプ攻撃は、継続的に送信される不要なUDPトラフィックを使用します。

  • プロトコルの標的: アプリケーション攻撃はレイヤー7で動作し、Web向けのリソースを標的にします。DNSアンプ攻撃は、UDPベースのDNSクエリを操作してトラフィックの増幅を実現します。

  • 複雑さ: アプリケーションレイヤー攻撃は、実行するためにより多くの労力を必要とします。攻撃者はアプリケーションを分析して脆弱性を見つけ出し、オペレーションを妨害するために悪用できる側面に重点を置きます。DNS攻撃は単にアドレスを偽装し、本質的に脆弱なサーバーに依存します。ハッカーは、ネットワークやサービスに関する準備や知識がほとんどなくても、大規模な攻撃を仕掛けることができます。

アプリケーションレイヤー DDoS 攻撃がどのように発生するか

アプリケーションレイヤーDDoS 攻撃は、力任せの攻撃ではなく、正確で標的を絞ったエクスプロイトによって障害を引き起こします。ネットワークを大量のトラフィックであふれさせるのではなく、これらのアプリケーション固有の攻撃は、重要な脆弱点にある脆弱性に過負荷をかけることでボトルネックを生み出します。以下では、これらの攻撃の仕組みを細かく見ていきます。

  • 接続エンドポイントをフラッディングします:攻撃者は、プロキシやロードバランサーなどのインフラストラクチャの接続ポイントに大量のトラフィックを送り込みます。アプリケーションが処理できる量を超えるリクエストでソケットとセッションをあふれさせることで、攻撃は利用可能なすべての接続を消費し、正当なユーザーに対してサービス拒否攻撃の影響を生み出します。

  • 認証プロセスを悪用するCAPTCHA、多要素認証、またはアカウントロックアウトなどの検証チェックは、格好の標的です。攻撃者は、アカウント制限を発動させたり、認証サーバーのリソースをすべて消費したりして、これらのメカニズムを圧倒するために、ログインリクエストを継続的に送信します。

  • API リクエストの複雑さを操作する:API には、サーバー負荷を管理するために、呼び出しの複雑さに関する制限が組み込まれています。DDoSアプリケーションレイヤー攻撃は、高コストなリクエストを最大化することでこれらの制限を悪用します。たとえば、一致しないパラメータを過剰に付けてプロダクトレコメンデーションAPIを呼び出すことがあります。

  • 正規のトラフィックパターンを模倣します:防御を回避するために、ハッカーはリクエストの間隔を適切に空け、可能な場合は有効な認証情報を使用することで、顧客やユーザーの行動を模倣します。このトラフィックは、閲覧、検索、フォームの送信などの本物のインタラクションに似ています。この攻撃により、悪意のあるトラフィックは、従来のボリュームベースの攻撃よりも自然に紛れ込みます。

  • 特定のアプリケーションの脆弱性を標的にします: 加害者はアプリを調査して探りを入れ、悪用に適したアプリケーション固有の弱点を見つけ出します。例えば、ワイルドカード・パラメータを含む検索クエリが過剰なリソースを消費することを見つける可能性があります。

  • データベース・リソースを消費します: データベースでは、多くの場合、大量の処理能力が必要になります。攻撃では、高コストのクエリ、検索フィルタリング、データベース結合を利用して過大なワークロードを生み出し、遅延を引き起こし、アプリケーションとそのデータ間の接続を中断させる可能性があります。

  • セッション管理を妨害します: Web アプリは、状態を維持するためにユーザーセッションを追跡します。このプロセスは、多くの場合、メモリの割り当てやCookieの処理を伴うため、リソースを大量に消費します。ハッカーは、ユーザー状態を追跡するためのサーバーリソースを枯渇させるために、何千もの偽のセッションと急速なタイムアウトを開始します。

アプリケーションレイヤー DDoS 攻撃から防御する9つの方法

アプリケーションレイヤー攻撃がますます高度化する中、多面的な防御戦略が必要です。これには、インフラストラクチャを強化するための事前対策と、進行中の攻撃を検出して軽減するための事後対応技術を使用することが含まれます。これらの攻撃から保護するための主なメカニズムをいくつか見ていきましょう:

1. JavaScript チャレンジメカニズムを実装する

JavaScript チャレンジを追加すると、ボットと正当なユーザーを効果的に区別できます。これらのプロンプトは、訪問者の行動を分析して自動化の兆候を検出します。自動化が検出された場合は、追加の検証テストが有効化され、正当性を確認したうえで、さらにアクセスを許可します。正当な顧客の妨げにならないよう、これらのシステムを徹底的にテストしてください。

2. 高度な次世代 Web アプリケーションファイアウォール(WAF)をデプロイ

次世代 WAF は、アプリケーション固有のルールセットを使用して、悪意のあるトラフィックを識別してブロックします。適切に調整された WAF は、リクエストの複雑さ、位置情報、セッション管理、入力サイズなどの異常を検出できます。攻撃をより迅速に検出するために、共有脅威インテリジェンスを活用できるクラウドベースの次世代 WAF の使用を検討してください。

3. IP レピュテーションフィルタリングを使用する

IP レピュテーションデータベースは、最新のボットネットおよびマルウェアの IP リストを維持します。Web アプリケーションは、これらのデータベースを参照することで、既知の悪意あるソースからのトラフィックを自動的にブロックできます。ボットネットの IP アドレスは急速に変化するため、データベースが頻繁に更新された状態に保たれていることを確認してください。

4. アプリケーションレベルでレート制限を実装します。

レート制限は、トラフィック量とリクエストの複雑さに対するしきい値を適用しながら、違反者をブロックします。たとえば、IPごとのAPI コール数、ユーザーごとの同時セッション数、または1分あたりのデータベース読み取り数に制限を設定できます。きめ細かな制限は、正当なアクセスを維持しながら、突然のスパイクへの耐性を高めます。

5. インテリジェントなCAPTCHA検証を作成する

Standard CAPTCHA のボット検知機能には限界があります。機械学習を活用したインテリジェント CAPTCHAは、マウスの動きや入力パターンなどを分析することで、自動化ツールをより正確に識別できます。攻撃者は定期的に戦術を変えるため、ボットの挙動に関する最新データを使用して、CAPTCHA システムを継続的にトレーニングする必要があります。

6. ブラウザ整合性チェックを設定する

一貫したブラウザ・フィンガープリンティングについて、受信トラフィックを検査します。正当なブラウザ特性を欠くリクエストは、追加の検証対象として選択されるか、完全にブロックされる場合があります。ブラウザ整合性チェックは、トラフィックが正当なソースから発信されていることを確保するのに役立ちます。 

7. 機械学習によるトラフィック分析を使用する

機械学習の手法により、正常なトラフィック・パターンと異常なトラフィック・パターンの正確なモデルが作成されます。更新されたデータでこれらのシステムを継続的にトレーニングすることで、検出精度が向上します。頻繁な再トレーニングにより、モデルは進化するトラフィック傾向に適応できます。

8. トークンベースのリクエスト検証を実装する

厳格な有効期限を持つトークン化されたキーにより、各 API コールが正当なフロントエンドから送信されたものであることを検証します。フロントエンドを回避しようとする攻撃は、有効なトークンを持たないためブロックされます。トークンはセッションの詳細と一致している必要があり、リプレイ攻撃や不正なリクエストを防止します。

9. 適応型トラフィックセグメンテーションを使用する

リスクプロファイルごとにトラフィックをセグメント化することで、不審なフローを分離してさらに分析できる一方で、正当なユーザーのためにアプリケーションリソースを維持できます。精度を確保し、最新の脅威インテリジェンスを反映するために、リスクモデルを頻繁に更新してください。 

Fastly の DDoS Protection でビジネスを保護します。

攻撃者がレイヤー7のビジネスロジックの脆弱性を悪用するケースが増える中、適応型の防御戦略を幅広く導入する必要があります。単一のソリューションで包括的な保護を提供することはできませんが、エッジで事前対応型と事後対応型の緩和手法を組み合わせることで、アプリケーション攻撃がインフラストラクチャを圧倒する前に効果的に対抗できます。機械学習や行動分析などの高度な機能は、悪意のあるボットネットやストレッサー・サービスの高度化が進む中で、それらに対応し続けるうえで有効です。

Fastly's DDoS Protectionサービスは、Web プロパティとAPIを保護するための強力でありながら柔軟なアプローチを提供します。グローバルなエッジネットワークを基盤として、このソリューションはトラフィックに対する高い可視性と、迅速な脅威検出および緩和機能を提供します。このプラットフォームがこれらの脅威に先んじてビジネスを維持するのにどのように役立つかをご紹介します:

  • 攻撃の自動緩和: Fastly は、手動による介入を必要とせずに DDoS 攻撃を自動的に特定して無力化するために、プロアクティブな手法を使用します。脅威には直ちに対処されるため、中断を最小限に抑えられます。

  • レジリエンスの向上:Fastlyのソリューションにより、アプリケーションとAPIは、大規模な攻撃中でも一貫したパフォーマンスと可用性を維持します。このレジリエンスにより、正規のトラフィックに対して迅速なカスタマーエクスペリエンスが確保されます。

  • 動的検出と適応型識別: Fastlyは高度な分析を使用して受信トラフィックを継続的に監視し、異常な攻撃パターンを即座に検出します。適応型識別により、このソリューションは進化する脅威に対しても有効性を維持できます。

  • 攻撃手数料はゼロ: Fastly は、多くのプロバイダーとは異なり、攻撃トラフィックに対して課金しません。正当なリクエストに対してのみ料金が発生するため、運用コストの予測可能性を維持し、長時間にわたる攻撃の際の財務的負担を軽減できます。

  • 統合されたNext-Gen WAF: Fastly's Next-Gen WAF は、悪意のある Web リクエストを識別してブロックすることで、DDoS Protection を補完します。

  • ほぼ瞬時の緩和: プラットフォームは、脅威を数秒で緩和することで、エンドユーザーに対する攻撃の影響を軽減します。

  • 柔軟なデプロイ:Fastly は、高速でアップグレード可能な防御機能により、あらゆる規模のアプリケーションを保護します。

Fastlyがアプリケーション、API、マイクロサービスを保護し、進化する脅威に対してビジネスの安全性とレジリエンスを維持する方法をご覧ください。

Fastly を試してみませんか?

ぜひご連絡ください