fbpx

CNAPPとは何か、どのようにして選ぶべきか #aqua #コンテナ #セキュリティ #CNAPP

この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。

本ブログは「Aqua Security」社の技術ブログで2021年10月28日に公開された「 What is a CNAPP and How to Choose the Right One 」の日本語翻訳です。

CNAPPとは何か、どのようにして選ぶべきか


ある企業の CISO から質問を受けました。「CI/CD パイプラインで発生する脆弱性が増加する一方で、他方では SecOps チームが本番環境からのアラートや設定の問題の対応に追われています。どうすれば、これらの別々の問題を調整し、本当に重要なことに集中できるでしょうか?」

クラウドネイティブアプリケーションプロテクションプラットフォーム(CNAPP)は、ガートナー社が最近定義した新しいカテゴリーのセキュリティソリューションです。クラウドネイティブアプリケーション、インフラストラクチャ、および構成におけるリスクの特定、評価、優先順位付け、および適応を支援します。

大規模なクラウドネイティブデプロイメントの普及により、企業はクラウドネイティブセキュリティに効率とスピードをもたらすことを余儀なくされています。そのため、「シフトレフト」と呼ばれる DevSecOps、インテリジェ ントオートメーション、CSPM(クラウドセキュリティポスチャマネジメント)、CWPP(クラウドワークロードプロテクションプラットフォーム)を組み合わせて使用する必要があります。しかし、自力でそれを行うことは非常に困難です。

CNAPPが解決する課題とは

ガートナー社は、クラウドネイティブアプリケーションのセキュリティに関する課題を次のように説明しています。「企業は、開発とランタイムを別々の問題として扱い、別々のツールを組み合わせてセキュリティとスキャンを行うのではなく、セキュリティとコンプライアンスを開発から運用に渡った連続体として扱い、可能な限りツールを統合するよう努めるべきです」。

そこで、CNAPP の出番です。CNAPP の目標は、クラウドネイティブ環境に完全なエンドツーエンドのセキュリティを提供することです。特定のセキュリティ問題のみを解決し、手動でつなぎ合わせる必要のあるさまざまなポイントソリューションを使用するのではなく、組織は統合プラットフォームのアプローチを使用する必要があります。

ガートナー社のイノベーションインサイトレポートによると、CNAPP は「開発と本番の両方でクラウドネイティブアプリケーションのセキュリティと保護を支援するために設計された、セキュリティとコンプライアンスの統合された機能群」です。

これにはいくつかの大きなメリットがあります。重要なのは、開発と本番の間でコンテキストを共有することで、CNAPP はアプリケーションのリスクを完全に把握し、アプリケーションのライフサイクル全体で一貫してセキュリティを確保できるということです。

CNAPP は、既存のいくつかのクラウドセキュリティカテゴリの機能を組み合わせた統合プラットフォームです。主に、アーティファクトに対するスキャンのシフトレフト、クラウドセキュリティポスチャマネジメント(CSPM)、Kubernetes セキュリティポスチャマネジメント(KSPM)、IaC スキャン、クラウドインフラストラクチャエンタイトルメントマネジメント(CIEM)、ランタイムのクラウドワークロードプロテクションプラットフォーム(CWPP)などを含みます。

しかし、クラウドネイティブアプリケーションプロテクションプラットフォームが真の CNAPP として認定されるためには、どのような要素が必要なのでしょうか。

クラウドネイティブ

当たり前のように聞こえますが、クラウドネイティブのために作られていないソリューションは、CNAPP とは言えません。クラウドネイティブ環境では、EDR、ホストベース、ファイアウォールなどの古いソリューションに頼ることは非現実的です。クラウドネイティブアプリケーションの分散型の性質では、エフェメラルなワークロードが動的に編成されるため、従来のネットワークベースのセキュリティツールでは対策できません。

クラウドネイティブであるということは、コンテナ、サーバーレス function、VM など、さまざまなタイプのクラウドネイティブワークロードを認識し、分析、追跡、監視、制御できるソリューションであることを意味します。また、Kubernetes、IaC(Infrastructure-as-Code)ツール、複数のパブリッククラウドプロバイダーなど、クラウドネイティブインフラストラクチャのフルスタックの中で動作し、それらと連携しなければなりません。定義としては、CNAPP はクラウドネイティブである必要があります。したがって、コンテナの脆弱性をスキャンしても、クラウドネイティブの他の側面に気づけなければ、それは CNAPP と言えません。

Aqua は当初から、新しいクラウドネイティブアプリケーションスタックにおける、セキュリティの課題に対処するため作られました。コンテナ革命の初期に生まれ、現在は CNAPP の範囲に含まれている Kubernetes のセキュリティ状態管理である KSPM を発明するなど、継続的な技術革新で市場をリードし続けています。

アプリケーション

CNAPP は、アプリケーションを保護します。そのためには、CNAPP はアプリケーションのコンテキストを特定し、理解しなければなりません。これは、アプリケーションのライフサイクルを通して追跡し、コンテキストリスクに対処するセキュリティ管理を適用することを意味します。実際のところ、「コンテナ 4c01db0b339c が ps を実行した」と気づくだけでは十分でありません。そのコンテナがどのアプリケーションに属しているのか、どのイメージから生成されたのか、そのコンテナが特定のアプリケーションで ps を実行することが正常なのか、そのコンテキストで ps を実行することが正当なことなのか、IoC(侵入の痕跡)なのかを知る必要があるのです。

