分散型サービス拒否 (DDoS) 攻撃は、活動家、犯罪者、ゲーマー、さらには政府による妨害行為の形態として、ますます一般的になっています。 サービスプロバイダーが 5G インフラストラクチャを実装し、企業がデジタル変革を進めるにつれて、潜在的な攻撃の規模と標的領域が拡大することが予想されます。 このリスクの増大と、効率的でコスト効率の高いソフトウェア定義アーキテクチャへの組織的な移行の傾向が相まって、クラウド/NFV 環境の DDoS 緩和がこれまで以上に重要になっています。
このホワイト ペーパーでは、DDoS 攻撃のメカニズムに関する情報を紹介し、F5 のソフトウェア DDoS 軽減ソリューションを Intel の FPGA PAC N3000 SmartNIC で強化し、SmartNIC に組み込まれた FPGA にオフロードすることで、最大 300 倍の規模の DDoS 攻撃を軽減する方法について説明します。
デジタルに依存し相互接続されたこの世界では、サイバー攻撃は企業、サービスプロバイダー、政府機関に重大な悪影響を及ぼす可能性があります。 報道機関はハッカーが機密情報を盗み、それを脅迫やゆすりに利用することに焦点を当てていますが、多くの悪意ある行為者は単に金銭的な損害を与えることだけを意図しています。[1] サービス拒否攻撃 (DoS) では、攻撃者はインターネットに接続されたサービス (Web サイトやメール サーバーなど) を標的とし、そのサービスをクラッシュさせたり、応答しなくしたりします。 DoS 攻撃は、サーバー ソフトウェアの誤動作を引き起こす特別に細工されたリクエストによって発生する可能性があります。
近年、コーディング手法や回帰手法の改善により、単純な DoS 攻撃の効果は低下しています。 その結果、分散型サービス拒否 (DDoS) 攻撃がより一般的になり、サービス プロバイダーが 5G インフラストラクチャとエッジ コンピューティングを実装するにつれて、この傾向は続くと予想されます。 DDoS 攻撃は多くの場合、悪意のある個人によって組織化され、侵害されたネットワーク化されたコンピュータ デバイスの調整されたボットネット全体に分散されます。 これらのデバイスは、攻撃トラフィックを被害者のデバイスまたはサービスに送信するように命令される可能性があります。[1] ほとんどの処理スループット基準では、侵害された単一のデバイスの影響は最小限ですが、大規模なボットネットからの数千または数万のデバイスによる協調攻撃は、多くのサービス プロバイダーが対応できないスループット レベルに達する可能性があります。
オンラインでの存在感に依存している企業にとって、サービス品質の低下やダウンタイムは収益に悪影響を及ぼします。 電子商取引は特に中断の影響を受けやすく、サービス停止により 1 分あたり数千ドルから数百万ドルの損害が発生する可能性があります。 停止を引き起こさない攻撃でもパフォーマンスが低下する可能性があり、不満を持った顧客が別の e コマース プロバイダーに移ると、実際の収益損失につながります。[2]
消費者のインターネット接続速度の向上とクラウド上のデバイスの普及により、DDoS 攻撃の可能性が高まります。 接続されたデバイスは特別な懸念事項であり、オンライン サービスの安全性と信頼性を維持するには、それらのセキュリティを維持することが不可欠です。 こうした攻撃の可能性が高まるとともに、多くの組織ではソフトウェア中心のアーキテクチャを採用するにつれて DDoS 攻撃のリスクが増大します。 DDoS に対するソフトウェアベースの保護のほとんどは、大規模な攻撃を防御するために必要な容量とパフォーマンスが不足しています。 幸いなことに、最新世代のネットワーク インターフェイス カードである SmartNIC は、ネットワーク機能とセキュリティ機能をソフトウェア ソリューションからオフロードし、利用可能な CPU への負荷を軽減することで、この状況を変えることができる可能性があります。
このレポートでは、実際の攻撃シナリオの証拠を使用して、いくつかの攻撃メカニズムを定義した後、F5 のソフトウェア DDoS 軽減ソリューションである F5® BIG IP® Advanced Firewall Manager™、Virtual Edition (BIG-IP AFM VE) を Intel の PAC 3000 SmartNIC で強化する方法を示します。この組み合わせソリューション (BIG-IP Virtual Edition for SmartNICs ソリューション) が、同等のソフトウェアのみのソリューションよりも最大 300 倍の規模の DDoS 攻撃を軽減できることを示します。
ステートレス攻撃はステートフル プロトコルに対して使用できますが、攻撃者が悪意のある接続の状態を追跡する必要はありません。 これらは、最小限のリソースしか必要とせず、送信元 IP アドレスのスプーフィングで機能するため、人気があります。 最も一般的に使用される典型的な攻撃形式は、ステートフル接続を開くためのサーバーへの偽のリクエストから始まりますが、攻撃元のクライアント (多くの場合、ボットネット ノード) はこれを決して認識しません。[1] TCP SYN フラッド攻撃は具体的な例の 1 つです。 TCP 接続のセットアップ中に、クライアントが SYN パケットを送信すると 3 ウェイ ハンドシェイクが開始されます。 サーバーはクライアントから SYN パケットを受信すると、タプル、シーケンス番号、およびセッションの状態を保持する TCP ソケット データ構造にメモリをすぐに割り当てます。 その後、サーバーは SYN-ACK パケットでクライアントに応答します。
図1 – TCP 3ウェイハンドシェイクの完了
通常の状況では、パケット損失や通信速度の低下により、SYN-ACK パケットが遅延したり、完全に失われたりする可能性があります。 サーバーは、リセットを送信して他のタスクのためにメモリを解放する前に、ソケットを半開きの状態で保持する時間を決定する必要があります。[3] 一般的な DDoS 手法は、大量の SYN パケットを生成して、被害者のサーバーを騙して TCP ソケットとメモリを何千もの偽のセッションに割り当てさせるというものです。 1 秒あたり数千の SYN パケットの攻撃率により、Web サーバーのメモリがすぐにすべて消費されます。 この例では、悪意のある攻撃者が有利です。攻撃者は、どのセッションも使用されないことを知っているので、セッションを追跡するためにメモリを予約する必要はありません。 これにより、攻撃者はすべてのシステム リソースを追加の偽の SYN パケットの送信に充てることができます。
図2 – 偽装された送信元IPアドレスを使用したSYNフラッド
増幅攻撃と呼ばれるステートレス攻撃の別のカテゴリには、DNS フラッドと NTP フラッドが含まれます。 どちらも、攻撃ベクトルの一部としてアドレスのなりすましを使用します。 増幅攻撃は、サーバーからの応答が元のリクエストよりも桁違いに大きくなる可能性があるため、特に大きな損害をもたらします。
図3 – リフレクションDNS DDoS攻撃図
2018年、開発者の間で人気のコード管理サービスであるGitHubが、史上最大のDDoS攻撃に遭遇した。 攻撃のピーク時には、サービスへの着信トラフィックは 1.3 テラバイト/秒 (Tbps) に達しました。 これは、一般的なデータベース キャッシュ システムである Memcached を使用した増幅効果を活用した memcached DDoS 攻撃でした。 攻撃中、攻撃者は偽装したリクエストを Memcached サーバーに大量に送信し、攻撃を 50,000 倍に増幅することができました。[6]
図4 – ボットネットによるDNS増幅攻撃
ステートレス攻撃は一般的なタイプの DDoS 脅威ですが、その単純さから簡単に発見でき、防止または軽減できます。
ステートフル DDoS 攻撃は成功率が高く、防止が困難です。 ステートフル攻撃は、被害者とのハンドシェイクを完了し、それ以外は正当なユーザーとして動作します。 このカテゴリの攻撃ベクトルは、古い DDoS 防止メカニズムを欺くことができ、攻撃マシンにさらに多くの計算能力とメモリを必要とします。 攻撃を成功させる鍵は、正当なリクエストのように動作することです。 これらの攻撃を軽減するための課題は、実際のユーザー要求を悪意のある要求から分離するための適切な分類にあります。
ステートフル攻撃の簡単な例としては、多数の攻撃者 (ボットネットなど) を使用して正当なユーザーの行動をエミュレートし、十分な量のトラフィックを作成することが挙げられます。 これらのボリューム型攻撃は、被害者がすべてのリクエストを消費または処理できない場合、またはサービスのインターネット接続が容量いっぱいになった場合に成功します。 トラフィックは正当なユーザーの動作をエミュレートするように作成されているため、悪意のあるトラフィックを検出して正当なトラフィックと区別することは非常に困難です。 何らかのハンドシェイク メカニズム (チャレンジ レスポンス、秘密のエンコード、Cookie 交換など) を伴うサービスの場合、有効なレスポンスを簡単に生成できる弱点がレスポンス スキームに見つからない限り、ボリューム攻撃が被害者を攻撃する唯一の方法となる可能性があります。[7]
高度なステートフル攻撃の 1 つのカテゴリは、特定のアプリケーション レベルのサービスを対象とします。 HTTP プロトコルを攻撃する一例は、「Slowloris」として知られています。 この攻撃は、悪意のある攻撃者が Web サーバーに複数の部分的な HTTP「GET」リクエストを送信し、利用可能な同時接続の最大数を飽和させることから始まります。 この攻撃が機能するのは、クライアントがリクエスト コマンドを送信している間、HTTP プロトコルが接続を開いたままにするためです。リクエスト コマンド自体は複数のパケットに分割される可能性があります。 悪意のあるクライアントは、リクエストを終了することなく、最大数分間のアイドル時間を挟んで、定期的に部分的な HTTP リクエストをサーバーに送信します。
図5 – 遅いHTTP POSTを利用したRUDY攻撃
Slowloris に似た手法に、「Are You Dead Yet」または「RUDY」攻撃があります。これは、HTTP「POST」コマンドを使用して、何も知らない Web サーバーにデータ応答をゆっくりと送信するものです。[8] どちらの方法も実行に必要なリソースは最小限で、多くの Web サーバーでは HTTP 接続を開いたままにするデフォルトのタイムアウトは 5 分であるため、必要な帯域幅も最小限です。[1]
フラグメント フラッド攻撃も効果的なステートフル攻撃になる可能性があります。 この手法は、単一の宛先をターゲットとする多数の送信元ポートとアドレスと調整できます。 攻撃を受けているエンドポイントは、各フラグメント パケットを再構成しようとするときに、各フラグメント パケットの状態を保存します。 それぞれの固有の送信元ポートとアドレスの組み合わせには、攻撃を受けているシステムによる別の断片化バッファの割り当てが必要になります。 さまざまな悪意のあるシステムが断片化されたパケットを送信する能力は、断片化されたすべてのトランザクションの状態を維持しようとするときに、攻撃を受けているシステムのリソースを上回る可能性があります。
ステートフル攻撃は被害者への有効な応答を生成することに依存しているため、通常、攻撃者の送信元アドレスを偽装することはできません。 このルールの例外は、攻撃者が正当なトラフィックが通過するルーターまたはネットワーク メディアを侵害できる場合です。 この場合、攻撃者は送信元アドレスを偽装し、被害者からの応答をスニッフィングして有効なステートフル応答を生成し、基本的に接続の状態を追跡することができます。[7]
さまざまな種類の DDoS 攻撃を軽減する F5 ソリューションの有効性を評価するために、IXIA テスト システムを使用してテスト環境が構成されました。 IXIA XT80 は良好な「正当な」クライアント トラフィックとサーバー応答を生成し、IXIA XGS12 は不正なクライアント攻撃トラフィックを生成しました。 このテストは、攻撃トラフィックを増加させながら正当なクライアント サーバー トラフィックの安定したベースラインを確立し、攻撃トラフィックが正当なトラフィックの正常な配信を妨害し始めるレベルを特定するように構成されました。 これにより、再現可能な特性評価と緩和効果の比較が可能になりました。 各テストでは、確立されたベースラインから正当なトラフィックが 10% 減少した時点で、DDoS 攻撃がシステムに影響を与えたと判断されました。
正当なトラフィック ベースラインは、BIG-IP VE システム (BIG-IP AFM モジュールがプロビジョニングされた 8vCPU の高性能 VE) の容量の 20% に設定されています。 このシステムは 40 Gbps のトランザクションが可能なため、正当なトラフィックのベースラインは 8 Gbps に維持されました。
BIG-IP AFM VE は、さまざまな分類のトラフィック (UDP、フラグメント、TCP SYN など) に対して許容しきい値を設定することで、DDoS 攻撃を軽減します。 特定のトラフィック タイプのしきい値を超えると、その分類に一致するすべてのトラフィックをドロップするようにシステムを設定できます。 これにより、そのタイプのトラフィックの処理に関連する追加のコストがシステムから軽減されます。 ソフトウェアベースの DDoS ソリューションは、保護されていないシステムに比べてある程度の利点がありますが、ソフトウェアがライン レートでパケットを処理する能力には制限があるため、ソフトウェアによる緩和策では DDoS 攻撃の影響を完全に防ぐことはできません。
テストの次のステップは、ソフトウェア ソリューションのみを導入して正当なトラフィックを中断し始めるために必要な DDoS トラフィックのレートを確立することでした。 これは、ソフトウェアのみのソリューションと BIG-IP VE for SmartNICs ソリューションのパフォーマンスを比較できるようにするために行われました。 BIG-IP AFM テストのアーキテクチャ システム構成を図 6 に示します。
図6 – BIG-IP AFM VE(ソフトウェアのみ)テストのアーキテクチャシステム構成
より包括的な分析を可能にするために、3 つの異なる DDoS 攻撃タイプについて BIG-IP AFM VE の DDoS 緩和パフォーマンス データが収集されました。 このシミュレーションの攻撃タイプは次のとおりです。
図 7 は、BIG-IP AFM VE (ソフトウェアのみ) を使用する場合に、これらの各攻撃タイプが正常なトラフィックに影響を与えるために必要なトラフィック量 (Gbps) を示しています。
図 7 – BIG-IP AFM VE (ソフトウェアのみ) を使用して正常なトラフィックに影響を与えるために必要な DDoS レート
すべての DDoS 攻撃が同じように行われるわけではありません。 一部の攻撃は他の攻撃よりもシステム全体に広く分散しており、一部の攻撃は識別される前により多くのパケット検査と解析を必要とします。 これにより、上のグラフに示すように、DDoS 攻撃の有効性が変わります。 これら 3 つのシミュレートされた攻撃方法は、ソフトウェアのみのソリューションを使用する場合、比較的低いスループットで正当なトラフィックが DDoS 攻撃の影響を受ける可能性があることを示しています。
BIG-IP VE for SmartNICs ソリューションは、Intel FPGA PAC N3000 SmartNIC と統合された 8vCPU 高性能 AFM VE (ソフトウェアのみのテストで使用されたものと同じ) で構成されています。これにより、DDoS 保護を SmartNIC にオフロードできます。この SmartNIC に組み込まれた FPGA は、100 種類を超える既知の DDoS 攻撃を自動的に検出してブロックするようにプログラムされており、さらに動作分析を使用して未知の進化する脅威を軽減します。
入力トラフィック内のすべてのプログラムされたトラフィック プロファイルのパケット受信レートを監視し、許容可能な構成済みしきい値と比較することにより、FPGA はしきい値を超えたかどうかを判断できます。 このような状況が発生すると、FPGA は適切なポリシーを適用して、設定された最大値を超えるトラフィックをドロップします。 これにより、CPU サブシステムが、DDoS 軽減ポリシーによって最終的にドロップされるパケット トラフィックの処理から保護されます。 FPGA はライン レートでパケット トラフィックを分類できるため (CPU サブシステムとは異なります)、SmartNIC 対応ソリューションはソフトウェアのみのソリューションに比べて大きな利点があります。
このデモンストレーションの次のステップでは、SmartNIC 対応ソリューションがテスト環境内で同じ 3 つの DDoS 攻撃にさらされました。 これまでと同様に、目的は、正当なトラフィックのストリームに影響を与えるために必要な DDoS トラフィックのレートを特定することでした。 図 8 は、BIG-IP VE for SmartNICs テストのアーキテクチャ システム構成を示しています。
図8 - BIG-IP VE for SmartNICsテストのアーキテクチャシステム構成
このテストの結果を図 9 に示します。
図9 – BIG-IP VE for SmartNICsソリューションを使用して正常なトラフィックに影響を与えるために必要なDDoSレート
F5 のソフトウェアのみの DDoS ソリューション (BIG-IP AFM VE) は、正当なトラフィックが悪影響を受ける前に小規模な攻撃に対してある程度の保護を提供できるものの、大規模な攻撃による悪影響を防ぐことはできないことが確認されました。 BIG-IP AFM VE を Intel の FPGA PAC N3000 SmartNIC と統合して BIG-IP VE for SmartNICs ソリューションを形成することで、パフォーマンスが大幅に向上しました。 DDoS 脅威を軽減する責任を BIG-IP AFM VE から SmartNIC 内の FPGA にオフロードすることで、この統合ソリューションは、30Gbps 以上の攻撃を含む、規模が 41 ~ 381 倍の攻撃に耐えることができました。 このソリューションは、クラウド ファーストが必須の組織やサービス プロバイダーにとって、クラウド環境の柔軟性と俊敏性を提供しながら、専用ハードウェアによる高性能な保護を実現します。 さらに、FPGA は再プログラム可能なので、脅威の進化に応じて他のネットワーク機能やセキュリティ機能を拡張することも可能です。
1 G. D. Hakem Beitollahi、「分散型サービス拒否攻撃に対するよく知られた対策の分析」、Computer Communications、2012 年。
2 HW Chuan Yue、「電子商取引 Web サイトにおける利益を考慮した過負荷保護」 、Journal of Network and Computer Applications、 vol. 32、p. 347–356、2009 年。
3 AM Christos Douligeris、「DDoS 攻撃と防御メカニズム: 分類と最新技術」、 Computer Networks、第 44 巻、第 5 号、643-666 ページ、2004 年。
4 GD Hakem Beitollahi、「分散型サービス拒否攻撃に対するよく知られた対策の分析」、Computer Communications、vol. 35、no. 11、pp. 1312-1332、2012 年。
5 M. Prince、「DNS 増幅 DDoS 攻撃の奥深く」、CloudFlare、2012 年 10 月 30 日。[オンライン] 参照先: https://blog.cloudflare.com/deep-inside-a-dns-amplification-ddos-attack/ [2015 年 11 月 1 日アクセス]
6 US-CERT、「UDP ベースの増幅攻撃」、2015 年 8 月 19 日。[オンライン] 入手先: https://www.us-cert.gov/ncas/alerts/TA14-017A 。
7 YTWD Shigang Chen、「ステートフル DDoS 攻撃とターゲット フィルタリング」、Journal of Network and Computer Applications、vol. 30、no. 3、pp. 823-840、2007 年。
8 https://www.incapsula.com/ddos/attack-glossary/rudy-ru-dead-yet.html、「RUDY 「(RU-Dead-Yet?)」[オンライン]。 参照先: https://www.incapsula.com/ddos/attack-glossary/rudy-ru-dead-yet.html [2015 年 12 月 9 日アクセス]