コンテンツに移動
セキュリティ & アイデンティティ

Google Cloud が過去最大となる 4,600 万 rps のレイヤ 7 DDoS 攻撃をブロックした方法

2022年8月26日
https://storage.googleapis.com/gweb-cloudblog-publish/images/Google_Cloud_security.max-2600x2600.jpg
Google Cloud Japan Team

※この投稿は米国時間 2022 年 8 月 19 日に、Google Cloud blog に投稿されたものの抄訳です。

Google はこの数年間、分散型サービス拒否(DDoS)攻撃の頻度が増え、規模が爆発的に拡大するのを見てきました。現在のインターネットに接続されているワークロードは、常に攻撃のリスクにさらされています。それに伴い、正規ユーザーにとってのパフォーマンスやユーザー エクスペリエンスの低下から、運用コストとホスティング コストの増加、ミッション クリティカルなワークロードの完全停止まで、さまざまな影響を受けています。Google Cloud のお客様は、Cloud Armor を使用することで、グローバルなスケールと容量を誇る Google のネットワーク エッジを活用し、これまでにない大規模な DDoS 攻撃から環境を保護できます。

6 月 1 日、Google Cloud Armor をご利用のお客様が、ピーク時で毎秒 4,600 万リクエストに達する一連の HTTPS DDoS 攻撃の標的になりました。これは、これまでに報告されたレイヤ 7 DDoS の中で最大のもので、過去に報告された記録と比較すると、少なくとも 76% 大きいものでした。この攻撃の規模を説明するなら、Wikipedia(世界でもトップ 10 に入るトラフィックが発生するウェブサイト)への毎日の全リクエストを、わずか 10 秒で受け取るようなものです。

Cloud Armor Adaptive Protection は、攻撃が始まった早い段階でトラフィックを検出し分析しました。Cloud Armor がお客様に警告を発し、推奨される保護ルールを示した結果、攻撃が本格化する前にそのルールがデプロイされました。Cloud Armor は攻撃をブロックし、その結果、お客様のサービスはオンライン状態を維持して、エンドユーザーへのサービス提供を継続できました。
https://storage.googleapis.com/gweb-cloudblog-publish/images/DDoS_Attack_Graphic_-_pretty.max-2200x2200.jpg

図 1: 毎秒 4,600 万リクエストをピークとする DDoS 攻撃のグラフ。

何が起きたのか: 攻撃の分析とタイムライン

2022 年 6 月 1 日午前 9 時 45 分(太平洋標準時間)ごろから、1 秒間に 1 万リクエスト(rps)を超える攻撃が始まり、ターゲットになったのは Google Cloud のお客様の HTTP/S ロードバランサでした。8 分後、攻撃は毎秒 10 万リクエストにまで拡大しました。Cloud Armor Adaptive Protection はこの攻撃を検知し、数十のトラフィックの特性と属性を評価することで、攻撃シグネチャを含むアラートを生成しました。このアラートには、悪意のあるシグネチャをブロックするための推奨ルールが含まれていました。以下は、ピークに達する前の攻撃の詳細を示すアラートです。

https://storage.googleapis.com/gweb-cloudblog-publish/images/CAAP_alert_-_largest_ddos.max-1800x1800.jpg

図 2: 攻撃の一部として検出された上位のリージョン コードを一覧表示した Cloud Armor Adaptive Protection のアラート。

今回攻撃を受けたお客様のネットワーク セキュリティ チームは、Cloud Armor が推奨するルールをセキュリティ ポリシーにデプロイし、すぐに攻撃トラフィックのブロックが開始されました。その後 2 分間で攻撃は激しさを増し、10 万 rps からピーク時には 4,600 万 rps に増加しました。Cloud Armor はすでに攻撃トラフィックをブロックしていたため、攻撃対象のワークロードは正常な動作を続けられました。その後、攻撃は数分かけて規模を縮小し、最終的に 69 分後の午前 10 時 54 分に終了しました。攻撃者は攻撃に多額の費用を必要とする一方、期待するような効果を得られないと判断したものと思われます。