これらのことを知るためには、ソリューションが CI/CD パイプラインに組み込まれ、最新の DevOps ツールと統合されていなければなりません。ビルド段階でアーティファクトをスキャンし、ビルドからデプロイまでの整合性を維持することは、アプリケーションのコンテキストにとって非常に重要であり、その結果、デプロイに関する詳細な意思決定を行うことができます(例えば、認証されていないイメージが本番で実行されるのを防ぐことができます)。繰り返しになりますが、もしソリューションがそれを行わないのであれば、それはつまり CNAPP と言えません。

2015年に、Aqua はフルライフサイクルセキュリティというコンセプトでコンテナセキュリティの分野を開拓しました。最初のブログで述べたように、私たちの使命は「コンテナ化されたアプリケーションの開発からデプロイメントまでのライフサイクル全体にスケーラブルなセキュリティを提供する」ことでした(現在もそうです)。その後、何百もの企業に導入され、クラウドネイティブアプリケーションのセキュリティを確保するには、ライフサイクル全体を統一したアプローチが唯一の効果的な方法であると、当社のお客様や市場全体が明確に理解しました。シフトレフトとランタイムの保護に別々のソリューションを使用することは非効率的で、セキュリティギャップが生じたり、脆弱性やランタイムイベントを延々と追いかけることになり、それらに優先順位をつけて迅速に緩和するためのコンテキストがありません。

保護

ここで「保護」という言葉が使われているのには理由があります。CNAPP は、単なる可視化、監視、可観測性のためのソリューションではありません。簡単に言えば、保護とは CNAPP が攻撃を検知したときに、それを阻止できることを意味します。最も強固な「シフトレフト」による保護と環境の堅牢化であっても、ゼロデイ攻撃や高度な回避技術を用いたランタイム攻撃からは保護できません。予防だけでは十分でなく、CNAPP は進行中の攻撃をリアルタイムで検知し、対応できなければなりません。

従来の古いセキュリティツールがクラウドネイティブアプリケーションに対応できない理由は、CI/CD パイプライン内を通過する DevOps とコードの高速性にあります。残念ながら、クラウドネイティブの攻撃は、クラウドネイティブアプリケーション自体と同じスピードで動いています。昨日侵入されたことを今日知るのでは不十分です。攻撃者は今日までに、攻撃から数秒とは言わないまでも、数分以内に目的のものを手に入れて、逃げてしまっているでしょう。

ランタイムの部分は、今日ほとんどの CNAPP が不足しているところですが、Aqua は Drift Prevention などのきめ細かいランタイム制御を利用できます。これは、実行中のワークロードを監視し、デプロイが許可されたコンテナへの変更を決定論的に禁止することを意味します。また、新しい CNDR 機能により、クラウドネイティブ環境で観察されるその他の疑わしいアクティビティを特定し、それを防止できます。さらに Aqua は、コンテナを停止させることなく、アプリケーションのダウンタイムを発生させることなく、不審なアクティビティをブロックできます。

プラットフォーム

CNAPP に求められる機能は、アプリケーションのライフサイクル全体、および複数の種類のワークロード、スタック、クラウド環境のサポートなど多岐にわたるため、組織内の複数のチームやプロセスに結びつく、複数の統合機能を備えたプラットフォームでなければなりません。

その他の要件として、プラットフォームは、統一された一貫性のあるエクスペリエンスを提供しなければなりません。既存のソリューションの多くは、ランタイムのみ、スキャンのみ、インフラのみといった部分的なもの、統合されていない複数の製品で構成されており、真にシームレスな体験を提供できません。

さらに、プラットフォームは金融やヘルスケアなどの規制の厳しい業界のニーズに合わせて、SaaS またはオンプレミス(Self Hosted)で利用できなければなりません。

現在 Aqua は市場で最も統合されたプラットフォームを提供しています。クラウドからプラットフォーム(Red Hat OpenShift や VMware Tanzu Application Service など)、さらには Windows コンテナまで幅広くサポートしており、アプリケーションのライフサイクル全体を一貫して管理できます。

さらに、Aqua は複数のアプリケーション、チーム、ロールにまたがる職務分離(SOD)をサポートする広範なロールベースアクセス制御を備えた唯一の CNAPP であり、世界最大級のクラウドネイティブ環境を保護する真の企業規模の実装を可能にします。

まとめ


深く統合されたプラットフォームを持つ Aqua は CNAPP のゴールドスタンダードであり、開発の初期段階でコントロールを組み込み、本番環境に至るまでシームレスに組み込むことで、オンプレミス、パブリッククラウド、ハイブリッド環境など、アプリケーションがどこにデプロイされても保護できます。私たちは、CNAPP というカテゴリーの開拓と形成を支援し、常にイノベーションを推進し、クラス最高の CNAPP とみなされるものの限界を押し広げています。

New call-to-action

New call-to-action

新規CTA