コード リポジトリのシークレットを保護する

Defender for Cloudは、GitHubとAzure DevOpsからコード リポジトリ内の公開されたシークレットについて組織に通知します。 シークレット検出は、コード リポジトリ内の任意のファイルに格納されているトークン、パスワード、キー、資格情報などの公開されたシークレットをすばやく検出、優先順位付け、修復するのに役立ちます。

シークレットが検出された場合、Defender for Cloudは、セキュリティ チームが優先順位を付けて対処可能な修復手順を実行できるように支援し、シークレットがアクセスできるターゲット リソースを特定することで、横移動のリスクを最小限に抑えることができます。

コード リポジトリのシークレット スキャンのしくみ

コード リポジトリに対するシークレット スキャンには、GitHub と Azure DevOps 向けの GitHub Advanced Security が必要です。 GitHub Advanced Security では、リポジトリがアーカイブされている場合でも、リポジトリ内に存在するすべてのブランチの Git 履歴全体がスキャンされ、シークレットが検索されます。

詳細については、GitHubとAzure DevOps GitHub Advanced Security のドキュメントを参照してください

サポートされている機能

コード リポジトリシークレットのスキャンは、必要なGitHub Advanced Security ライセンスで使用できます。 Defender for Cloudでの結果の表示は、基盤となるクラウド セキュリティ体制管理の一部として提供されます。 ランタイム リソースへの横移動の可能性を検出するには、Defender Cloud Security Posture Management が必要です。

現時点では、公開されているシークレットの攻撃パスは、Azure DevOps リポジトリでのみ使用できます。

コード リポジトリのスキャンによってリスクはどのように軽減されますか?

シークレット スキャンは、次の軽減策を使用してリスクを軽減するのに役立ちます。

  • 横移動の防止: コード リポジトリ内で公開されているシークレットを検出すると、脅威アクターがこれらのシークレットを利用して重要なリソースを侵害できるため、不正アクセスの重大なリスクが発生します。
  • 不要なシークレットを排除する: 特定のシークレットがテナント内のリソースにアクセスできないことを知ることで、開発者と安全に連携してこれらのシークレットを削除できます。 さらに、シークレットの有効期限が切れている場合もわかります。
  • シークレットセキュリティの強化: Azure Key Vaultなどのシークレット管理システムを使用するための推奨事項を取得します。

シークレットの問題を特定して修復するにはどうすればよいですか?

公開されているシークレットを特定して修復するには、いくつかの方法があります。 ただし、以下に示すすべてのメソッドがすべてのシークレットでサポートされているわけではありません。

  • シークレットの推奨事項を確認する: 資産でシークレットが見つかると、Defender for Cloudの [推奨事項] ページで関連するコード リポジトリに対して推奨事項がトリガーされます。
  • クラウド セキュリティ エクスプローラーでシークレットを確認する: クラウド セキュリティ エクスプローラーを使用して、シークレットを含むコード リポジトリのクラウド セキュリティ グラフに対してクエリを実行します。
  • 攻撃パスの確認: 攻撃パス分析は、クラウド セキュリティ グラフをスキャンして、攻撃が環境を侵害し、影響の大きい資産に到達するために使用する可能性のある悪用可能なパスを公開します。

セキュリティに関する推奨事項

次のシークレットのセキュリティに関する推奨事項を使用できます。

攻撃経路シナリオ

攻撃パス分析は、クラウド セキュリティ グラフをスキャンして、攻撃者が影響の大きい資産に到達するために使用する可能性のある悪用可能なパスを公開するグラフ ベースのアルゴリズムです。 潜在的な攻撃パスは次のとおりです。

  • Azure DevOps リポジトリには、SQL データベースへの横移動を伴う公開されたシークレットが含まれています。
  • パブリックにアクセスできるAzure DevOps リポジトリには、ストレージ アカウントへの横移動を伴う公開されたシークレットが含まれています。

クラウド セキュリティ エクスプローラーのクエリ

公開されているシークレットと横移動の可能性を調査するには、次のクエリを使用できます。

シークレットの問題を効果的に軽減するにはどうすればよいですか?

シークレットに優先順位を付け、すぐに注意が必要なシークレットを特定できるようにすることが重要です。 これを行うために、Defender for Cloudには次の機能があります。

  • ファイル パス、行番号、列、コミット ハッシュ、ファイル URL、GitHub Advanced Security アラート URL、シークレットがアクセスを提供するターゲット リソースが存在するかどうかを示す、すべてのシークレットの豊富なメタデータ。
  • シークレット メタデータとクラウド資産コンテキストの組み合わせ。 これは、インターネットに公開されている資産や、他の機密性の高い資産を侵害する可能性があるシークレットを含む資産から始めるのに役立ちます。 シークレット スキャンの結果は、リスクベースの推奨事項の優先順位付けに組み込まれます。

クラウド デプロイのシークレットのスキャンVM のシークレットのスキャンDevOps セキュリティの概要