¿Cómo Prisma Cloud analiza Compute las imágenes en busca de vulnerabilidades al instalar o actualizar los paquetes afectados?
Question
- ¿Cómo Prisma Cloud analiza Compute las imágenes en busca de vulnerabilidades al instalar o actualizar los paquetes afectados?
Environment
- Prisma Cloud Calcular
Answer
- El Prisma Cloud analizador de vulnerabilidades informáticas analiza las imágenes con contenedores en ejecución de forma predeterminada.
- Para escanear todas las imágenes en el host, active el interruptor para desactivar "Escanear solo imágenes con contenedores en ejecución" navegando para monitorear > Escanear > Imagen en ejecución > Escanear > imágenes en ejecución. (Esta opción se aplica al análisis del Registro; todas las imágenes a las que se dirige la regla de análisis del Registro se analizarán independientemente de cómo esté configurado Solo se NOT hayan establecido las imágenes de análisis con contenedores en ejecución. Consulte Configuración de escaneo adicional )
- El escáner de vulnerabilidades identificará cualquier vulnerabilidad asociada con cualquier paquete ubicado en el host.
- La instalación de un paquete fijo específico no instala/actualiza el paquete de origen utilizado para compilar el paquete. Los paquetes fuente proporcionan todos los archivos necesarios para compilar o crear el software deseado.
- Aunque el paquete corregido más reciente/vulnerabilidad está instalado, es posible que tenga la versión vulnerable anterior sobrante y el escáner de vulnerabilidades lo informe.
- Sin embargo, la actualización del paquete actualizará el paquete real y sus bibliotecas asociadas, incluido el paquete de origen. Por lo tanto, hay menos posibilidades de que queden archivos / binarios de versiones anteriores y que no sean vulnerables
Ejemplo: instalar
- La instalación de OpenSSL versión fija 1.1.1k-1 + deb11u1 todavía muestra la imagen vulnerable ya que la información del paquete tiene el paquete de origen libssl con la versión vulnerable anterior 1.1.1k-1.
- La instalación del paquete OpenSSL no instala/actualiza el paquete de origen utilizado para compilar el paquete libssl1.1 - instala un paquete "binario" llamado 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) ...
- La actualización del paquete específico actualizará el paquete instalado y el paquete de origen.
Ejemplo: actualización
- La actualización de OpenSSL actualizará OpenSSL y las bibliotecas asociadas. Esto corrige todas las vulnerabilidades.
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]
Conclusión:
- La instalación del paquete no instala ni actualiza el paquete de origen. Hay posibilidades de que el paquete fuente todavía esté con las versiones vulnerables.
- La actualización actualiza el paquete básico y sus paquetes asociados. Por lo tanto, esto corrige la vulnerabilidad.
Additional Information
estudio de casos:
- A continuación se muestran dos vulnerabilidades específicas reportadas por Prisma Cloud el escáner de vulnerabilidades informáticas para la versión OpenSSL 1.1.1k-1 que se ejecuta en el sistema operativo Debian (la versión stable-20210816 se usa para simular el problema):
CVE
Nota: El CVE en los siguientes documentos se refiere a estos 2 CVE's
- OpenSSL versión 1.1.1k-1deb11u-1 tiene estos CVE's fijos.
- Se instaló la versión fija de OpenSSL 1.1.1k-1deb11u-1. Pero Prisma todavía informó de estos CVE.
- Sin embargo, la actualización de OpenSSL a la versión 1.1.1k-1deb11u-1 no informa de estos CVE's.
Explicación:
- Por defecto, el Debian OS (versión stable-20210816) viene con el paquete fuente "libssl1.1" versión 1.1.1.k-1 relacionado con OpenSSL.
- La instalación del paquete OpenSSL no instala/actualiza el paquete de origen libssl1.1. El paquete de origen libssl1.1 todavía está con la versión vulnerable 1.1.1.k-1.
- La actualización actualiza OpenSSL y su libssl asociado a la versión fija 1.1.1k-1deb11u-1. Por lo tanto, esto corrige las vulnerabilidades relacionadas en la imagen.
- Repasemos 3 escenarios diferentes para comprender la diferencia entre instalar y actualizar el paquete en detalle.
Escenario 1: Debian OS con paquetes predeterminados - La imagen es vulnerable
- Debian con el paquete fuente predeterminado libssl1.1 versión 1.1.1k-1.
- OpenSSL no está instalado.
- La imagen se reporta vulnerable con CVE's para el libssl1.1
- El Dockerfile es:
FROM debian:stable-20210816
RUN apt-get update -y
- La imagen con libssl1.1 versión 1.1.1k-1 es vulnerable a la CVE's.
Fig. 1.1: Error en el estado de escaneo (según la regla configurada) ya que la capa de
imagen tiene críticas y altas CVEFig. 1.2: Crítica y alta CVEinformadas
Fig. 1.3: Información del paquete con la versión libssl vulnerable
Escenario 2: Versión fija de OpenSSL instalada: la imagen es vulnerable
- El Debian OS con el paquete fuente predeterminado libssl1.1 versión 1.1.1k-1
- Se instaló la versión OpenSSL 1.1.1k-1deb11u-1 esperando que corrigiera las vulnerabilidades. Pero Prisma reporta la imagen como vulnerable a CVE's.
- El Dockerfile es:
FROM debian:stable-20210816
RUN apt-get update -y
RUN apt-get install openssl
- El archivo docker anterior instala la versión fija de OpenSSL 1.1.1k-1deb11u-1.
Fig 2.1: La información del paquete muestra tanto OpenSSL como las versiones libssl
- Los informes de análisis tienen una pestaña Información del paquete, que enumera todos los paquetes instalados en una imagen o host. También muestra todos los paquetes activos, que son paquetes utilizados por el software en ejecución. Consulte Informes de análisis.
- La información del paquete confirma la versión fija instalada de OpenSSL. Sin embargo, también muestra el paquete fuente libssl1.1. con la versión vulnerable anterior.
- Por lo tanto, Prisma informa que la imagen es vulnerable a CVE's.
- La instalación del paquete OpenSSL no instala/actualiza el paquete de origen utilizado para compilar el paquete libssl1.1 - instala un paquete "binario" también llamado OpenSSL
- Ver: Debian -- Detalles del paquete openssl en diana
- Al hacer apt install OpenSSL (o el equivalente dpkg), hay 2 paquetes binarios diferentes.
root@df8442a38414:/# apt list --installed | GREP SSL
WARNING: APT no tiene una interfaz estable CLI . Usar con precaución en los scripts.
libssl1.1/stable,ahora 1.1.1k-1 amd64 [instalado,actualizable a: 1.1.1k-1+deb11u1]
openssl/stable-security,now 1.1.1k-1+deb11u1 amd64 [instalado]
Prisma informa vulnerabilidades para Debian por paquete fuente, y de hecho hay un paquete fuente, OpenSSL 1.1.1k-1 que es la fuente de este libssl1.1 y es vulnerable.
Escenario 3: Actualización de OpenSSL: la imagen no es vulnerable
- El Debian OS con el paquete fuente predeterminado libssl1.1 versión 1.1.1k-1
- Actualice OpenSSL. Actualiza el paquete completo, incluidos los paquetes relacionados.
- El archivo Docker es:
FROM debian:stable-20210816
RUN apt-get update -y apt-get upgrade openssl -y
RUN
Tanto OpenSSL como libssl1.1 se actualizan a la versión fija 1.1.1k-1+deb11u1
Fig. 3.1: Se ha pasado el estado del escaneo. La capa muestra la actualización según los comandos del archivo docker.
Fig. 3.2: La información del paquete que confirma tanto libssl como openssl se actualizó a la última versión.
Al actualizar, apt actualiza el paquete de origen. Por lo tanto, actualiza el paquete binario libssl1.1:
root@df8442a38414:/# apt upgrade openssl
Leyendo listas de paquetes... Hecho
Construyendo árbol de dependencias... Hecho
Leyendo información de estado... Hecho
openssl ya es la versión más reciente (1.1.1k-1+deb11u1
). Calculando la actualización... Hecho
Se actualizarán los siguientes paquetes:
libssl1.1 tzdata
2 actualizado, 0 recién instalado, 0 para eliminar y 0 no actualizado.
root@df8442a38414:/# apt list --installed | GREP SSL
WARNING: APT no tiene una interfaz estable CLI . Usar con precaución en los scripts.
libssl1.1/stable-security,now 1.1.1k-1+deb11u1 amd64 [installed,automatic]
openssl/stable-security,now 1.1.1k-1+deb11u1 amd64 [installed]
La imagen no es vulnerable a la CVEs
Conclusión:
- La instalación del paquete no instala ni actualiza el paquete de origen.
- Hay posibilidades de que el paquete Source todavía esté con las versiones vulnerables.
- La actualización actualiza el paquete binario y sus paquetes asociados. Por lo tanto, esto corrige la vulnerabilidad.