fbpx

コンテナイメージにおけるリスクベースの脆弱性管理 #aqua #コンテナ #セキュリティ #脆弱性管理

この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。

本ブログは「Aqua Security」社の技術ブログで2020年7月14日に公開された「 Risk-Based Vulnerability Management in Container Images 」の日本語翻訳です。

コンテナイメージにおけるリスクベースの脆弱性管理


コンテナイメージには多くの脆弱性が存在し、コンテナのセキュリティが損なわれている可能性があります。組織の規模に関わらず、ビジネスにとって最大のリスクを特定し、何を最初に取り組むべきかを知ることは重要な課題です。CVE を単に重大度の高さやスコアで分類してフィルタリングすることは第一歩としては良いですが、それぞれの環境のコンテキストを考慮したリスク分析とはなりません。さらに、ほとんどの環境では効果的に処理するには結果が多すぎます。必要なのはリスクとコンテキストによる優先順位付けを可能にする、より全体的なアプローチです。Aqua はこれを実現することができます。

コンテキストに応じたリスクの理解

それぞれの環境では、脆弱性が実際にどの程度のリスクを持つかを判断するためのコンテキスト上の要因があります。その要因は環境特有のものかもしれませんし、現時点では実際には影響が無いなどの時間的要因かもしれません。

Aqua プラットフォーム内では、継続的に更新される豊富な脆弱性データとランタイム環境の全体像にアクセスでき、以下のパラメータに従って脆弱性の分類・フィルタリング・優先順位付けを可能にします。

  • CVE の深刻度と CVSS:CVE にどのようなスコアと評価が与えられたか。
  • CVE の悪用可能性:容易にエクスプロイトが可能か。ネットワーク経由で悪用できるか。
  • 脆弱性のあるワークロードを実行:CVE の影響を受けるワークロードがランタイム環境にあるか。
  • 実行中のパッケージ:実行中のワークロードは脆弱性のあるパッケージを使用しているか。

「容易にエクスプロイトが可能か」

CVSS のベーススコアは CVE の悪用可能性の理論的なレベルに対応しており、脆弱性の60%を重大度の高いものとして分類していますが、攻撃者が利用できる実際の悪用可能性を持つ脆弱性は2.5%しかありません。この要因に基づく優先順位付けは実装が簡単でありながら、リストを絞り込むことが効果的であるため、リスクベースのアプローチでは最も一般的な方法です。

Aqua は利用可能なエクスプロイトを持つ脆弱性を表示・フィルタリングできます。またエクスプロイトの種類も表示されるので、優先順位をつけるのに役立ちます。例えば、通常はネットワークを介してリモートで実行できるエクスプロイトは、ローカルアクセスを必要とするエクスプロイトよりも優先的に対応すべきでしょう。


脆弱性毎にエクスプロイトが可能な場合、詳細な内容が表示されます

「影響を受けるワークロードがランタイム環境にあるか」

多くの場合、イメージレジストリをスキャンする組織(私が必ずお勧めする方法です)では、古いイメージや本番で使用されていないイメージのスキャン結果を得られることがあります。これはコンプライアンス上の理由から保存ポリシーに古いイメージを削除しないように規定されているために起こります。その結果、多くの大規模な組織では数万を超えるイメージをレジストリに保存し、古いバージョンのイメージや未使用のイメージを保持していますが、実際にデプロイされるイメージはごく一部です。

「利用されていないイメージ」はそれ自体が攻撃の対象となる可能性を秘めていますが、実行中のコンテナは本番環境で公開されていて攻撃者にとって格好のターゲットとなるため、「利用されている」イメージをまず優先して対処することが重要です。

このニーズに対応するため、いくつかのオプションを用意しています。実行中のすべてのコンテナのイメージを自動的にスキャンするか、レジストリ内のすべてのイメージの中から、実行中のコンテナのイメージを優先してスキャンするかを選択できます。どちらの方法でも設計は容易であり、実行中のイメージの脆弱性は自動で検出されます。


実行中のコンテナと含まれている脆弱性のリスト

「実行中のワークロードは脆弱性のあるパッケージを使用しているか」

パッケージが悪用されるためには、脆弱性があり、エクスプロイトが可能で、実行中のコンテナで利用され、さらにはアプリケーションの一部として実行されている必要があります。脆弱性のあるパッケージがアプリケーションに利用されている場合、 脆弱性の修正や緩和の優先度は高くなるはずです。脆弱性が特定のアプリケーションのコンテキストで使用されているパッケージにいつ影響を与えるかを知ることができることは素晴らしいことです。

Aqua vShield は特定の脆弱性が悪用された場合の緩和を目的として Aqua が開発した機能です。基本的には脆弱性のリスクを緩和するために、 CVE ごとに作成されるランタイムポリシー(Aqua の機能の一つ)です。例えば特定の CVE を緩和するために、TCP ポートを vShield でブロックできます。Audit(検知)モードで vShield ポリシーを実行し、脆弱性のあるパッケージがアクティブに使用されているかどうかを確認できます。アクティブに使用されている場合はリスクが非常に高いことを意味し、修復の優先順位を上げる必要があります。


アクティブに使用されているパッケージに関連する脆弱性を可視化

ビジネスにおける重要性

最終的に重要なことは、組織にとって何が重要かを考え、それに応じて優先順位をつけることです。特定のアプリケーションがよりセンシティブなのか、ミッションクリティカルなのか、あるいは優先順位の高い本番アプリケーションを実行しているクラスタなのか、などです。

この目的のために、Aqua の高度な Application Scope を使用できます。例えばビジネスにクリティカルなアプリケーションを持つ特定のレジストリ・リポジトリ・クラスタをフィルタリングするアプリケーションスコープを作成し、それらのビジネスクリティカルなアプリケーションに関連する脆弱性をフィルタリングすることができます。特定のユーザに限定したフィルタリングも可能なので、これにより分野をさらに絞り込み、チームは自社のアプリケーションに影響を与える脆弱性だけに焦点を当てることができます。


Prioritize business-critical applications by repository name, registry, cluster or namespace

Aqua の リスクベースのインサイト

Aqua はリスクに関連するコンテキスト上の要因を自動的に考慮し、脆弱性のリストを「重要」レベルから「緊急」レベルまで指定が可能であるリスクベースのインサイトインタフェースを提供します。これにより、セキュリティチームは次のレベルのリスクへ移動する前に、最も緊急性の高いリスクのリストを評価することから始めることができます。Aquaを使用することで、チームはリスクベースのアプローチで脆弱性に優先順位をつけることができます。

脆弱性管理ツールをアップグレードするなら今がチャンス

脆弱性の数が増加するにつれて、チームの時間と労力をどこへ投資すべきかを迅速に特定することが、これまで以上に重要となります 。Aqua による脆弱性管理は、多くの有用な機能を提供します。

  • 実行中のコンテナや悪用可能性など、リスクに関連したコンテキスト的要因による脆弱性管理を強化する。
  • 環境に応じたリスクに優先順位をつけるためにリストを絞り込むための使いやすいインタフェース。
  • アクティブに使用されているパッケージについての洞察を提供する、市場で唯一のソリューション。
  • 高度な Application Scope を使用して、ビジネスクリティカルなアプリケーションを簡単にフィルタリング。

特にオープンソースのオペレーティングシステム・アプリケーション・パッケージを多く使用している場合には、増加し続ける既知の脆弱性に対処するための効率的な方法です。旧来の CVE の分類方法はもう終わりにし、リスクベースの脆弱性管理を実施しましょう。

New call-to-action
新規CTA