BIG-IP VE for SmartNICsによるクラウド/NFV環境向けの強化されたDDoS防御
エグゼクティブサマリー:
分散型サービス拒否(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コマースはサービス中断の影響を受けやすく、サービス停止による損失は1分当たり数千ドルから数百万ドルに上る可能性があります。サービス停止に至らない攻撃でもパフォーマンスが低下し、不満を感じた顧客が別のEコマース事業者に移れば、実際の収益損失につながる可能性があります。2
消費者向けインターネット接続の高速化と、クラウド上のデバイスの普及拡大により、DDoS攻撃が発生する可能性が高まっています。特に懸念されるのが接続デバイスです。オンラインサービスの安全性と信頼性を維持するには、こうしたデバイスのセキュリティを確保することが不可欠です。このような攻撃の可能性が高まる一方で、ソフトウェア中心のアーキテクチャへ移行する多くの組織では、DDoS攻撃のリスクも増大しています。ソフトウェアベースのDDoS対策の多くは、大規模攻撃の防御に必要な処理能力とパフォーマンスが不足しています。しかし、最新世代のネットワークインターフェースカードであるSmartNICsなら、ネットワーク機能とセキュリティ機能をソフトウェアソリューションからオフロードし、利用可能な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] (https://www.f5.com/resources/white-papers/augmented-ddos-protection-for-cloudnfv-environments-with-big-ip-ve-for-smartnics#footnote01)TCP SYNフラッド攻撃は、その具体例の1つです。TCP接続の確立時には、クライアントがSYNパケットを送信することで3ウェイハンドシェイクが始まります。サーバーはクライアントからSYNパケットを受信すると、セッションのタプル、シーケンス番号、状態を保持するTCPソケットのデータ構造用に、直ちにメモリを割り当てます。その後、SYN-ACKパケットをクライアントに返します。
通常の状況でも、パケット損失や通信遅延により、SYN-ACKパケットが遅延したり、完全に失われたりする可能性があります。サーバーは、リセットを送信して他のタスク用にメモリを解放するまで、ソケットをハーフオープン状態で保持する時間を決定する必要があります。3 一般的なDDoS手法の1つは、大量のSYNパケットを送り付け、標的のサーバーに数千もの偽セッション用のTCPソケットとメモリを割り当てさせるものです。毎秒数千個のSYNパケットによる攻撃を受けると、Webサーバーは短時間ですべてのメモリを消費します。この例では、悪意のある攻撃者が有利です。攻撃者は、どのセッションも使用されないことを把握しているため、これらのセッションを追跡するためのメモリを確保する必要がありません。そのため、すべてのシステムリソースを、さらに多くの偽SYNパケットの送信に充てることができます。
ステートレスプロトコルは、送信元アドレスを詐称しても正常に機能するため、容易に悪用できます。4 ステートレスプロトコルではハンドシェイクが不要なため、細工したパケットを1つサーバーに送信するだけで即座に応答が返されます。攻撃者側のデバイスでは最小限のリソースしか消費せず、攻撃者の身元も隠蔽できます。5 被害者からのデータ応答パケットは、別の被害者のアドレスである可能性もある詐称IPアドレスに転送されます。これらのパケットが大量に送信されると、インターネット接続やサーバーの速度低下または停止を引き起こし、攻撃の効果を高める可能性があります。
増幅攻撃
ステートレス攻撃の別のカテゴリである増幅攻撃には、DNSフラッドやNTPフラッドがあります。いずれも攻撃ベクトルの一部としてアドレススプーフィングを使用します。増幅攻撃は、サーバーからの応答が元のリクエストより1桁大きくなる可能性があるため、特に大きな被害をもたらします。
2018年、開発者に広く利用されている人気のコード管理サービスGitHubが、当時としては過去最大規模のDDoS攻撃を受けました。攻撃のピーク時には、同サービスへの受信トラフィックが毎秒1.3テラバイト(Tbps)に達しました。これは、広く利用されているデータベースキャッシュシステムMemcachedの増幅効果を悪用したmemcached DDoS攻撃でした。攻撃者は、送信元を偽装したリクエストをMemcachedサーバーに大量に送り付け、攻撃を50,000倍に増幅しました。6
ステートレス攻撃は一般的なDDoS脅威の一種ですが、仕組みが単純なため、容易に検知し、防止または軽減できます。
ステートフル攻撃
ステートフルDDoS攻撃は成功率が高く、防止が困難です。ステートフル攻撃は標的とのハンドシェイクを完了し、それ以外の点でも正規ユーザーのように振る舞います。この種の攻撃ベクトルは、従来のDDoS防御メカニズムを欺く可能性があり、攻撃側のマシンにはより多くの処理能力とメモリが必要です。攻撃を成功させる鍵は、正規のリクエストのように振る舞うことです。こうした攻撃を緩和するうえでの課題は、実際のユーザーからのリクエストと悪意のあるリクエストを適切に分類して区別することにあります。
ステートフル攻撃の単純な例として、多数の攻撃元(ボットネットなど)を使用して正規ユーザーの動作を模倣し、十分に大量のトラフィックを生成する手法があります。このようなボリューム型攻撃は、被害側がすべてのリクエストを受信または処理できない場合や、サービスのインターネット接続が飽和した場合に成功します。トラフィックが正規ユーザーの動作を模倣するように作られているため、悪意のあるトラフィックを検出し、正規のトラフィックと区別することははるかに困難です。何らかのハンドシェイクメカニズム(チャレンジレスポンス、秘密情報のエンコード、Cookieの交換など)を使用するサービスでは、有効なレスポンスを容易に生成できる応答方式の脆弱性が見つからない限り、ボリューム型攻撃が被害側を攻撃する唯一の方法となる可能性があります。7
高度なステートフル攻撃の一種は、特定のアプリケーションレベルのサービスを標的とします。HTTPプロトコルを攻撃する例として、「Slowloris」があります。この攻撃では、悪意のある攻撃者が複数の不完全なHTTP「GET」リクエストをWebサーバーに送信し、同時接続数を上限まで占有します。HTTPプロトコルでは、クライアントがリクエストコマンドを送信している間、接続が維持されます。また、このコマンド自体を複数のパケットに分割できるため、攻撃が成立します。悪意のあるクライアントは、リクエストを完了させることなく、最大で数分間の間隔を空けながら、不完全なHTTPリクエストをサーバーに定期的に送信します。
Slowlorisと類似した手法に、「Are You Dead Yet」、通称「RUDY」攻撃があります。これはHTTPの「POST」コマンドを利用し、攻撃対象のWebサーバーにデータを低速で送信します。8 どちらの手法も、実行に必要なリソースはごくわずかです。また、多くのWebサーバーではHTTP接続を開いたまま保持するデフォルトのタイムアウトが5分に設定されているため、必要な帯域幅もごくわずかです。[1] (https://www.f5.com/resources/white-papers/augmented-ddos-protection-for-cloudnfv-environments-with-big-ip-ve-for-smartnics#footnote01)
フラグメントフラッド攻撃も、効果的なステートフル攻撃となる可能性があります。この手法では、多数の送信元ポートと送信元アドレスを連携させ、単一の宛先を標的にできます。攻撃を受けたエンドポイントは、各フラグメントパケットを再構成しようとする際に、パケットごとの状態を保持します。送信元ポートと送信元アドレスの組み合わせが異なるたびに、攻撃対象のシステムは別のフラグメンテーションバッファを割り当てる必要があります。複数の悪意あるシステムがフラグメント化されたパケットを送信すると、攻撃対象のシステムがすべてのフラグメント化されたトランザクションの状態を維持しようとする中で、そのリソースを上回る可能性があります。
ステートフル攻撃では、攻撃対象に対して有効な応答を生成する必要があるため、通常、攻撃者の送信元アドレスを偽装することはできません。ただし、正規のトラフィックが通過するルーターやネットワーク媒体を攻撃者が侵害できる場合は例外です。この場合、攻撃者は攻撃対象からの応答を傍受し、それに追随して接続状態を追跡することで、送信元アドレスを偽装しながら有効なステートフル応答を生成できます。7
DDoS攻撃テスト
さまざまな種類のDDoS攻撃に対するF5ソリューションの緩和効果を評価するため、IXIAテストシステムを使用してテスト環境を構成しました。IXIA XT80から正常な「正規」クライアントトラフィックとサーバー応答を送信し、IXIA XGS12から不正なクライアント攻撃トラフィックを生成しました。このテストでは、正規のクライアント・サーバー間トラフィックについて安定したベースラインを確立したうえで、攻撃トラフィックを徐々に増加させ、正規トラフィックの正常な配信に影響が生じ始めるレベルを特定しました。これにより、緩和効果を再現可能な形で評価し、比較できるようになりました。各テストでは、確立したベースラインから正規トラフィックが10%低下した時点で、DDoS攻撃がシステムに影響を及ぼしたと判定しました。
テスト環境
正規トラフィックのベースラインは、BIG-IP AFMモジュールをプロビジョニングした8 vCPU High Performance VEであるBIG-IP VEシステムの処理能力の20%に設定しました。このシステムは40 Gbpsのトランザクションを処理できるため、正規トラフィックのベースラインを8 Gbpsに維持しました。
BIG-IP AFM VEを使用したソフトウェアによる緩和
BIG-IP AFM VEは、さまざまなトラフィック分類(UDP、フラグメント、TCP SYNなど)に許容しきい値を設定することで、DDoS攻撃を緩和します。特定のトラフィックタイプがしきい値を超えた場合、その分類に該当するすべてのトラフィックをドロップするようにシステムを設定できます。これにより、そのタイプのトラフィックを処理するための追加のシステム負荷を軽減できます。ソフトウェアベースのDDoS対策は、保護されていないシステムと比べて一定の効果が期待できますが、ソフトウェアによるラインレートでのパケット処理能力には限界があるため、DDoS攻撃の影響を完全に防ぐことはできません。
テストの次のステップでは、ソフトウェアソリューションのみを導入した環境で、正規のトラフィックに影響が生じ始めるDDoSトラフィックのレートを特定しました。これは、ソフトウェアのみのソリューションとBIG-IP VE for SmartNICsソリューションのパフォーマンスを比較するためです。BIG-IP AFMテストのシステムアーキテクチャ構成を図6に示します。
より包括的な分析を可能にするため、3種類のDDoS攻撃について、BIG-IP AFM VEのDDoS緩和パフォーマンスデータを取得しました。このシミュレーションで使用した攻撃タイプは次のとおりです。
- 攻撃タイプ1 – UDPフラッド攻撃: このステートレス型のボリューム攻撃は、標的サーバーに大量のUser Datagram Protocolパケットを送信し、そのサーバーの処理能力と応答能力に影響を与えることを目的として実行されます。
- 攻撃タイプ2 – クリスマスツリー攻撃: この攻撃では、すべてのオプションが「オン」に設定され、あらゆるプロトコルを使用できるため、「クリスマスツリーのように点灯している」ように見えることから名付けられたクリスマスツリーパケットを使用します。これらのパケットは、他のパケットよりもはるかに多くの処理能力を必要とし、大量に送信されると、エンドデバイスの処理能力を急速に消費する可能性があります。
- 攻撃タイプ3 – IPショートフラグメント攻撃: この一般的なボリューム型DDoS攻撃は、データグラムのフラグメンテーション処理を悪用してネットワークを過負荷状態にします。通常、再構成できず、ネットワークの最大伝送単位(MTU)を超える偽装パケットを送信することで、CPUリソースを枯渇させ、サーバーを短時間で過負荷状態にします。
図7は、BIG-IP AFM VE(ソフトウェアのみ)を使用した場合に、各攻撃タイプが正常なトラフィックに影響を与えるために必要なトラフィック量をGbps単位で示しています。
DDoS攻撃は、すべてが同じ特性を持つわけではありません。システム全体により広く分散する攻撃もあれば、特定するまでにより多くのパケット検査と解析を必要とする攻撃もあります。そのため、上のグラフに示すように、DDoS攻撃の有効性には差が生じます。シミュレーションしたこれら3つの攻撃手法から、ソフトウェアのみのソリューションを使用した場合、比較的低いスループットのDDoS攻撃でも正規トラフィックに影響が及ぶ可能性があることが分かります。
SmartNIC向けBIG-IP VEを使用したSmartNIC支援型ミティゲーション
BIG-IP VE for SmartNICsソリューションは、8 vCPUのHigh Performance AFM VE(ソフトウェアのみのテストで使用したものと同一)とIntel FPGA PAC N3000 SmartNICを統合した構成です。これにより、DDoS防御処理をSmartNICにオフロードできます。このSmartNICに組み込まれたFPGAは、100種類を超える既知のDDoS攻撃を自動的に検知してブロックするとともに、行動分析を使用して未知の進化する脅威を緩和するようプログラムされています。
FPGAは、受信トラフィック内のプログラム済みトラフィックプロファイルすべてについてパケット受信レートを監視し、設定された許容しきい値と比較することで、しきい値の超過を判定できます。しきい値を超過すると、FPGAは適切なポリシーを適用し、設定された上限を超えるトラフィックを破棄します。これにより、DDoS緩和ポリシーによって最終的に破棄されるパケットトラフィックをCPUサブシステムが処理せずに済みます。FPGAはCPUサブシステムとは異なり、パケットトラフィックをラインレートで分類できるため、SmartNIC対応ソリューションはソフトウェアのみのソリューションと比べて明確なメリットをもたらします。
このデモンストレーションの次のステップでは、テスト環境内でSmartNIC対応ソリューションに同じ3種類のDDoS攻撃を仕掛けました。前回と同様に、正規トラフィックのストリームに影響を及ぼすために必要なDDoSトラフィックのレートを特定することが目的です。図8に、BIG-IP VE for SmartNICsのテストにおけるシステムアーキテクチャ構成を示します。
このテストの結果を図9に示します。
結論
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にオフロードすることで、この統合ソリューションは、30 Gbps以上の攻撃を含め、規模が41~381倍の攻撃にも耐えることができました。クラウドファーストを重視する組織やサービスプロバイダーにとって、このソリューションは、クラウド環境の柔軟性と俊敏性を提供しながら、専用ハードウェアによる高性能な保護を実現します。さらに、FPGAは再プログラミングが可能なため、脅威の進化に応じて、ほかのネットワーク機能やセキュリティ機能を強化できます。
1 G. D. Hakem Beitollahi、「分散型サービス拒否攻撃に対する既知の対策の分析」、Computer Communications、2012年。
2 H. W. Chuan Yue、「EコマースWebサイトにおける利益を考慮した過負荷保護」、Journal of Network and Computer Applications、第32巻、347~356ページ、2009年。
3 A. M. Christos Douligeris、「DDoS攻撃と防御メカニズム:分類と最新動向」、Computer Networks、第44巻、第5号、643~666ページ、2004年。
4 G. D. Hakem Beitollahi、「分散型サービス拒否攻撃に対する既知の対策の分析」、Computer Communications、第35巻、第11号、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 Y. T. W. D. Shigang Chen、「ステートフルDDoS攻撃と標的型フィルタリング」、Journal of Network and Computer Applications、第30巻、第3号、823~840ページ、2007年。
8 https://www.incapsula.com/ddos/attack-glossary/rudy-r-u-dead-yet.html、「R.U.D.Y.(R-U-Dead-Yet?)」、[オンライン]参照先:https://www.incapsula.com/ddos/attack-glossary/rudy-r-u-dead-yet.html [参照日:2015年12月9日]。
2020年7月27日公開