Cloud Security Magazine
CWPP とは?クラウドセキュリティでのワークロード保護の必要性について解説
AWS
CWPP とは?
CWPP とは Cloud Workload Protection Platform の略であり、後述のワークロードを保護するプロダクトの総称です。
対象となるワークロードはVM / コンテナ / サーバレス関数の3種類です。
これらのワークロードを一元的に管理し、対応すべきリスクを検知し、迅速に対応していくことをサポートする製品が CWPP です。具体的に検知するリスクは、脆弱性や機密情報、マルウェアなどです。
パブリッククラウドのセキュリティの課題点
AWS や Azure などのパブリッククラウドのセキュリティとは、クラウドの設定やその上で動くサーバー、クラウドへのアクセスなどクラウド上でのすべてに対するセキュリティのことです。
クラウド上にはお客さまの情報や社外秘の情報など、守るべき情報が多く存在するためもちろんセキュリティ対策が必須です。
クラウドの利用はなんとなく不安、という方もいらっしゃるかと思いますが、実は責任共有モデルというものがあり、データセンターや物理的なマシーンはクラウドベンダー側で責任を持って厳重に管理されているため安全に使うことが可能です。
一方、ID さえ発行してしまえば知見のない人でもサーバーを立てたり、アプリケーションを構築したりすることができるので、意図しない設定ミスなどが頻発してしまいます。
また、複数のベンダーが存在したり、特定のユースケースに特化したサービスも乱立しており、全てを安全に保つには膨大な知識が必要となってしまいます。
クラウド上のワークロード
ワークロードとは?
クラウドでのワークロードとは、クラウドセキュリティの文脈では主にアプリケーションが作動する環境のことを指します。具体的には、仮想マシン、コンテナ、サーバレス関数などが該当します。AWS の場合は、仮想マシンが EC2 インスタンス、コンテナが ECS・EKS など、サーバレス関数が Lambda など、です。
仮装マシンコンテナサーバレス関数AWSEC2ECS / EKSLambdaAzureVirtual MachinesAzure Container Apps / AKSAzure FunctionsGCPCompute EngineCloud Run / GKECloud Functions
これらのサービスを利用する際は基本的に何かしらのプログラミング言語を使って開発を行うことが一般的です。そのため、ネットワークやクラウドの設定だけでなく、中のアプリケーションやその OS などに脆弱性が含まれていないかまで診断することが必須です。
ワークロードごとの責任共有モデル
ご存知の方も多いとは思いますが、責任共有モデルにより、ワークロードの種別によってユーザーが管理すべき範囲が変わります。
例えば、仮装マシンの場合は VM の OS から責任を持たないといけないですが、サーバレスの場合はアプリケーションのみに責任を持てば十分です。
また、AWS Fargate のようなサーバレスのコンテナのデータプレーンを利用する場合は、コンテナ内部の OS だけが責任範囲であり、データプレーンは責任範囲ではなくなります。
このように、利用するサービスによってユーザー自身で担保すべき責任範囲は異なりますが、少なくともアプリケーションの脆弱性は管理する必要があります。
そこで登場するのが CWPP です。
CWPP で守るべき脅威
CWPP は主に下記3つのリスクを検出するサービスです。
脆弱性
ワークロードでの OS や OS のパッケージの脆弱性、アプリケーションで利用しているパッケージの脆弱性が対象です。
脆弱性は一般に、CVE で管理されている脆弱性データベースを参照しリスクとして検出を行います。
脆弱性が悪用されると、不正なリクエストなどを経由して、情報漏洩や権限昇格を許してしまう可能性があるため、対応すべきリスクです。
機密情報
ワークロード内やソースコード内にアクセスキーやパスワードなどがハードコードされていないかを検出します。
機密情報が埋め込まれていると、何かしらの理由で侵入された際や不正なアクセスがあった際に、攻撃者に強い権限を握られてしまう可能性があります。
マルウェア
ワークロード内にマルウェア(悪意のあるソフトウェア)が混入していないかを検出します。
マルウェアに感染してしまうと、乗っ取られて身代金を請求されたり、不正にデータを転送されたり、DDoS 攻撃用の端末として利用されたりする被害が起こり得ます。
エージェントレススキャンの革新性
パブリッククラウドでは API 経由で多くの情報を取得できることから、エージェントを導入することなく脅威を検知することが可能です。
エージェントを導入せずにスキャンできることのメリットとして下記が挙げられます。
導入コストが圧倒的に低い
クラウド内のワークロードを漏れなくスキャン可能
実際の環境に影響を与えず実行可能
閉域ネットワーク内のワークロードに関してもネットワーク構成の変更なくスキャン可能
導入コストが圧倒的に低い
エージェントレスの場合は、特定のクラウドのアカウントの権限さえあればスキャンを実行することが可能なため、ワークロードの数によらず数分で導入を完了させることが可能です。
一方、エージェントを導入する場合は、環境ごとにインストールし起動する設定を入れる必要があるため、手間がかかります。
クラウド内のワークロードを漏れなくスキャン可能
エージェントレススキャンの場合は、権限さえあればすべてのワークロードを機械的にスキャンできるため漏れが発生することはありません。
一方で、エージェントを管理者の方がすべての環境に対してインストールすることは多くの企業で困難を極めるため、現場とのコミュニケーションが必要となってしまいます。そのため、すべてのワークロードに絶対導入されている状態にすることに膨大なコストがかかってしまいます。
また、全てのワークロードに導入できていない場合には、資産の把握という観点からもあまり望ましくありませんし、セキュリティホールを生み出してしまうことになりかねません。
実際の環境に影響を与えず実行可能
エージェントレススキャンでは、実際の環境のコピーを取得して静的に解析したり復元して解析を行うため、実際の環境に一切の影響を及ぼしません。
エージェントの場合は、エージェントのためのネットワーク経路を用意したり、エージェントがアプリケーションプロセスの邪魔をしたり、そもそもエージェント自体が脆弱性を持っていて攻撃対象となってしまったり、と実際の環境に影響を及ぼす可能性が十分にあります。
まとめ
本投稿では CWPP ができることとその手法について解説しました。改めてにはなりますがワークロードにおけるセキュリティリスクは非常に大きいです。ワークロードに存在する脆弱性などのリスクを迅速にかつ簡単に保護するためにも CWPP 製品の導入の検討をお勧めいたします。
また、検討の際は導入コストが低いエージェントレス型の CWPP 製品がお勧めです。