攻撃の分析

この攻撃では、予想外に大量のトラフィックが発生したことに加え、他にも注目すべき特徴がありました。今回の攻撃には、132 か国から 5,256 個の送信元 IP が関与していました。上の図 2 を見ると、上位 4 か国が攻撃トラフィック全体の約 31% を占めていることがわかります。この攻撃は、暗号化されたリクエスト(HTTPS)を利用していて、生成するためには追加のコンピューティング リソースを必要とするものでした。トラフィックを検査し、効果的に攻撃を軽減するためには、暗号化を終端する必要がありましたが、Google は HTTP パイプライン処理を使用することで、比較的少ない TLS handshake で完了できました。  

送信元 IP の約 22%(1,169 個)が Tor の出口ノードに対応していましたが、これらのノードからのリクエスト量は攻撃トラフィックのわずか 3% にすぎませんでした。Google Cloud は、Tor の攻撃への関与は、サービスの脆弱性による偶発的なものだと考えています。しかし、たとえ 3% でもピーク時には 130 万 rps 以上となり、Tor の出口ノードがウェブ上のアプリケーションとサービスに、かなりの量の望ましくないトラフィックを送信する可能性があることが Google Cloud の分析によって明らかになりました。

地理的分布とこの攻撃の生成に使用された安全でないサービスの種類は、Mēris 系統の攻撃と一致しています。DDoS の記録を塗り替える大規模な攻撃で知られる Mēris の手法は、保護されていないプロキシを不正に使用して、攻撃の本当の発信元を隠します。  

Google はどのように攻撃を阻止したのか

この攻撃は Google のネットワークのエッジで阻止され、悪意のあるリクエストはお客様のアプリケーションの上流でブロックされました。今回攻撃を受けたお客様は、事前に関連のある Cloud Armor セキュリティ ポリシーで Adaptive Protection を構成して、自社のサービスに対する正常なトラフィック パターンのベースライン モデルを学習し確立していました。

その結果、Adaptive Protection は DDoS 攻撃が始まった早い段階でその攻撃を検出し、受信トラフィックを分析して、攻撃がピークを迎える前に推奨される保護ルールを含むアラートを生成できました。このお客様は、アラートに基づき Cloud Armor に最近追加されたレート制限機能を活用して推奨ルールをデプロイし、攻撃トラフィックをスロットルしました。Google のネットワーク エッジで攻撃量の大部分を削除することにより、攻撃能力を大幅に制限しながら、正当なトラフィックに影響を与える可能性を減らすために、「拒否」アクションではなく「スロットル」アクションを選択したのです。

ルールを強制適用モードでデプロイする前に、まず、プレビュー モードでデプロイしました。これにより、正規ユーザーが引き続きサービスにアクセスしながら、望ましくないトラフィックのみを拒否できることをお客様に確認していただきました。攻撃が 4,600 万 rps のピークに達したとき、Cloud Armor が提案したルールはすでにデプロイ済みで攻撃の大部分をブロックし、攻撃の対象となったアプリケーションとサービスは引き続き利用できました。

クラウドのアプリケーションを保護する

攻撃の規模は今後も拡大し、戦術も進化し続けることが予想されます。それに備えて Google は、多層防御戦略を使用して、環境とインフラストラクチャ プロバイダのネットワークに複数のレイヤでの防御と制御をデプロイし、ウェブ上のアプリケーションとサービスを標的型ウェブ攻撃から保護することを推奨しています。この戦略には、アプリケーションに対する攻撃対象領域を理解するための脅威モデリングの実行、アプリケーションを保護するための事前、事後対応戦略の策定、予期せぬトラフィック量の増加に対応するための十分な容量を備えたアプリケーションの設計などが含まれます。

Google Cloud Armor をご利用いただくと、Google のネットワーク エッジでインターネットに接続されたアプリケーションを保護し、アプリケーションの最上流で望ましくないトラフィックを吸収できるようになります。


- Cloud Armor シニア プロダクト マネージャー Emil Kiner
- テクニカル リード Satya Konduru
投稿先