リコメンデーションのためのコードから実行時環境への強化プロセス

Overview

最新のクラウド アプリケーションは、ソース コード、パイプライン、レジストリ、およびランタイム環境を含む可能性のあるステージ間を移動します。 コードを小さく変更すると、環境全体で多数のクラウド ワークロードが作成される可能性があります。 実行時にセキュリティの問題が発生した場合、問題の開始場所や影響を受ける資産の数がわからない場合があります。

コードからランタイムへのコードを使用すると、ソフトウェア開発ライフサイクル (SDLC) 全体をエンド ツー エンドで可視化できます。 コード・トゥ・ランタイムは、問題の発生源を特定し、その発生範囲を評価し、問題の発生源を修正するのに役立ちます。

続ける前に、 コンテナ画像マッピングの前提条件を確認してください。

コードからランタイムへの変換が見られる場所

Microsoft Defender for Cloud の推奨事項からランタイムにコードにアクセスします。

現在サポートされているのは、コンテナーとコンテナー イメージの脆弱性評価の推奨事項のみです。

SDLC コンテキストが使用可能な場合は、推奨事項ページに次の情報が表示されます。

  • 問題の SDLC フローを示すコンテキスト バナー
  • SDLC チェーン ビュー: ソース → CI/CD パイプライン → レジストリ → ランタイム
  • 影響を受けた資産の動的な数
  • 各 SDLC ステージを表すカード
  • より詳細なビューと修復アクションへのリンク

Code to Runtime でエンド ツー エンド コンテキストをビルドする方法

コードによってランタイムに対してサポートされる推奨事項については、Defender は SDLC 全体でデータを関連付けて以下を識別します。

  1. 問題が発生した場所 (コードやビルド パイプラインなど)。
  2. どの中間ステージが関与しているか。 これらのステージには、レジストリ内のイメージと、デプロイの一部であった CI/CD パイプラインが含まれます。
  3. 影響を受けるアセットの数を把握することで、ブラスト半径についての可視性を得られます。
  4. 各ステージで実行できるアクション。

この機能が重要な理由

コード・トゥ・ランタイムはいくつかの理由で重要です:

  • 実行時にのみ修正すると、次のデプロイ中に問題が再び表示される可能性があります。
  • ソースで修正すると、回帰の繰り返しが防止されます。
  • 影響を理解することは、ロールアウトを計画し、作業を調整するのに役立ちます。
  • 修正プログラムの所有者を特定するのに役立ちます。

SDLC チェーンをランタイムからソースへ遡る

SDLC チェーンは、影響を受けるワークロードがどのように作成されたかを説明する明確な線形パスを提供します。 各ステージはカードとして表示されます。 各ステージカードを展開するとメタデータや利用可能なアクションを確認できます。

問題の爆発半径を理解する

アクションを実行する前に、 影響を受けるすべての資産グリッドを 開いて詳細を確認できます。

  1. この一覧には、同じソースからの影響を受けた資産が表示されます。 これには、クラウド環境またはコード環境の資産が含まれます。 ソースでの問題の修正は、影響を受けるすべての資産に影響を与える可能性があります。これは、CI/CD プロセスの自動化または新しいコードの手動デプロイによって行われます。
  2. 設定に基づいて一覧をフィルター処理できます。 たとえば、Kubernetes 名前空間によってランタイム資産をフィルター処理して、特定の開発チームに問題を割り当てることができます。 画像タグ、ラベルなど、関連する資産メタデータでフィルター処理することもできます。
  3. 行を選択すると、問題のそのインスタンスの詳細が表示されます。

グリッドには次の情報が表示されます。

  • 同じセキュリティの問題と同じソースから影響を受ける各リソース
  • リソースの種類に応じて異なるメタデータ項目
  • フィルター処理とナビゲーション オプション

影響を受ける資産グリッドは以下の通りに役立ちます:

  • 問題の優先順位付け
  • 管理チームとの調整
  • 段階的なロールアウトが必要かどうかを決定する
  • 依存するワークロードを意図せずに中断しないようにする

不足しているデータまたは部分的なデータの処理

一部のSDLCステージでは完全なデータが表示されないこともあります。 一般的な原因には、次のようなものがあります。

  • 無効なコネクタ
  • アクセス許可がありません
  • パイプライン信号の欠如
  • サポートされていないセットアップ

各ギャップに対して、Defenderは以下を示します:

  • なぜデータが欠落しているのか
  • 欠損した部品の有効化や設定方法
  • SDLCカバレッジ拡大の次のステップ

これらの分析情報に基づいて行動する

問題とその影響を理解したら、適切な次の手順を選択します。

所有権の割り当て

推奨事項を Defender for Cloud 内のユーザーまたはチームに直接割り当てます。

リポジトリ統合が有効になっている場合は、次のことができます。

  • SDLC コンテキストで問題を自動入力する
  • 関連する修正プログラムに直接ルーティングする
  • 変更する必要がある内容に関する正確なガイダンスを提供する

GitHub Advanced SecurityとMicrosoft Defender for Cloudとの連携について詳しく学びましょう。

これは現在、Azure portal でのみ使用できます。

免除の適用

一貫した方法で除外を適用します。

(一時的または永続的に) 結果を除外する場合は、次の操作を実行できます。

  • SDLC の中で最も理にかなった段階で

  • 複数のワークロードで繰り返し実行するのではなく、1 回だけ

  • 選択した結果を表示する場合は、部分的な除外を使用します

ワークフローの例

コードを使用してランタイムを実行する一般的な調査には、次の手順が含まれます。

  1. コンテナーの推奨事項を開きます。
  2. SDLC コンテキスト バナーを確認します。
  3. 問題が発生した最も早い段階を特定します。
  4. SDLC カードを展開して、ソース、パイプライン、レジストリ、およびランタイム データを探索します。
  5. 影響を受けるワークロードの数を把握するには、影響グリッドを使用します。
  6. 所有権を割り当てるか、GitHub の問題を開きます。
  7. (省略可能)適切な SDLC ステージで除外を適用します。

まとめ

Code to Runtimeは、ソフトウェア開発ライフサイクル(SDLC)全体にわたる統一された文脈的なビューを提供し、以下のことを可能にします。

  • ランタイムの問題の実際の原因を見つける
  • そのリーチを理解する
  • 最も効果的な場所で一度修正する
  • 実用的で正確なコンテキストをエンジニアリング チームに提供する

これにより、セキュリティとエンジニアリングチームが連携し、繰り返される手動修正を減らすことができます。