どうやってPrisma CloudCompute では、影響を受けるパッケージのインストール時とアップグレード時にイメージの脆弱性をスキャンしますか?
Question
- どうやってPrisma CloudCompute では、影響を受けるパッケージのインストール時とアップグレード時にイメージの脆弱性をスキャンしますか?
Environment
- Prisma Cloud コンピューティング
Answer
- のPrisma Cloudコンピューティング脆弱性スキャナーは、デフォルトで実行中のコンテナーを含むイメージをスキャンします。
- ホスト上のすべてのイメージをスキャンするには、[モニター] > [スキャン] > [実行中のイメージ] > [スキャン] > [実行中のイメージ] に移動して、スイッチを切り替えて [実行中のコンテナーを持つイメージのみをスキャン] をオフにします。 (このオプションはNOTレジストリのスキャンに適用します。 [実行中のコンテナーを持つイメージのみをスキャンする] の設定に関係なく、レジストリ スキャン ルールの対象となるすべてのイメージがスキャンされます。 参照追加のスキャン設定)
- 脆弱性スキャナーは、ホスト上にあるパッケージに関連する脆弱性を識別します。
- 特定の修正パッケージをインストールしても、パッケージのビルドに使用されたソース パッケージはインストール/アップグレードされません。 ソース パッケージには、目的のソフトウェアをコンパイルまたは作成するために必要なすべてのファイルが含まれています。
- 最新の脆弱性修正パッケージがインストールされていますが、古い脆弱なバージョンが残っている可能性があり、脆弱性スキャナーがそれを報告します。
- ただし、パッケージをアップグレードすると、ソース パッケージを含む実際のパッケージとその関連ライブラリもアップグレードされます。 したがって、古いバージョンのファイル/バイナリが残る可能性は低く、脆弱ではない可能性があります。
例: インストール
- OpenSSL 修正バージョン 1.1.1k-1+deb11u1 をインストールすると、パッケージ情報に古い脆弱なバージョン 1.1.1k-1 の libssl ソース パッケージが含まれているため、イメージの脆弱性が依然として表示されます。
- OpenSSL パッケージをインストールしても、libssl1.1 パッケージの構築に使用されるソース パッケージはインストール/アップグレードされません。openssl と呼ばれる「バイナリ」パッケージがインストールされます。
root@138cc85d276c:/# apt-get install openssl Reading package lists... Done Building dependency tree... Done Reading state information... Done Suggested packages: ca-certificates The following NEW packages will be installed: openssl 0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded. Need to get 851 kB of archives. After this operation, 1500 kB of additional disk space will be used. Get:1 http://security.debian.org/debian-security stable-security/main amd64 openssl amd64 1.1.1k-1+deb11u1 [851 kB] Fetched 851 kB in 0s (7950 kB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package openssl. (Reading database ... 6653 files and directories currently installed.) Preparing to unpack .../openssl_1.1.1k-1+deb11u1_amd64.deb ... Unpacking openssl (1.1.1k-1+deb11u1) ... Setting up openssl (1.1.1k-1+deb11u1) ...
- 特定のパッケージをアップグレードすると、インストールされているパッケージとソース パッケージがアップグレードされます。
例: アップグレード
- OpenSSL をアップグレードすると、OpenSSL と関連ライブラリもアップグレードされます。 これにより、すべての脆弱性が修正されます。
root@df8442a38414:/# apt upgrade openssl Reading package lists... Done Building dependency tree... Done Reading state information... Done openssl is already the newest version (1.1.1k-1+deb11u1). Calculating upgrade... Done The following packages will be upgraded: libssl1.1 tzdata 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. root@df8442a38414:/# apt list --installed | grep ssl WARNING: apt does not have a stable CLI interface. Use with caution in scripts. libssl1.1/stable-security,now 1.1.1k-1+deb11u1 amd64 [installed,automatic] openssl/stable-security,now 1.1.1k-1+deb11u1amd64 [installed]
結論:
- パッケージをインストールしても、ソース パッケージはインストール/アップグレードされません。 ソース パッケージに脆弱なバージョンが残っている可能性があります。
- アップグレードすると、基本パッケージとその関連パッケージがアップグレードされます。 したがって、これにより脆弱性が修正されます。
Additional Information
ケーススタディ:
- 以下は、によって報告された 2 つの具体的な脆弱性です。Prisma Cloud脆弱性スキャナーを計算するOpenSSL 1.1.1k-1で実行されているバージョンDebian オペレーティング システム(問題をシミュレートするためにバージョン安定版-20210816 が使用されます):
CVE - 2021 - 3712
注:CVE次の文書ではこれら 2 つを指しますCVEさんの
- OpenSSL バージョン 1.1.1k-1deb11u-1これらを持っていますCVEが修正されました。
- 修正された OpenSSL バージョン 1.1.1k-1deb11u-1 をインストールしました。 しかし、Prismaは依然としてこれらを報告しましたCVEさんの。
- ただし、OpenSSL をバージョン 1.1.1k-1deb11u-1 にアップグレードしても、これらは報告されません。CVEさんの。
説明:
- デフォルトでは、DebianOS (バージョン安定版-20210816) には、ソースパッケージ「libssl1.1」バージョン 1.1.1.k-1 OpenSSL に関連するもの。
- インストール中OpenSSL パッケージは、ソース パッケージ libssl1.1 をインストール/アップグレードしません。 ソースパッケージ libssl1.1 はまだ存在します。脆弱バージョン 1.1.1.k-1。
- アップグレード中OpenSSL とそれに関連する libssl を修正バージョン 1.1.1k-1deb11u-1 にアップグレードします。 したがって、この修正イメージ内の関連する脆弱性。
- パッケージのインストールとアップグレードの違いを詳しく理解するために、3 つの異なるシナリオを見てみましょう。
シナリオ 2: インストールされた OpenSSL 修正バージョン - イメージには脆弱性があります
シナリオ 3: OpenSSL のアップグレード - イメージは脆弱ではない
シナリオ 1: DebianOSデフォルトのパッケージの場合 - イメージには脆弱性があります
- デフォルトのソースパッケージ libssl1.1 バージョン 1.1.1k-1 を使用する Debian。
- OpenSSLがインストールされていません。
- 画像には脆弱性があると報告されていますCVElibssl1.1用
- Dockerfile は次のとおりです。
FROM debian:stable-20210816
RUN apt-get update -y
- との画像libssl1.1 バージョン 1.1.1k-1は脆弱にCVEさんの。
図 1.1: イメージ レイヤーがクリティカルおよび高であるため、スキャン ステータスが失敗しました (構成されたルールに従って)CVEさんの
図 1.2: クリティカルと高CVEが報告した
図 1.3: 脆弱な libssl バージョンを含むパッケージ情報
シナリオ 2: インストールされた OpenSSL 修正バージョン - イメージには脆弱性があります
- デビアンOSデフォルトのソースパッケージ libssl1.1 バージョン 1.1.1k-1 を使用
- OpenSSL 1.1.1k-1deb11u-1 をインストールしました脆弱性の修正が期待されるバージョン。 しかし、Prismaは画像を次のように報告しています脆弱にCVEさんの。
- Dockerfile は次のとおりです。
FROM debian:stable-20210816
RUN apt-get update -y
RUN apt-get インストール openssl
- 上記の docker ファイルは、修正された OpenSSL バージョン 1.1.1k-1deb11u-1 をインストールします。
図 2.1: パッケージ情報には OpenSSL と libssl の両方のバージョンが表示されます
- スキャン レポートには、イメージまたはホストにインストールされているすべてのパッケージをリストする [パッケージ情報] タブがあります。 また、すべてのアクティブなパッケージ (実行中のソフトウェアによって使用されるパッケージ) も表示されます。 を参照してください。スキャンレポート。
- パッケージ情報により、インストールされている固定 OpenSSL バージョンが確認されます。 ただし、ソース パッケージ libssl1.1 も表示されます。脆弱な古いバージョンを使用します。
- したがって、Prisma は画像を次のように報告します。脆弱にCVEさんの。
- OpenSSL パッケージをインストールしても、libssl1.1 パッケージの構築に使用されるソース パッケージはインストール/アップグレードされません。OpenSSL とも呼ばれる「バイナリ」パッケージがインストールされます。
- 見る: Debian -- bullseye の openssl パッケージに関する詳細
- apt install OpenSSL (または dpkg 相当) を実行する場合、2 つの異なるバイナリ パッケージが存在します。
root@df8442a38414:/# apt list --installed | grep SSL
WARNING : apt には安定版がありませんCLIインターフェース。 スクリプトでは注意して使用してください。
libssl1.1/安定版、現在は 1.1.1k-1 amd64 [インストール済み、次へアップグレード可能: 1.1.1k-1+deb11u1 】
openssl/stable-security、現在 1.1.1k-1+deb11u1 amd64 [インストール済み]
Prisma は、ソース パッケージごとに Debian の脆弱性を報告しています。実際、この libssl1.1 のソースである OpenSSL 1.1.1k-1 というソース パッケージが存在します。脆弱。
シナリオ 3: OpenSSL のアップグレード - イメージは脆弱ではない
- デビアンOSデフォルトのソースパッケージ libssl1.1 バージョン 1.1.1k-1 を使用
- OpenSSL をアップグレードします。 関連パッケージを含む完全なパッケージをアップグレードします。
- Docker ファイルは次のとおりです。
FROM debian:stable-20210816
RUN apt-get update -y
RUN apt-get upgrade openssl -y
OpenSSL と libssl1.1 は両方とも修正バージョン 1.1.1k-1+deb11u1 にアップグレードされます。
図 3.1: スキャンステータスは合格です。 このレイヤーには、docker ファイルのコマンドに従ってアップグレードが表示されます。
図 3.2: libssl と openssl の両方が最新バージョンにアップグレードされたことを確認するパッケージ情報。
アップグレード時に、apt はソース パッケージをアップグレードします。 したがって、バイナリ パッケージ libssl1.1 をアップグレードします。
root@df8442a38414:/# apt アップグレード openssl
パッケージリストを読んでいます... 終わり
依存関係ツリーを構築しています... 終わり
状態情報を読み取り中... 終わり
openssl はすでに最新バージョン (1.1.1k-1+deb11u1) です。
アップグレードを計算しています... 終わり
次のパッケージがアップグレードされます。
libssl1.1 tzdata
2 アップグレードされました、新規インストール 0 件、削除 0 件、アップグレードされていない 0 件。
root@df8442a38414:/# apt list --installed | grep SSL
WARNING : apt には安定版がありませんCLIインターフェース。 スクリプトでは注意して使用してください。
libssl1.1/stable-security、現在は 1.1.1k-1+deb11u1 amd64 [インストール済み、自動]
openssl/stable-security、現在 1.1.1k-1+deb11u1 amd64 [インストール済み]
画像は脆弱ではないにCVEさんの
結論:
- パッケージをインストールしても、ソース パッケージはインストール/アップグレードされません。
- ソース パッケージに脆弱なバージョンが残っている可能性があります。
- アップグレードすると、バイナリ パッケージとその関連パッケージがアップグレードされます。 したがって、これにより脆弱性が修正されます。