クラウドネイティブなセキュリティとは?

クラウドネイティブなセキュリティは、クラウドサービスの固定ではなく柔軟に構成を変更できる性質を考慮し、クラウドとネイティブに統合されています。

学習目的

この記事を読み終えると、以下のことができるようになります。

  • クラウドネイティブなセキュリティの定義
  • クラウドネイティブなアプリケーションが直面するリスクを挙げる
  • クラウドネイティブなセキュリティのコアコンポーネントを理解する

記事のリンクをコピーする

クラウドネイティブなセキュリティとは?

「クラウドネイティブなセキュリティ」とは、クラウド特有のセキュリティ上の課題に対応するために設計されたセキュリティ対策や技術のことを指します。クラウドのリソースは固定ではなく、柔軟に構成を変えたり拡張することができ、多様な方法で相互に連携しています。また、多くのクラウドサービスでは、セキュリティに対する責任を利用者からクラウドプロバイダーへと移しています。一般的に、クラウドの利用は、オンプレミスのインフラストラクチャに関連する従来のセキュリティリスクを軽減しますが、クラウド特有の新たなリスクも多く存在し、これらはクラウドネイティブのセキュリティを使用して適切に管理する必要があります。

「クラウドネイティブなセキュリティ」は、オンプレミスのインフラを保護するための従来のセキュリティとは異なります。クラウド上の機能、サービス、API、さらには(場合によっては)基盤となるハードウェアが変化した場合でも、データコンプライアンスガバナンスをサポートしながら、クラウドベースのアプリケーションのインフラを保護するように設計されています。

クラウドネイティブなセキュリティが重要な理由

クラウドアプリケーションは常に変化しています。クラウドベースのソフトウェアはハードウェアを意識せずに利用できるため、特定のサーバー、コンピューター、データセンターローカルネットワークを保護することは、クラウドアプリケーションの安全性を確保するうえで意味を持ちません。

例えば、家庭のセキュリティシステムを考えてみましょう。セキュリティ意識が高い家庭では、不正な侵入を防ぐためにドアや窓にセンサーを設置します。しかし、家をリフォームして窓を増やしたり、ドアの位置を変えたりすると、それに合わせてセキュリティシステムも再構築する必要があります。

クラウドアプリケーションは、常にリフォームが行われている家のようなものです。静的で変化しないアーキテクチャを前提とした昔ながらのセキュリティシステムは、あまり効果的でなく、常に手動による再設定が必要です。一方で、「クラウドネイティブなセキュリティ」は、常に同じ場所にあることを前提には構築されていません。代わりに、ワークロードやIDの保護に重点を置き、クラウド内のトラフィックやイベントを継続的に監視することを重視しています。

クラウドネイティブなアプリケーションとは?

「クラウドネイティブなアプリケーション」は、クラウド向けに設計され、クラウド上にデプロイされます。柔軟で高いスケーラビリティを持つアーキテクチャを採用し、複数の場所で動作するため、従来の境界ベースのセキュリティ対策では十分な保護が難しくなるため、「クラウドネイティブなセキュリティ」が必要とされます。

クラウドベースのアプリケーションには、さまざまなアーキテクチャが用いられ、単独で使われる場合もあれば、組み合わせて使われることもあります。例えば、マイクロサービスサーバーレス機能コンテナベースのバックエンドなどがあり、これらを組み合わせることも可能です。

これらのアーキテクチャに共通しているのは、頻繁な変更や拡張、そしてオンデマンドでのコンピューティングです。例えば、サーバーレスのバックエンドを構成する機能は、必要なときに実行され、負荷に応じてスケールアップし、常に一定の計算リソースを使用するわけではありません。

一方で、クラウド向けに設計されていないアプリケーションは「モノリシック(一枚岩)」であることが多く、単独のスタックとして構築され、更新時にはアプリケーション全体が対象となります。これに対して、「クラウドネイティブなアプリケーション」は複数のコンポーネントで構成されており、多くの場合APIを介して接続されています。これらのコンポーネントは、独立して移動、変更、更新、拡張が可能です。

「クラウドネイティブなアプリケーション」は、オンプレミスのローカルなハードウェアやネットワークから複数の抽象化レイヤーを経て動作するため、「ネットワーク境界(ペリメーター)」という概念が存在しません。従来のセキュリティ対策は、明確に定義されたネットワークの外部からの脅威を防ぐことに重点を置いています。これらの対策がクラウドの防御にも適用されることがありますが、多くの場合、クラウド環境には適合しにくく、柔軟に拡張することができません。一方で「クラウドネイティブなセキュリティ」は、クラウドベースのアーキテクチャに特化して設計されています。

クラウドネイティブなアプリケーションの主なセキュリティリスクとは?

