Defender for Containers は、Kubernetes コントロール プレーンとワークロード ランタイムに対する脅威に対する強化されたアラート機能を提供します。 また、Microsoft Defender for Endpoint (MDE) とMicrosoft Defender 脅威インテリジェンスは、Kubernetes コンテナーに関連する脅威を検出し、Defender センサーと組み合わせることで、Kubernetes 環境を保護するための包括的で実用的なアラートの強化されたコンテキストを提供します。
コントロール プレーンの検出
Kubernetes では、コントロール プレーンはクラスター内のすべてのリソースを管理および調整します。 Defender for Containers は、Kubernetes API サーバーのアクティビティを監視することで、クラスター全体のセキュリティと整合性を損なう可能性があるコントロール プレーン内の潜在的な脅威を識別します。 サービス アカウントによる疑わしい操作やサービスの公開など、潜在的なセキュリティ上の脅威を示す重大なイベントがキャプチャされます。
Defender for Containers によってキャプチャされる疑わしい操作の例を次に示します。
- 特権コンテナーのデプロイ は、ホスト システム内でコンテナーに昇格された特権を付与するため、セキュリティ 上のリスクになる可能性があります。 特権コンテナーは、承認されていないデプロイ、特権の過剰な使用、およびセキュリティ侵害につながる可能性のある構成の誤りを監視します。
- パブリック インターネットへの危険なサービスの公開 は、Kubernetes クラスターを潜在的な攻撃にさらす可能性があります。 クラスターは、意図せず公開されたり、アクセス制御が過度に制限されたり、適切なセキュリティ対策がないサービスを監視したりします。
- 不審なサービス アカウントアクティビティ は、クラスター内の未承認のアクセスまたは悪意のある動作を示す可能性があります。 クラスターは、過剰なリソース要求、承認されていない API 呼び出し、機密データへのアクセスなど、異常なパターンがないか監視されます。
ワークロード ランタイムの検出
Defender for Containers では、 Defender センサー を使用して Kubernetes ワークロード ランタイム アクティビティを監視し、ワークロード プロセス作成イベントなどの疑わしい操作を検出します。
疑わしいワークロード ランタイム アクティビティの例を次に示します。
- Web シェル アクティビティ - Defender for Containers は、実行中のコンテナーのアクティビティを監視して、Web シェル呼び出しに似た動作を識別します。
- 暗号化マイニング アクティビティ - Defender for Containers では、いくつかのヒューリスティックを使用して、疑わしいダウンロード アクティビティ、CPU 最適化、疑わしいプロセスの実行など、実行中のコンテナーでの暗号化マイニング アクティビティを識別します。
- ネットワーク スキャン ツール – Defender for Containers は、悪意のあるアクティビティに使用されたスキャン ツールの使用状況を識別します。
- バイナリ ドリフト検出 - Defender for Cloud は、元のコンテナー イメージからドリフトしたワークロード バイナリの実行を識別します。 詳細については、 Binary ドリフト検出を参照してください。
Kubernetes アラート シミュレーション ツール
Defender for Containers には、Kubernetes 環境内のさまざまな攻撃シナリオをシミュレートするツールが用意され、アラートが生成されます。 シミュレーション ツールは、ターゲット クラスターに 2 つのポッド ( attacker と victim をデプロイします。 シミュレーション中、攻撃者は実際の手法を使用して被害者を "攻撃" します。
Note
シミュレーション ツールでは悪意のあるコンポーネントは実行されませんが、運用ワークロードなしで専用クラスターで実行することをお勧めします。
シミュレーション ツールは、ターゲット クラスターに Helm チャートをデプロイする Python ベースの CLI を使用して実行されます。
シミュレーション ツールをインストールする
前提条件:
ターゲット クラスターに対する管理者アクセス許可を持つユーザー。
Defender for Containers が有効になり、Defender センサーもインストールされます。 次のコマンドを実行して、Defender センサーがインストールされていることを確認できます。
kubectl get ds microsoft-defender-collector-ds -n kube-system
Helm クライアントがローカル コンピューターにインストールされます。
Python バージョン 3.7 以降がローカル コンピューターにインストールされています。
ターゲット クラスター
kubeconfig
ポイントします。 Azure Kubernetes Service の場合は、次を実行できます。az aks get-credentials --name [cluster-name] --resource-group [resource-group]
次のコマンドを使用してシミュレーション ツールをダウンロードします。
curl -O https://raw.githubusercontent.com/microsoft/Defender-for-Cloud-Attack-Simulation/refs/heads/main/simulation.py
シミュレーション ツールを実行する
次のコマンドを使用してシミュレーション スクリプトを実行します。
python simulation.py
シミュレートされた攻撃シナリオを選択するか、すべての攻撃シナリオを一度にシミュレートすることを選択します。 使用可能なシミュレートされた攻撃シナリオは次のとおりです。
シナリオ | 予想されるアラート |
---|---|
偵察 | 可能な Web シェル アクティビティが検出されました 疑わしい Kubernetes サービス アカウント操作が検出されました ネットワーク スキャン ツールが検出されました |
侵入拡大 | 可能な Web シェル アクティビティが検出されました Access to cloud metadata service detected (クラウド メタデータ サービスへのアクセスが検出されました) |
シークレットの収集 | 可能な Web シェル アクティビティが検出されました 機密性の高いファイルへのアクセスが検出されました シークレット偵察の可能性が検出されました |
暗号化マイニング | 可能な Web シェル アクティビティが検出されました Kubernetes の CPU 最適化が検出されました アクセスされたコンテナー内のコマンド ld.so.preload 可能性のある暗号マイナーのダウンロードが検出されました コンテナーで実行されているドリフト バイナリが検出されました |
Web シェル | 可能な Web シェル アクティビティが検出されました |
Note
一部のアラートはほぼリアルタイムでトリガーされますが、その他のアラートには最大 1 時間かかる場合があります。