単純にエージェントvsエージェントレスで比較してはいけない理由 #aqua #コンテナ #セキュリティ
この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。
本ブログは「Aqua Security」社の技術ブログで2022年2月3日に公開された「 Why Agent vs Agentless is a False Choice 」の日本語翻訳です。
単純にエージェントvsエージェントレスで比較してはいけない理由
クラウドネイティブセキュリティ戦略を導入するためには、はじめの可視化から予防と対応の自動化までの全行程において、重要な決断を迫られることになります。
このブログでは、APIベースのシームレスな可視化から、より深い可視性と保護機能を備えたエージェントまで、その道筋における実装の決定について説明します。チームごとにスタート地点は異なり、重要なのは、リスク許容度に関する意識的な決定に基づいて、自分たちのやり方を確立することです。
すばやく容易に工程を始める
クラウドネイティブセキュリティを始めたばかりのチームからよく聞かれるのが、「あなたのソリューションにはエージェントが必要ですか」という質問です。ほとんどの運用保守担当者は、導入の容易さとスピードから、ある種のエージェントレス実装から始めます。
例えば、クラウドネイティブセキュリティの典型的なスタートとして、運用保守担当者はシフトレフトのセキュリティテストと予防的コントロールを採用します。Infrastructure as Code のスキャンは、この段階で行われることの一例であり、単純なエージェントレス Helm チャートのインストールとバイナリのダウンロードによって実行できます。
以下は、エージェントレス実装を始めるための迅速で簡単な方法のいくつかの例です。
エージェントレス アプローチ |
目的 |
Kubernetes Admission Controller |
リモートポリシーを用いて強制するネイティブシステム |
Kubernetes マニフェストをダウンロード |
Kubernetes環境でレジストリやリポジトリにあるイメージをスキャンする際に便利です |
バイナリをダウンロードするか、Helmチャートとしてインストールします |
IaC template scanning |
サーバーレスアプリにAPIで接続する |
クラウドアカウントまたはCI/CDパイプラインによるスキャン |
クラウドサービスアカウントAPI |
クラウドサービスアカウントの誤設定スキャン |
クラウドサービスAPIを利用したクラウドワークロードスキャン |
クラウドワークロードの運用におけるリスクを迅速に把握 |
セキュリティと実装の容易さのトレードオフの理解
しかし、その工程は「一長一短」なのです。チームごとに、機密性やセキュリティの意味合いが異なるアプリケーションを保有しています。例えば、HIPAA や PCI-DSS のようなコンプライアンス規制によって管理される機密データを扱うビジネスクリティカルなアプリケーションは、より厳しいセキュリティ要件を持っています。一般に、セキュリティ管理の強度が増すと、実装方法の全体的な関与の度合いも増します。
そしてもちろん、視認性とアクティブレスポンスには、さまざまなバリエーションがあります。例えば、可視化の種類は、すべて同じではありません。eBPF を使ったカーネルレベルの可視化のような、より深いレベルの実装には大きな労力が必要です。また、ワークロードが実行される前に動作する Kubernetes Admission Controller のように、より侵入性の低いレスポンス手法もあります。
セキュリティ性能と導入のしやすさのトレードオフの影響を無視した結果
運用保守担当者が失敗しがちなのは、セキュリティ要件より実装方法に主眼を置いてセキュリティ対策を決定する場合です。典型的な例として、運用保守担当者は、重要なデータを扱うアプリケーションなのにも関わらず、すぐに運用を開始することを重視し、軽度のエージェントレス可視性しか使用しないという誤りを犯します。そして、これはあまり一般的ではありませんが、やはり同様の問題は、運用保守担当者がアプリケーションのセキュリティリスクに見合わない実装方法を使用する場合です。アプリケーションによっては、重要な機能を実行しないこともあり、そういった時はチームは重い実装に時間と労力を費やす必要のない場合があります。このようなチームは、貴重なリソースを浪費する危険性があります。ビジネスクリティカルなアプリケーションは、詳細で積極的な制御と、消極的でエージェントレスな可視性の両方を持つことも可能です。
いずれにせよ、同じプラットフォームから両方を見ることができれば、一貫性とノイズの低減に役立ちます。
クラウドネイティブにおけるエージェントvsエージェントレス
クラウドネイティブでは、エージェントベースの保護により、ビジネスクリティカルなアプリケーションに必要な積極的な保護を提供できます。しかし、クラウドネイティブの文脈では、「エージェント」という言葉に少し語弊があることを考慮することは重要です。
これまで「エージェント」は、ホスト侵入防御システム(HIPS)、エンドポイント保護プラットフォーム(EPP)、エンドポイント検出、応答(EDR)ソリューションなどで使用されてきました。これらの従来のソリューションでは、エージェントはエンドポイントにインストールされ、オペレーティングシステムの設定を変更します。クラウドネイティブでは、アクティブコントロールのオプションとエージェントは、オペレーティングシステムの設定を変更することはありません。
クラウドネイティブにおける導入手法 |
目的 |
サイドカーコンテナ |
Fargateのようなホストへのアクセスが制限されている環境のセキュリティ |
Lambdaレイヤーとしてデプロイされたコードスニペット |
ランニングファンクションのセキュリティ |
コンテナ |
コンテナ環境向けの深いランタイム機能(実行可能ファイルのブロックなど)のセキュリティ |
eBPF プログラム |
Linuxランタイムイベントをカーネルレベルで詳細に可視化 |
カーネルモジュール |
実行時にカーネルの機能を拡張 |
エージェント保護とエージェントレス保護のトレードオフ
理想的には、リスク許容度とトレードオフの完全な可視性に基づいて、どのような実装が望ましいかについて、チームが情報に基づいた決定を下すことができるようにすることです。以下は、クラウドネイティブのエージェントベースとエージェントレスの実装のトレードオフをまとめたもので、あらゆるアプリケーションのリスク許容度に合わせて、最も適切な実装を判断するのに役立ちます。
エージェントベースのCWPP実装 |
エージェントレスのCWPP実装 |
ランタイムにリアルタイムで実施。これには、文脈上のデータポイントに基づく予防的または是正的な制御の自動化が含まれます。 |
可視化されているが、対応のためのオプションがありません。例えば、CPU の制限超過を検出することは可能ですが、この情報に基づいてワークロードの実行を停止したり、悪意のあるペイロードが本番環境で実行されるのを防止したりすることはできません。 |
カーネルレベル(eBPF を使用)またはコンピュートサイドでの深いリアルタイムの可視化。 |
データの解像度が低く、可視性が限定的です。コンピュート側(メモリや CPU 使用率など)の可視化、Kubernetes のアプリケーションコンテキスト、Container-as-a-Service(CaaS)デプロイメントの可視化もありません。 |
ハイブリッド環境での柔軟な展開。エージェントは、パブリッククラウドやプライベートクラウド環境、オンプレミスのワークロードに導入することができます。 |
パブリッククラウド環境に依存します。オンプレミスのワークロードを可視化する方法がないため、ハイブリッド環境全体の可視化が不可能です。 |
Aquaができること
Aqua は最近、クラウドセキュリティのトップリスクを迅速に把握できるよう、摩擦の少ない新しいクラウドワークロードスキャンとクラウドセキュリティインサイトを発表しました。これらの機能が Aqua Platform に統合されたことで、時間に追われているセキュリティチームは、数分以内にクラウドワークロードのトップリスクを可視化し、それに対して何ができるかを把握できます。ビジネスクリティカルなアプリケーションを1つでも含むあらゆる技術スタックに対して、Aqua Platform は、摩擦のない可視性、シフトレフトでのアクティブな予防、ランタイムでの対応など、チームの努力を最適化するためのオプションを提供します。Aqua Platform は、ガートナー社が提唱する CNAPP に該当し、時間に追われるセキュリティ、IT、DevOps チームが複数のベンダーにまたがるノイズを減らし、アプリケーションライフサイクル全体にわたって深層防御を実現できるよう支援します。
まとめ
エージェントレスソリューションは、迅速な可視化、シフトレフト機能、クラウドワークロードのある程度の可視性を提供します。これは、エージェントを導入するための労力やリソースを必要としない、ビジネスクリティカルではないアプリケーションには十分な機能といえるでしょう。エージェントベースのクラウドネイティブセキュリティソリューションは、より深く、リアルタイムの可視性と迅速なランタイムレスポンスを提供します。これは、深いレベルの可視性と、強力な防御と対応能力を必要とする、ビジネスクリティカルなアプリケーションに最適です。
最近のインタビューで、フォーチュン500社のリスク評価企業のクラウドアーキテクチャ、サイバーセキュリティ、リスク管理担当副長が、簡潔に述べています。
“You will always need both agents and agentless, they both have their areas where they can work really well.”
「エージェントとエージェントレスの両方が常に必要であり、どちらもうまく機能する分野があります。」
Aquaのクラウドワークロードスキャン機能の詳細については、こちらをご覧ください。