インフラストラクチャに対して頻繁に拡張や変更が行われると、アプリケーションの攻撃対象領域が広がる可能性があります。代表的な脅威として、以下のようなものがあります:

  • APIのセキュリティリスク:クラウドネイティブなアプリケーションを構成する機能、コンテナ、マイクロサービスは、APIを介して相互に接続されています。しかし、APIのセキュリティに脆弱性があると、データが流出したり、攻撃者にアクセスを許してしまったり、さまざまな形でアプリケーションが危険にさらされる可能性があります。
  • 設定ミス:クラウド環境の設定ミスは、クラウド内のデータにとって大きなリスクとなります。誤った設定により、クラウド環境が意図せずインターネット上に公開されることがあり、大規模なデータ漏洩につながる可能性があります。
  • 内部脅威:クラウドデータへのアクセス権を持つ内部関係者が、誤ってまたは悪意を持ってデータを編集、コピー、削除する可能性があります。
  • データの流出:クラウド環境には多数のクラウドサービスが組み込まれており、さらにマルチテナント型のインフラを採用しているため、不正なデータ流出の攻撃ベクトルが多く存在します。
  • 可視性の欠如:クラウドベースのアプリケーションは、、外部のクラウドプロバイダーが所有・運用するインフラ上に構築されます。そのため、クラウドネイティブの開発では運用負担が軽減される一方で、データの所在、ワークロードの実行場所、データの流れが把握しにくいという課題があります。さらに、企業が許可していないサービスやアプリケーションを使用する、監視が行き届かないシャドーITの存在も問題視されています。
  • コンプライアンスのリスク:クラウド内では可視性が欠如しているため、データの行き先やアクセス方法を制御することが難しく、地域ごとのデータ規制に準拠することが課題となります。

クラウドネイティブなセキュリティの構成要素

  • IDおよびアクセス管理(IAM):IAMは、ユーザーやシステムの正当性を確認し、アクセス権を適切に制御する仕組みです。クラウド環境のIAMでは、ユーザー、アプリケーション、サーバー、APIなどの識別を行い、それぞれのアクセスを厳密に管理・監視する必要があります。もしあるユーザーやサービスが侵害され、そのユーザーやサービスが過剰なアクセス権を保有している場合、大きな情報漏えいにつながる可能性があります。最小特権の原則を適用して、不要なアクセス権を与えないようにします。
  • ワークロードセキュリティ:現代のセキュリティでは、脅威は外部だけでなくアプリケーション内部にも存在する可能性があります。ワークロードセキュリティは、クラウド上で実行されるワークロード(ある程度の計算能力を必要とするアプリケーションやプログラム)内の脅威を検出する手法です。ワークロードは、コンテナ、仮想マシン、サーバーレス機能など、クラウドのさまざまなレイヤーで実行されます。CWPP(クラウドワークロード保護プラットフォーム)などのソリューションは、これらの環境全体で悪意のあるコードや既知の脆弱性を検出します。
  • webアプリケーションおよびAPIの保護(WAAP):クラウドネイティブなアプリケーションは、インジェクション攻撃分散型サービス拒否(DDoS)攻撃などの、アプリケーション層攻撃から保護する必要があります。APIは、ほとんどすべての現代のアプリケーションに組み込まれており、多くの攻撃リスクにさらされているため、対策が求められます。
  • ネットワークセキュリティ:クラウドネイティブなセキュリティでは、すべてのネットワークトラフィックを分析し、悪意のあるトラフィックを特定して軽減し、機密データがセキュリティで保護された環境からの流出することを防止します。
  • Infrastructure-as-code(IaC)スキャン:IaCは、手作業で行うのではなくコード(スクリプト)を用いてクラウドインフラストラクチャを管理および設定するアプローチです。IaCスキャンは、これらのスクリプト内に潜む脅威や脆弱性を検出します。
  • クラウドセキュリティ体制管理(CSPM):CSPMは、クラウドインフラストラクチャのセキュリティ上の設定ミスやコンプライアンス違反の可能性をスキャンし、脆弱性を検出する自動ツールです。
  • データ保護:データを安全に保ち、コンプライアンスを維持するためのステップとして、組織はクラウドネイティブなアプリケーションによって保存されるすべてのデータとその保存場所を把握して保護する必要があります。
  • 継続的な監視と報告:クラウドアプリケーションとインフラストラクチャを継続的に監視、記録し、漏洩や脆弱性の兆候を検出する必要があります。監視によって、セキュリティの設定ミスを発見することもできます。

CNAPPとは?

クラウドネイティブ・アプリケーション保護プラットフォーム(CNAPP)は、アプリケーションにオールインワンのクラウドセキュリティとコンプライアンスを提供するセキュリティソリューションの一種です。CNAPPは、開発者やセキュリティチームが、展開後に問題を発見するのではなく、開発サイクルのできるだけ早い段階で脅威や欠陥を特定するのに役立ちます。

Cloudflareがクラウドなネイティブアプリケーションを保護する方法

Cloudflareは、クラウドアクセスセキュリティブローカー(CASB)とWAAPサービスを通じて、SaaSとクラウドアプリケーションの可視性を高め、設定ミスを検出して攻撃をブロックし、クラウドアプリケーションやインフラストラクチャのデータ漏洩を防ぎます。Cloudflareがハイブリッドおよびマルチクラウド環境全体でアプリケーション、API、データを保護する仕組みをご覧ください