DDoS 攻撃の規模の指数関数的な増大
Google Cloud Japan Team
※この投稿は米国時間 2020 年 10 月 17 日に、Google Cloud blog に投稿されたものの抄訳です。
分散型サービス拒否(DDoS)攻撃などのセキュリティの脅威は、あらゆる規模のビジネスを混乱させ、サービス停止、ひいてはユーザーの信頼喪失を招きます。Google が堅牢なネットワークを基盤としてサービスの信頼性を築くことを重要視するのは、これらの脅威が大きな理由となっています。
信頼性の確保に役立つように、Google では高度な攻撃から防御するための革新的な方法をいくつか考案してきました。この投稿では、DDoS の脅威について詳しく説明し、現在の動向を示して、テラビット級の大規模攻撃に備えてお客様のサイトの継続的な稼働を実現する方法を紹介します。
攻撃者の能力の分類
DDoS 攻撃では、攻撃者は無用なトラフィックを大量に流して被害者のサービスを妨害しようとします。この攻撃はユーザーデータの漏洩や不正使用につながることはありませんが、迅速に緩和しないとサービス停止やユーザーの信頼喪失を招きかねません。
攻撃者は、システムを破壊する新たな手口を絶えず開発しています。彼らは攻撃に独創的な名前を付けており、たとえば Smurf、Tsunami、クリスマス ツリー、HULK、Slowloris、キャッシュ無効化、TCP 増幅、JavaScript インジェクション、そしてさまざまなバリエーションのリフレクション攻撃があります。一方、防御側では、ネットワーク層(ルーター / スイッチおよびリンク容量)からアプリケーション層(Web、DNS、メールサーバー)まで、DDoS 攻撃の標的となる可能性のあるものすべてについて考慮する必要があります。場合によっては、ターゲットを絞らずにネットワーク内のすべての IP を攻撃してくることもあります。攻撃のタイプは多数あり、多様なインフラストラクチャで防御が必要となるため、これらの数を掛け合わせると攻撃の可能性は無限に広がります。
では、問題を単純化して管理しやすくするにはどうすればよいでしょうか。Google では、攻撃手法に焦点を当てるのではなく、ボリューム型攻撃を次のようないくつかの主要な指標にグループ分けしています。
BPS ネットワークのビット/秒 → ネットワーク リンクを標的とした攻撃
PPS ネットワークのパケット/秒 → ネットワーク機器や DNS サーバーを標的とした攻撃
RPS HTTP(S) リクエスト/秒 → アプリケーション サーバーを標的とした攻撃
これにより、各システムが、関連する指標で測定された攻撃に耐えるのに十分な容量を確保することに注力できます。
DDoS 攻撃の規模の傾向
次のタスクは、主要な指標ごとに最大級の DDoS 攻撃に耐えるのに必要な容量を特定することです。信頼性の高いネットワークを効率的に運用するには、これを適切に行う必要があります。オーバープロビジョニングは費用のかかるリソースを浪費することになり、アンダープロビジョニングはサービス停止につながる可能性があります。
このタスクを行うために、Google は上記の指標全体で受けた何百もの重大な攻撃を分析しました。これには他社によって共有された信頼できる報告も含めました。それから過去 10 年間に確認された最大級の攻撃をプロットして、傾向を特定しました。(この期間より前の数年間のデータによって、各指標の最初のデータポイントを決定しました。)
すべての指標にわたって指数関数的な増加が顕著であり、攻撃規模の拡大に伴い、ニュースの見出しになることも多くなっています。ただし、インターネット自体の指数関数的な増加も考慮する必要があります。これに伴って防御側の帯域幅やコンピューティングも増加するからです。予想される増加を考慮すると、少しは心配が解消されますが、それでもまだ問題は残ります。
防御可能なインフラストラクチャの設計
データと観察された傾向から、発生する可能性のある最大級の攻撃を吸収するために必要な予備容量を推定し、決定できるようになります。
BPS(ネットワークのビット/秒)
Google のインフラストラクチャは、2017 年 9 月に 2.5 Tbps の DDoS 攻撃を吸収しました。これは、複数の攻撃手段を併用した 6 か月間の攻撃キャンペーンの最高到達点でした。おそらく自動化された防御をすり抜けるためなのか、数千もの IP を同時に標的にしていましたが、攻撃の影響は受けませんでした。攻撃者は複数のネットワークをなりすましに使用して 167 Mpps(百万パケット/秒)のトラフィックを 18 万の公開されている CLDAP サーバー、DNS サーバー、SMTP サーバーに送信し、Google に対して大量のレスポンスを送らせました。これは、十分なリソースを備えた攻撃者がどれだけの規模の攻撃を達成できるかを示しており、その 1 年前にボットネット「Mirai」を使用して行われた、当時過去最大の攻撃だった 623 Gbps の 4 倍に当たるものでした。それは、これまでに報告された中で最も高い帯域幅の攻撃であり、推定容量に対する信頼性の低下につながりました。
PPS(ネットワークのパケット/秒)
今年は IoT ボットネットを利用した 690 Mpps の攻撃が発生するなど、一貫して拡大傾向が見られました。注目すべきなのは、お客様の VM に対する 2015 年の攻撃で、IoT ボットネットが 40 秒で 445 Mpps まで上昇しました。これはあまりにも膨大なため、当初はモニタリングの不具合ではないかと思ったほどでした。
RPS(HTTP(S) リクエスト/秒)
2014 年 3 月、ネットワーク中間者攻撃を介して数千ものウェブサイトに悪意のある JavaScript が挿入されました。数十万ものブラウザが YouTube にリクエストを大量に送信して、ピーク時は 2.7 Mrps(百万リクエスト/秒)に達しました。これは、Google Cloud のお客様が 6 Mrps で攻撃されたつい最近まで、私たちが把握している最大の攻撃でした。増加が緩やかなことは、他の指標とは異なり、将来の攻撃規模を過小評価している可能性があります。
将来の予想される攻撃の規模を見積もることはできますが、予期しない攻撃にも備える必要があるため、Google ではそれに応じて防御をオーバープロビジョニングしています。さらに、過負荷が発生した場合にはサービスレベルを徐々に下げられるようにシステムを設計しており、必要に応じて手動レスポンスを行う方法を記したハンドブックを作成しています。たとえば、Google Cloud の階層化された防御戦略により、ネットワーク層での高 RPS 攻撃や高 PPS 攻撃を、アプリケーション サーバーに到達する前にブロックできます。徐々にレベルを下げる手法はネットワーク層にも適用されます。つまり、攻撃トラフィックを抑制するように設計された拡張ピアリングとネットワーク ACL により、万が一リンクが飽和状態になった場合の巻き添え被害の可能性を軽減します。
サービス、インフラストラクチャ、あるいはお客様を標的とした未曽有の規模の DDoS 攻撃を緩和するために使用する階層型アプローチの詳細については、書籍『Building Secure & Reliable Systems』の第 10 章をご覧ください。
クラウドベースの防御
潜在的な DDoS 攻撃の規模は膨大になる可能性があります。幸い、Google Cloud Armor を Google のCloud Load Balancing サービスに統合してデプロイすることで、大規模な DDoS 攻撃を吸収するようにスケールでき、Google Cloud、他のクラウド、またはオンプレミスにデプロイされたサービスを攻撃から保護できます。Google では最近、Cloud Armor Managed Protection を発表しました。これにより、デプロイがさらに簡単になり、予測可能な月額料金で DDoS 全般およびアプリケーションのセキュリティ リスクを軽減できるようになります。
最大級の攻撃を吸収するのに十分な容量を持つことは、包括的な DDoS 緩和戦略の一部にすぎません。スケーラビリティの提供に加えて、ロードバランサではグローバル エッジでネットワーク接続を終了し、正しい形式のリクエストのみをバックエンド インフラストラクチャに送信します。その結果、さまざまなタイプのボリューム型攻撃を自動的にフィルタできます。たとえば、UDP 増幅攻撃、SYN フラッド攻撃、一部のアプリケーション層攻撃は通知せずにドロップされます。次の防御ラインとなるのが Cloud Armor WAF です。これは、一般的な攻撃に対する組み込みルールに加えて、カスタムルールをデプロイする機能を備えており、幅広い HTTP セマンティクス セットを使用して不正なアプリケーション層リクエストをドロップします。
集団安全保障のために協力する
Google はインターネット コミュニティの他のメンバーと協力して、攻撃の実施に使用されたインフラストラクチャを特定して取り除くことに尽力しています。具体的な例として、2017 年に発生した 2.5 Tbps の攻撃では影響は受けませんでしたが、Google では数千の脆弱なサーバーをネットワーク プロバイダに報告し、ネットワーク プロバイダと協力してなりすましパケットの送信元を追跡してフィルタできるようにしました。
皆様もこの取り組みにぜひご参加ください。個々のユーザーは、各自のパソコンや IoT デバイスにパッチが適用され、セキュリティ保護されていることを確認する必要があります。企業では犯罪行為を報告し、なりすまし攻撃のトラフィックの送信元を追跡するようネットワーク プロバイダに依頼し、攻撃者にタイムリーなフィードバックを提供しないような方法で攻撃に関する情報をインターネット コミュニティと共有する必要があります。みんなで協力して、DDoS 攻撃の影響を軽減しましょう。
-セキュリティ信頼性エンジニア Damian Menscher