レイヤー分析でコンテナセキュリティを強化する

By 清水 孝郎 - JULY 25, 2024

SHARE:

本文の内容は、2024年7月23日に FEDE BARCELONA が投稿したブログ(https://sysdig.com/blog/layered-analysis-for-enhanced-container-security/)を元に日本語に翻訳・再構成した内容となっております。

コンテナ化されたアプリケーションは優れたスピードと柔軟性を提供しますが、コンテナイメージ内の脆弱性の管理と軽減において複雑なセキュリティ課題ももたらします。これらの問題に対処するために、私たちは正確で実用的なセキュリティインサイトを提供する重要な強化機能「レイヤー分析」をご提供することを嬉しく思います。

新機能: レイヤー分析機能

レイヤー分析は、コンテナイメージを構成レイヤーに分解して詳細に表示することで、コンテナセキュリティツールキットを強化します。この機能により、脆弱性がベースイメージに属するのか、アプリケーションレイヤーに属するのかを明確に判別できるため、脆弱性をより正確に特定し、修復ワークフローを最適化できます。これにより、適切なチームの割り当てと解決に役立ちます。

主な利点

  • 精度の向上と修正時間の短縮:各コンテナイメージ レイヤーの脆弱性を識別し、原因となる特定のパッケージと命令を特定することで、修正時間を短縮します。
  • 帰属と所有権の促進:脆弱性がベースイメージに属しているか、アプリケーション レイヤーに属しているかを識別し、適切なチームの割り当てと解決を支援します。
  • 実用的な洞察:脆弱性の解決を迅速化し、優先順位を付ける実用的で状況に応じた推奨事項を受け取ります。

レイヤー分析による詳細な洞察

コンテナ イメージはレイヤーでビルドされ、ビルドプロセス中の各変更または指示によって新しいレイヤーが作成されます。レイヤー分析は、各イメージ レイヤーに関連付けられた脆弱性とパッケージを検出して表示し、脆弱性を導入したレイヤーに応じて異なる修復アクションと所有権を識別するのに役立ちます。

強化されたコンテナセキュリティ

たとえば、サポート終了 (EOL) の Alpine バージョンなどのベース OS レイヤーの脆弱性は、ベースイメージ バージョンを更新することで修正できます。このタスクは通常、セキュリティチームが実行します。一方、Gin や Echo などの古い Go ライブラリなどのアプリケーション レイヤーまたは非 OS レイヤーの脆弱性は、ライブラリと依存関係のバージョンを更新することで対処できます。このタスクは開発チームが担当します。

レイヤー分析を有効にして使用する方法

レイヤー分析は現在一般提供されており、完全な機能を使用するには次のコンポーネントが必要です。

  • クラスターおよびレジストリスキャナー:プラットフォーム スキャンで自動的にサポートされます。
  • CLI バージョン 1.12.0 以上:最新の CLI バージョンを使用していることを確認してください。
  • CLI の機能強化:新しいフラグ (–separate-by-layer および –separate-by-image) を使用して出力を変更し、イメージ階層またはレイヤー情報を表示します。
  • JSON 出力:詳細なレイヤー情報のための新しいフィールドが追加されました。

イメージ階層の探索

以下のスクリーンショットに示すように、イメージ階層を理解することがレイヤー分析の鍵となります。

このビューには、ベースイメージとアプリケーション レイヤーの違いが表示されるため、脆弱性の原因をすばやく特定できます。

  • すべてのレイヤー: アプリケーション レイヤーと OS レイヤーの両方を含む、最終イメージ内の脆弱性の合計数を表示します。中間レイヤーで脆弱性が修正された場合、その脆弱性は合計数に含まれません。
  • ベースイメージ (FROM で始まる):親イメージから継承されたものも含め、ベース イメージに存在する脆弱性を表示します。
  • アプリケーションレイヤー: ベース イメージからの脆弱性を除き、アプリケーション レイヤーに導入された脆弱性のみを表示します。

実用的な推奨事項

レイヤー分析は脆弱性を特定するだけでなく、脆弱性を修正するための推奨事項も提供します。ベースイメージをアップグレードし、アプリケーション レイヤーの最悪の脆弱性に対処し、問題のあるパッケージを修正するための提案を受け取ります。 

これらの実用的な洞察は、修復プロセスを合理化し、脆弱性が効率的かつ効果的に対処されることを促進します。

イメージヒストリーの完全な可視性

レイヤー分析では、コンテナ イメージの履歴も完全に可視化されます。以前のレイヤーに存在していたが、後続のレイヤーで削除されたパッケージを確認できます。 

これらのパッケージはもはやセキュリティ上の問題を引き起こしませんが、このヒストリービューを持つことは、イメージの進化を理解し、包括的なセキュリティ管理を確実にするために非常に重要です。 

これにより、チームは変更を遡って追跡できるようになり、共同作業が容易になり、安全なコンテナ環境を維持できるようになります。

単一レイヤーの調査

レイヤー分析のもう 1 つの強力な機能は、コンテナイメージの単一レイヤーを調査できることです。各レイヤーにどのようなパッケージが存在するかを正確に確認し、その特定の段階で導入された脆弱性を特定できます。 

この詳細な調査機能により、チームはセキュリティ問題の原因を正確に特定し、各レイヤーの変更の影響を把握できます。単一のレイヤーを分離して分析することで、脆弱性をより効果的に管理および修復できます。

レイヤー分析を活用してセキュリティを向上

レイヤー分析は、セキュリティおよび開発チームにコンテナイメージの脆弱性に関する明確で実用的な視点を提供し、その精度を向上させることでリスクを効果的に軽減し、全体的なセキュリティを向上させます。

レイヤー分析を使用することで、チームは脆弱性が導入された具体的な場所と、責任のある特定のレイヤーを特定することができます。この機能は、イメージのビルドからデプロイメント、そして健全性の監視に至るまで、複数のチームがコンテナ化されたアプリケーションのライフサイクルに関わる大規模な組織において特に有用です。例えば、ベースとなるイメージを作成または管理するインフラエンジニア、アプリケーションをパッケージ化する開発者、そして全員が協力してワークロードのセキュリティを確保し、脆弱性をなくし、セキュリティパッチを迅速に適用することに努めます。脆弱性をその源にまで遡ることで、チームは責任を明確にし、アカウンタビリティを確保することができます。

レイヤー分析は、ベースイメージとアプリケーションレイヤーの脆弱性を明確に区別することで、修復タスクの効率的なルーティングを可能にします。セキュリティチームは継承された脆弱性を軽減するためにベースイメージの更新に集中し、開発チームはアプリケーションレイヤー内の問題に対処します。この構造化されたアプローチは、修復プロセスを合理化するだけでなく、コンテナ化された環境の全体的なセキュリティ姿勢も強化します。

さらに詳しく知りたいですか? Sysdig の担当者にお問い合わせいただくか、こちらからデモを予約してください