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

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

コード・トゥ・ランタイムは、ソフトウェア開発ライフサイクル(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 内のユーザーまたはチームに直接割り当てます。

リポジトリ統合を有効にすると、以下のことができます:

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

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

注

この機能は現在、Azureポータルでのみ利用可能です。

免除の適用

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

一時的または恒久的に認定を免除する場合、以下のようにすることができます。

  • SDLC の中で最も理にかなった段階で
  • 複数のワークロードで繰り返し実行するのではなく、1 回だけ
  • 選択した結果を表示する場合は、部分的な除外を使用します

ワークフローの例

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

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

まとめ

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

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

このアプローチにより、セキュリティとエンジニアリングチームが連携し、繰り返される手作業の修正が減ります。