最新のクラウド アプリケーションは、ソース コード、パイプライン、レジストリ、およびランタイム環境を含む可能性のあるステージ間を移動します。 コードを小さく変更すると、環境全体で多数のクラウド ワークロードが作成される可能性があります。 実行時にセキュリティの問題が発生した場合、問題の開始場所や影響を受ける資産の数がわからない場合があります。
コードからランタイムへのコードを使用すると、ソフトウェア開発ライフサイクル (SDLC) 全体をエンド ツー エンドで可視化できます。 この機能は、問題の発生元の特定、その爆発半径の評価、ソースでの問題の修正に役立ちます。
続行する前に、前提条件を確認 してください。
コードからランタイムへの変換が見られる場所
Microsoft Defender for Cloud の推奨事項からランタイムにコードにアクセスします。
注
現在サポートされているのは、コンテナーとコンテナー イメージの脆弱性評価の推奨事項のみです。
SDLC コンテキストが使用可能な場合は、推奨事項ページに次の情報が表示されます。
- 問題の SDLC フローを示すコンテキスト バナー
- SDLC チェーン ビュー: ソース → CI/CD パイプライン → レジストリ → ランタイム
- 影響を受けた資産の動的な数
- 各 SDLC ステージを表すカード
- より詳細なビューと修復アクションへのリンク
Code to Runtime でエンド ツー エンド コンテキストをビルドする方法
コードによってランタイムに対してサポートされる推奨事項については、Defender は SDLC 全体でデータを関連付けて以下を識別します。
- 問題が発生した場所 (コードやビルド パイプラインなど)。
- どの中間ステージが関与しているか。 これらのステージには、レジストリ内のイメージと、デプロイの一部であった CI/CD パイプラインが含まれます。
- 影響を受けるアセットの数を把握することで、ブラスト半径についての可視性を得られます。
- 各ステージで実行できるアクション。
この機能が重要な理由
- 実行時にのみ修正すると、次のデプロイ中に問題が再び表示される可能性があります。
- ソースで修正すると、回帰の繰り返しが防止されます。
- 影響を理解することは、ロールアウトを計画し、作業を調整するのに役立ちます。
- 修正プログラムの所有者を特定するのに役立ちます
SDLC チェーンをランタイムからソースへ遡る
SDLC チェーンは、影響を受けるワークロードがどのように作成されたかを説明する明確な線形パスを提供します。 各ステージはカードとして表示されます。 このカードを展開すると、メタデータと使用可能なアクションを表示できます。
問題の爆発半径を理解する
アクションを実行する前に、 影響を受けるすべての資産グリッドを 開いて詳細を確認できます。
- この一覧には、同じソースからの影響を受けた資産が表示されます。 これには、クラウド環境またはコード環境の資産が含まれます。 ソースでの問題の修正は、影響を受けるすべての資産に影響を与える可能性があります。これは、CI/CD プロセスの自動化または新しいコードの手動デプロイによって行われます。
- 設定に基づいて一覧をフィルター処理できます。 たとえば、Kubernetes 名前空間によってランタイム資産をフィルター処理して、特定の開発チームに問題を割り当てることができます。 画像タグ、ラベルなど、関連する資産メタデータでフィルター処理することもできます。
- 行を選択すると、問題のそのインスタンスの詳細が表示されます。
グリッドには次の情報が表示されます。
- 同じセキュリティの問題と同じソースから影響を受ける各リソース
- リソースの種類に応じて異なるメタデータ項目
- フィルター処理とナビゲーション オプション
これは、次の場合に役立ちます。
- 問題の優先順位付け
- 管理チームとの調整
- 段階的なロールアウトが必要かどうかを決定する
- 依存するワークロードを意図せずに中断しないようにする
不足しているデータまたは部分的なデータの処理
一部の SDLC ステージでは、次のような前提条件がないため、完全なデータが表示されない場合があります。
- 無効なコネクタ
- アクセス許可がない
- パイプライン信号の欠如
- サポートされていない構成
不足しているデータまたは部分的なデータに対して、Defender は次の機能を提供します。
- 不足しているデータに関する明確な説明
- 不足しているコンポーネントを有効または構成するためのガイダンス
- SDLC の可視性を拡張するためのアクション可能なパス
これらの分析情報に基づいて行動する
問題とその影響を理解したら、適切な次の手順を選択します。
所有権の割り当て
推奨事項を Defender for Cloud 内のユーザーまたはチームに直接割り当てます。
GitHub の問題を作成またはリンクする
リポジトリ統合が有効になっている場合は、次のことができます。
- SDLC コンテキストで問題を自動入力する
- 関連する修正プログラムに直接ルーティングする
- 変更する必要がある内容に関する正確なガイダンスを提供する
Defender for cloud と GitHub の統合の詳細について説明します。
注
これは現在、Azure portal でのみ使用できます。
一貫した方法で除外を適用します。
(一時的または永続的に) 結果を除外する場合は、次の操作を実行できます。
SDLC の中で最も理にかなった段階で
複数のワークロードで繰り返し実行するのではなく、1 回だけ
選択した結果を表示する場合は、部分的な除外を使用します
ワークフローの例
コードを使用してランタイムを実行する一般的な調査には、次の手順が含まれます。
- コンテナーの推奨事項を開きます。
- SDLC コンテキスト バナーを確認します。
- 問題が発生した最も早い段階を特定します。
- SDLC カードを展開して、ソース、パイプライン、レジストリ、およびランタイム データを探索します。
- 影響を受けるワークロードの数を把握するには、影響グリッドを使用します。
- 所有権を割り当てるか、GitHub の問題を開きます。
- (省略可能)適切な SDLC ステージで除外を適用します。
まとめ
Code to Runtime では、SDLC 全体で統一されたコンテキスト ビューが提供されるため、次のことができます。
- ランタイムの問題の実際の原因を見つける
- そのリーチを理解する
- 最も効果的な場所で一度修正する
- 実用的で正確なコンテキストをエンジニアリング チームに提供する
セキュリティとエンジニアリングの間のこの合理化されたコラボレーションにより、手動による修復作業の繰り返しが削減されます。