Google Cloud Platform

Cloud Armor : インターネットに接続されたサービスを DDoS 攻撃から防御

エンドユーザーに迅速かつ機動的にサービスを提供すると同時に、インターネットに接続されたサービスを悪意ある攻撃から守るということが、いかに難しい仕事であるかを私たち Google は知っています。そこで、今年 3 月にニューヨークで開催された CEO Security Forum で、私たちは Google Cloud Armor を発表しました。

Cloud Armor は、Distributed Denial of Service(DDoS)攻撃からアプリケーションを保護する新しい防御サービスです。Google 検索や Gmail、YouTube のような Google サービスの保護に使用しているのと同じ技術、グローバル インフラストラクチャに基づいています。

規模の経済

Google のセキュリティ専門家は、Google のコア サービスを多種多様な悪意ある攻撃から守るため、24 時間体制で働いています。Google サービスに対する過去 10 年の DDoS 攻撃について見ると、攻撃が急激に増大していることがさまざまな指標からわかります。これらの指標は、ビット / 秒(bps)、パケット / 秒(pps)、HTTP(S)クエリ / 秒(qps)です。

image7.png
最大規模の攻撃を受け止めるには、50 万本の YouTube 動画を同時に、かつ HD 品質で視聴するのと同じ帯域幅が必要になります。Damian Menscher 博士、Google の DDoS 防御担当

この脅威を防ぐため、Google サービスへの攻撃を緩和するエッジ インフラストラクチャとセキュリティ システムがデプロイされており、これと同じインフラストラクチャが Google Cloud も支えています。Cloud Armor を最初にサポートした Google Cloud Platform(GCP)サービスのグローバル HTTP(S)負荷分散が、インフラストラクチャへの DDoS 攻撃に対するビルトイン防御として機能します。DDoS 防御を作動させるうえで必要なのは負荷分散の構成のみで、ほかは何も必要ありません。

防御は協調的な取り組みです。

私たちはいくつかの業界団体と密接に協力して新手の脅威を追跡しており、それによって私たち自身と他の人々を保護しています。さらに、頻繁に標的として狙われる krebsonsecurity.com のようなサイトをホストしています。新しい攻撃の手口をいち早く把握するためです。そうすることで、それらが蔓延する前に防御を設計し、ボットネットを解体できます。Damian Menscher 博士、Google の DDoS 防御担当

Google と Google Cloud のサービス間でリソースを共有することで、最大規模の攻撃も簡単に吸収できるほか、ある顧客への攻撃が他の顧客に影響しないようにすることができます。

Cloud Armor : ポリシー ドリブンの大規模なアプリケーション防御を実現

Cloud Armor は、グローバル HTTP(S)負荷分散と連携することで、インターネットに接続されたアプリケーションの防御の展開とカスタマイズを可能にします。グローバル HTTP(S)負荷分散と同様に、Cloud Armor は Google ネットワークのエッジで提供され、攻撃を発信元の近くでブロックするのに役立ちます。このサービスは、ポリシー フレームワーク、高度なルール言語、グローバル インフラストラクチャという 3 つの柱に支えられています。

image2bgy7.PNG
Cloud Armor は、Google がどのように包括的かつ多層的なセキュリティ防御戦略のイノベーションを起こし続け、ネットワーク エッジで管理できる機能豊富なセキュリティ制御レイヤを提供しているかを示す好例です。Matt Hite 氏、Evernote のネットワーク エンジニア

Cloud Armor の機能

Cloud Armor の主要機能は以下のとおりです。

  • HTTP(S)負荷分散により、インフラストラクチャへの DDoS 攻撃からサービスを守る。
  • セキュリティ ポリシーを構成し、ルールとその評価順序を指定する。
  • トラフィックの許可、ブロック、プレビュー、ロギングを実施する。
  • IPv4 および IPv6 トラフィックの IP ホワイトリストおよびブラックリストを運用する。
  • 高度なルール言語を使ってカスタム ルールを作成し、これを適用することで、レイヤ 3 および HTTP(S)リクエスト パラメータの任意の組み合わせに基づいて、該当するトラフィックを見つけ、そのトラフィックを許可またはブロックする(アルファ リリース)。
  • 地理ベースの制御と、SQL インジェクション(SQLi)攻撃やクロスサイト スクリプティング(XSS)攻撃に対するアプリケーション固有の防御を実現する(アルファ リリース)。

