如何Prisma Cloud安装与升级受影响的软件包时计算扫描图像是否存在漏洞?
Question
- 如何Prisma Cloud安装与升级受影响的软件包时计算扫描图像是否存在漏洞?
Environment
- Prisma Cloud 计算
Answer
- 这Prisma Cloud默认情况下,计算漏洞扫描器会扫描带有正在运行的容器的图像。
- 要扫描主机上的所有图像,请切换开关以关闭“仅扫描带有正在运行的容器的图像”,方法是导航到“监视器”>“扫描”>“运行图像”>“扫描”>“运行图像”。 (这个选项确实NOT适用于注册表扫描;无论 Only scan images with running containers 如何设置,您的 registry 扫描规则所针对的所有图像都将被扫描。 参考其他扫描设置)
- 漏洞扫描器将识别与位于主机上的任何包相关的任何漏洞。
- 安装特定的固定包不会安装/升级用于构建包的源包。 源包提供了编译或创建所需软件所需的所有文件。
- 虽然安装了最新/漏洞修复包,但它可能有较旧的易受攻击版本遗留下来,并且漏洞扫描器会报告它。
- 但是,升级包将升级实际包及其关联的库,包括源包。 因此,遗留旧版本文件/二进制文件的可能性较小,并且可能不易受攻击
示例:安装
- 安装 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]
结论:
- 安装包不会安装/升级源包。 源包有可能仍然存在易受攻击的版本。
- Upgrading 升级基本包及其相关包。 因此,这修复了漏洞。
Additional Information
案例分析:
- 以下是报告的两个特定漏洞Prisma Cloud计算漏洞扫描器OpenSSL 1.1.1k-1运行版本操作系统(使用 stable-20210816 版本模拟问题):
CVE - 2021 - 3712
注意:CVE在以下文件中指的是这 2CVE的
- OpenSSL 版本 1.1.1k-1deb11u-1有这些CVE固定的。
- 安装了固定的 OpenSSL 版本 1.1.1k-1deb11u-1。 但是 Prisma 还是报告了这些CVE的。
- 但是,将 OpenSSL 升级到版本 1.1.1k-1deb11u-1 不会报告这些CVE的。
解释:
- 默认情况下,DebianOS (版本 stable-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使用默认包 - 图像易受攻击
- Debian 默认源码包 libssl1.1 版本 1.1.1k-1。
- 未安装 OpenSSL。
- 该图像被报告易受攻击CVE用于 libssl1.1
- Dockerfile 是:
FROM debian:stable-20210816
RUN易于获取更新-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易于获取更新-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 列表 --installed | grep ssl
WARNING : apt 没有稳定的CLI界面。 在脚本中谨慎使用。
libssl1.1/stable,现在是 1.1.1k-1 amd64 [已安装,可升级至:1.1.1k-1+deb11u1 ]
openssl/稳定安全,现在 1.1.1k-1+deb11u1 amd64 [已安装]
Prisma 报告每个源包的 Debian 漏洞,确实有一个源包,OpenSSL 1.1.1k-1,它是这个 libssl1.1 的源,它是易受伤害的。
场景 3:升级 OpenSSL - 图像不易受攻击
- 德比安OS使用默认源包 libssl1.1 版本 1.1.1k-1
- 升级 OpenSSL。 它升级整个包,包括相关包。
- Docker 文件是:
FROM debian:stable-20210816
RUN易于获取更新-y
RUN apt-get 升级 openssl -y
OpenSSL和libssl1.1都升级到固定版本1.1.1k-1+deb11u1
图 3.1:扫描状态已通过。 该层根据 docker 文件中的命令显示升级。
图 3.2:确认 libssl 和 openssl 都升级到最新版本的包信息。
升级时,apt 升级源码包。 因此它升级了二进制包 libssl1.1:
根@df8442a38414:/#易于升级 openssl
阅读包裹清单... 完毕
构建依赖树... 完毕
正在读取状态信息... 完毕
openssl 已经是最新版本 (1.1.1k-1+deb11u1)。
正在计算升级... 完毕
将升级以下软件包:
libssl1.1 tzdata
2升级, 0 个新安装,0 个要删除,0 个未升级。
root@df8442a38414:/# apt 列表 --installed | grep ssl
WARNING : apt 没有稳定的CLI界面。 在脚本中谨慎使用。
libssl1.1/stable-security,现在是 1.1.1k-1+deb11u1 amd64 [已安装,自动]
openssl/稳定安全,现在 1.1.1k-1+deb11u1 amd64 [已安装]
图像是不脆弱到CVE的
结论:
- 安装包不会安装/升级源包。
- 源代码包有可能仍然存在易受攻击的版本。
- Upgrading 升级二进制包及其相关包。 因此,这修复了漏洞。