分散型サービス拒否(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対策では、大規模な攻撃から防御するには容量とパフォーマンスが不足しています。幸い、新世代のネットワーク インターフェース カードである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フラッド攻撃があります。TCP接続のセットアップ中、3-wayハンドシェイクは、クライアントがSYNパケットを送信することから始まります。サーバーはクライアントからSYNパケットを受信すると、タプル、シーケンス番号、およびセッションの状態を保持するTCPソケット データ構造にメモリを直ちに割り当てます。次に、サーバーは、SYN-ACKパケットでクライアントに応答します。
図1:完全なTCP 3-wayハンドシェイク
通常の状況では、パケット ロスや通信速度の低下により、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サーバーを氾濫させ、攻撃を5万倍に増幅させました。[6]
図4:ボットネットによる組織的なDNSアンプ攻撃
ステートレス攻撃は一般的なDDoS脅威の1つですが、そのシンプルさゆえに、検出しやすく、予防や緩和が容易です。
ステートフルDDoS攻撃は、より成功しやすく、阻止するのが困難です。ステートフル攻撃は、攻撃対象とのハンドシェイクを完了し、それ以外の場合は正当なユーザーとして振る舞います。このような攻撃ベクトルは、従来のDDoS防御メカニズムを欺くことが可能で、攻撃側のマシンに高い計算能力と多くのメモリを必要とします。攻撃が成功する鍵は、正当な要求のように振る舞うことにあります。これらの攻撃を緩和する上での課題は、実際のユーザー要求を悪意のある要求から分離するための適切な分類にあります。
ステートフル攻撃の簡単な例として、正当なユーザーの振る舞いを模倣し、多数の攻撃者(ボットネットなど)を使用して十分な量のトラフィックを生成することが挙げられます。このようなボリューム型攻撃が成功すると、攻撃対象はすべての要求を消費し、処理することができなくなったり、サービスのインターネット接続が飽和状態になったりします。トラフィックは正当なユーザーの振る舞いを模倣するように作成されているため、悪意のあるトラフィックを検出して正当なトラフィックと区別することは非常に困難です。ある種のハンドシェイク メカニズム(チャレンジ レスポンス、シークレットのエンコーディング、Cookie交換など)が関係するサービスの場合、通常の有効な応答を生成する応答スキームに弱点が見つからない限り、攻撃対象を悪用するにはボリューム型攻撃が唯一の方法となるでしょう。[7]
高度なステートフル攻撃のあるカテゴリは、特定のアプリケーションレベルのサービスを標的とします。HTTPプロトコルを攻撃する例としては、「Slowloris」が知られています。この攻撃は、攻撃者が複数の部分的なHTTP「GET」要求をWebサーバーに送信して、利用可能な最大同時接続を飽和させることから始まります。この攻撃は、クライアントが要求コマンドを送信している間、HTTPプロトコルが接続を開いたままにしておくことを利用していますが、要求コマンド自体は複数のパケットに分割できます。悪意のあるクライアントは、要求を終了させることなく、部分的なHTTP要求を定期的に(最大数分間のアイドル時間で)サーバーに送信します。
図5:Slow HTTP POSTを利用したRUDY攻撃
Slowlorisと同様の手法に「Are You Dead Yet」攻撃や「RUDY」攻撃があります。これらはHTTP「POST」コマンドを利用して、疑いを持っていないWebサーバーにデータ応答を低速で送信します。[8]どちらの手法も、実行に必要なリソースは最小限であり、HTTP接続を開いたままにするためのデフォルトのタイムアウトは、多くのWebサーバーで5分であるため、必要な帯域幅も最小限に抑えられます。[1]
フラグメント フラッド攻撃も、効果的なステートフル攻撃となり得ます。この手法は、多くの送信元ポートとアドレスに合わせることで単一の宛先を標的とすることができます。攻撃を受けているエンドポイントは、各フラグメント パケットを再構築しようとするときに、すべてのフラグメント パケットの状態を保存します。一意の送信元ポートとアドレスの組み合わせごとに、攻撃対象のシステムが別のフラグメント バッファを割り当てることになります。攻撃対象のシステムは断片化されたすべてのトランザクションの状態を維持しようとするため、断片化されたパケットを送信するさまざまな悪意のあるシステムの能力が、攻撃対象のシステムのリソースを超える可能性があります。
ステートフル攻撃は攻撃対象への有効な応答の生成を利用しているため、通常、攻撃者の送信元アドレスをスプーフィングすることはできません。このルールの例外は、攻撃者が正当なトラフィックが通過するルーターやネットワーク メディアを侵害する場合です。この場合、攻撃者は攻撃対象からの応答をスニッフィングし、特にその後、接続の状態を追跡するときに、送信元アドレスをスプーフィングし、有効なステートフル応答を生成できます。[7]
さまざまなタイプのDDoS攻撃を緩和する上でのF5ソリューションの有効性を特性評価するために、IXIAテスト システムを使用してテスト環境を構成しました。IXIA XT80は、正常で「正当な」クライアント トラフィックとサーバー応答を送信し、IXIA XGS12は不正なクライアント攻撃トラフィックを生成しました。このテストは、攻撃トラフィックが正当なトラフィックの正常な配信を妨害し始めるレベルを特定するために攻撃トラフィックを増加させながら、正当なクライアントとサーバー間のトラフィックの安定したベースラインを確立するように構成されています。これにより、再現性のある特性評価と緩和の有効性の比較が可能となりました。各テストでは、正当なトラフィックが確立されたベースラインから10%低下したことを確認した時点で、DDoS攻撃がシステムに影響を与えたと判断しました。
正当なトラフィックのベースラインは、BIG-IP AFMモジュールがプロビジョニングされた8vCPU高性能VEであるBIG-IP 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ソリューションは、8vCPU高性能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テストのアーキテクチャ システム構成を示しています。
図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にオフロードすることで、この共同ソリューションは、30 Gbps以上のレートの攻撃を含む、41~381倍の規模の攻撃に耐えることができました。このソリューションは、クラウドを最優先する組織やサービス プロバイダに、クラウド環境の柔軟性と俊敏性を提供しながら、専用ハードウェアの高性能な保護対策を提供します。さらに、FPGAは再プログラムできるため、脅威の進化に応じて他のネットワーク機能やセキュリティ機能を強化することができます。
1 G. D. Hakem Beitollahi、『Analyzing well-known countermeasures against distributed denial of service attacks』、Computer Communications、2012年。
2 H. W. Chuan Yue、『Profit-aware overload protection in E-commerce Web sites』、Journal of Network and Computer Applications、vol. 32、p. 347~356、2009年。
3 A. M. Christos Douligeris、『DDoS attacks and defense mechanisms: classification and state-of-the-art』、Computer Networks、vol. 44、no. 5、pp. 643~666、2004年。
4 G. D. Hakem Beitollahi、『Analyzing well-known countermeasures against distributed denial of service attacks』、Computer Communications、vol. 35、no. 11、pp. 1312~1332、2012年。
5 M. Prince、『Deep Inside a DNS Amplification DDoS Attack』、CloudFlare、2012年10月30日、[オンライン]。詳細:https://blog.cloudflare.com/deep-inside-a-dns-amplification-ddos-attack/、[2015年11月1日閲覧]。
6 US-CERT、『UDP-Based Amplification Attacks』、2015年8月19日、[オンライン]。詳細:https://www.us-cert.gov/ncas/alerts/TA14-017A.
7 Y. T. W. D. Shigang Chen、『Stateful DDoS attacks and targeted filtering』、Journal of Network and Computer Applications、vol. 30、no. 3、pp. 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日閲覧]。