私たちは、これらの機能をベースに、今後数か月にわたって Cloud Armor の機能をさらに充実させていきます。

Cloud Armor のセキュリティ ポリシー フレームワーク

Cloud Armor はセキュリティ ポリシーに基づいて構成されます。Cloud Armor をデプロイするには、セキュリティ ポリシーを作成し、ルールを追加して、このポリシーを 1 つ以上の HTTP(S)負荷分散バックエンド サービスに適用する必要があります。

Cloud Armor のセキュリティ ポリシーは 1 つ以上のルールから成ります。各ルールは、該当するトラフィックがあるかを調べるためのパラメータ、トラフィックがパラメータに該当した場合に取るべきアクション、ポリシー階層における当該ルールの位置を規定する優先度値を指定します。

image6wkj6.PNG

Cloud Armor ではプロジェクトごとに複数のポリシーを作成できます。バックエンド サービスのサブセットについても、専用のポリシーを作成して防御をカスタマイズすることが可能です。

image18gj9.PNG

下の GIF 動画は、Cloud Armor を使って IP ブラックリストおよびホワイトリストを構成する方法を示しています。

image5zva5.GIF

Cloud Armor のルール言語(アルファ リリース)

Cloud Armor のルール言語を使用すると、特定の要件に合わせた形で防御をカスタマイズできます。多くの場合、攻撃者はよく知られた独自の攻撃パターンを使ってお客様のサービスをダウンさせようとします。カスタム ルールを作成することで、特定の攻撃パターンを構成し、トラフィックがそれに該当するかを調べ、該当したトラフィックを大規模にブロックできます。

以下は、米国から発信され、特定のクッキーとユーザー エージェントを含むと見られる攻撃を防ぐカスタム ルールの例です。

gcloud CLI による構成 :

image10vx4x.PNG

Cloud Consoleによる構成 :

image895n9.PNG

最も一般的なアプリケーション固有の攻撃に備えて、Cloud Armor は 2 つの構成済みのルールを提供します。それぞれクロスサイト スクリプティング(‘xss-canary’)と SQL インジェクション(‘sqli-canary’)を防ぐルールです。下の例では、“sql-injection-dev” ポリシーとして、SQL インジェクションを防ぐルールを gcloud CLI で構成しています。

image9nnrp.PNG

以下は、このポリシーに含まれる SQL インジェクションの防御ルールと他のルールを示しています。

image4vpe7.PNG

アルファ ステータスの機能へのアクセスは、こちらのフォームを使ってリクエストしてください。

ブロックおよび許可されているトラフィックの可視化

以下に示すように、許可されているトラフィックとブロックされているトラフィックを Stackdriver で見ることができます。

image3fe3x.PNG

パートナー エコシステム

Cloud Armor には、セキュリティ機能を補完するソリューションのプロバイダーから成る豊かなパートナー エコシステムが存在します。そうしたソリューションを、グローバル HTTP(S)負荷分散および Cloud Armor と組み合わせて利用することで、包括的なセキュリティ ソリューションを構築できます。セキュリティ パートナーについてはこちらをご覧ください。

今すぐお試しを!

Cloud Armor は、インターネットに接続されたサービスを Google Cloud で運用するすべてのお客様に向けて提供されています。詳細は Cloud Armor のウェブ サイトでご覧になれます。皆さんのフィードバックをお待ちしています!

* この投稿は米国時間 3 月 26 日、Cloud Networking の Product Manager である Prajakta Joshi によって投稿されたもの(投稿はこちら)の抄訳です。

- By Prajakta Joshi, Product Manager, Cloud Networking