Google Cloudとコンテナの継続的なセキュリティ
本文の内容は、2022年4月7日現在における、Sysdig Cloud Native Learning Hub上のCloud Native Application Protection Platform (CNAPP) Fundamentals(https://sysdig.com/learn-cloud-native/cloud-security/cloud-native-application-protection-platform-cnapp-fundamentals/) を元に日本語に翻訳・再構成した内容となっております。
クラウドネイティブアプリケーションの領域が進化すればするほど、より多くの動的な仕組みが導入されるように見えます。ありがたいことに、業界は過去の技術から学び、クラウドネイティブテクノロジーでは非常にモジュール化されたアプローチを採用しています。そのため、既存のCI/CDパイプラインやランタイムプラットフォームは、より優れた方法が発見されるたびに拡張・更新することが可能です。これには、NetApp TridentのようなCSIドライバーによる外部ストレージソリューションから、静的コード分析テスト(SAST)のようなDevSecOps領域の製品によるCIパイプラインの拡張まで、あらゆるものの統合が含まれます。
モジュール化の欠点は、その複雑さです。アプリケーションのライフサイクルに何を導入すれば、妥当なレベルのセキュリティポリシーとセキュリティの実施が可能になるかを把握することさえ、困難な場合があります。そこで登場するのが、Cloud Native Application Protection Platform(CNAPP)です。CNAPPを環境に活用することで、ワークロードのプロアクティブな検証から、実行中のパブリッククラウドプラットフォームのポリシー監査まで、環境のあらゆる側面を深くカバーすることができます。
Gartnerは最近、新しい製品カテゴリーとしてCloud Native Application Protection Platforms(CNAPP)を発表しました。このカテゴリーは、統合が必要な一連のポイントソリューションではなく、全体的なカバレッジを実現するために定義された一連の基準を持ち、顧客とベンダーがスイートがもたらす価値を理解できるようにすることを目的としています。
ほぼ10年前、アプリケーションパフォーマンス管理(APM)ソリューションでも同じようなことが起こっていました。 業界での採用が進むにつれ、誰もが何を期待し、どのような最小限の機能しかないのかを知ることができるようになりました。
CNAPP は、開発から本番、そして開発に戻るまで、5つのコンセプトをその傘下にカプセル化します。
これらの機能は以下の通りです:
フィードバックループにより、クラウド・ネイティブ・アプリケーションのライフサイクルをエンドツーエンドでカバーします。
クラウドネイティブアプリケーションプロテクションプラットフォームが行うことを説明するには、5つのコア機能を説明するのが最も良い方法です。
アーティファクトスキャンには、アーティファクトがソースコードであるかコンパイルされたバイナリであるかを問わず、大きく2つの分野があります。それは、ソフトウェア構成分析(SCA)とアプリケーションセキュリティテストです。
SCAでは、成果物をレビューして、含まれるオープンソースライブラリを見つけます。そして、使用されているライブラリのバージョンとライセンスにフラグを立てます。この情報により、一般的な脆弱性と暴露(CVE)およびその評価をリストアップし、レポートに添付したり、リポジトリ内の成果物のメタデータとして添付したりすることができます。
アプリケーションセキュリティテストは、静的(SAST)、動的(DAST)、および、対話的(IAST)の3つの主要なグループに分類されます。SAST は、ソースコードまたはビルドされた成果物を調べて、ベストプラクティスと、チェックされていないバッファのようなコードに見られる一般的なミスを調べます。DASTは、実行中のアーティファクトをブラックボックスとして扱います。攻撃者が行うように、入力の検証や安全でないページなどを探します。IAST は、実行中のアプリケーションの内部で動作しますが、実行されたアプリケーションコードのみを分析します。IASTは、QAチームが機能テストを実行している環境で最もよく見られます。
ポスチャーとは、何かが活発に動いているときの姿のことです。人が立っているときの姿勢のようなものです。猫背になるな、背筋を伸ばせと言われたことがあると思います。CSPMは、使用されているクラウドプラットフォームに対してこれを行います。CSPMは、実行されているものを検証し、期待される表示方法と一致しないものに対して警告を発します。例えば、ポートが開いていたり、必要以上のアクセス権を持つセキュリティ・ロールがあったりします。
クラウドネイティブエコシステムの大きな魅力は、アプリケーションの実行に必要なすべてを自動化できることです。IaCはCloudFormationのテンプレート、Kubernetesのマニフェスト、Dockerfiles、Terraformのプランのようなものである可能性があります。IaCスキャンの背後にある考え方は、明らかなセキュリティ上の欠陥が実運用に移行して問題を引き起こす前に、それを見つけることです。
これは、CNAPPの中で最も積極的に取り組むべき領域でしょう。CIEMの機能は、接続されている既存のクラウドプラットフォームを調べ、お客様の環境に最小特権モデルを実装する方法を提案します。例えば、読み取り権限しか必要ないのに、管理者権限が付与されているようなケースを発見することができます。これらの決定が行われると、CSPMはそれらを実施します。
運用担当者が最も気になる部分です。CWPPは、CNAPPセキュリティ・スイートのランタイムエンフォースメントの部分です。これは、何も自動的に信頼されないゼロトラストモデルを導入するために機能します。
次のようなアクションを実行します:
CNAPPを導入するメリットは、クラウドネイティブアプリケーションスタック全体の可視性と制御性を向上させることです。現在、組織がこれら 5 つの領域をすべてカバーしていたとしても、多くの場合、別々の個別のツールを使用しています。その結果、データを関連付け、現在のリスクの測定値を提供する簡単な方法がないのです。企業は、時間と労力を費やして、自社のテクノロジー全体にわたって導入しているすべてのポイントソリューションからデータを統合しようとします。これは重要なことですが、すべての領域が同じようにカバーされているわけではありません。不完全なデータを基にレポートを作成しても、誤ったセキュリティ感覚を与えるだけで、リスクプロファイルを増大させるだけです。
CNAPP のセキュリティ・プラットフォームを導入することで、価値ある一貫したポリシーの実施が可能になる例をいくつか紹介します。
新しいプラットフォームと同様、導入のステップは外から見ると簡単そうに見えますが、それは詳細に入るまでの話です。従うべき基本的な構造は、CNAPPセキュリティツールに利用可能なものを発見させ、推奨事項を作らせることです。次に、これらの推奨事項を一度にいくつか適用し、セキュリティを提供しているクラウド・ネイティブ・アプリケーションの反応を監視して警告します。そして、さらに推奨事項を追加するために戻ってきます。シャンプーのボトルには「泡立てろ、リンス、繰り返す 」とあります。これは、何か新しいことをするときに得られる最良のアドバイスのひとつです。最初から完璧にできるわけではありません。
組織の大小を問わず、セキュリティについて十分な知識がないように感じるのが普通です。これは、従来のソフトウェア・プラットフォームよりもはるかに速いスピードで変化しているクラウド・ネイティブ・アプリケーションの分野では特にそうです。CNAPP を実装することで、どんな組織でも、アプリケーションスタックの主要な側面すべてにおいて、妥当なレベルのセキュリティを実現することができます。開発者の生産性を妨げないようにしながら、組織全体のセキュリティプロファイルを向上させることができるのです。
最終的には、誰にとっても、より速く、より柔軟な方法で顧客に価値を提供することが目標になります。開発プロセスの初期段階から本番環境に至るまでセキュリティを組み込むことで、顧客が製品に期待するセキュリティと整合性を確実に維持することができるのです。