26 KiB
컨테이너 이미지 스캐닝
컨테이너 이미지는 이미지 매니페스트, 파일 시스템 및 이미지 구성으로 구성됩니다. 1
예를 들어, Java 애플리케이션용 컨테이너 이미지의 파일 시스템에는 Linux 파일 시스템, JVM 및 애플리케이션을 나타내는 JAR/WAR 파일이 있습니다.
컨테이너를 사용하는 경우 CI/CD 파이프라인의 중요한 부분은 이러한 컨테이너에 알려진 취약성이 있는지 스캐닝하는 프로세스여야 합니다. 이를 통해 컨테이너 내부에 있는 취약성의 수에 대한 귀중한 정보를 얻을 수 있으며, 취약한 애플리케이션을 운영 환경에 배포하고 이러한 취약성으로 인해 해킹되는 것을 방지할 수 있습니다.
2021년 말 발견된 Log4Shell 취약성을 예로 들어보겠습니다. 너무 자세히 설명하지 않아도 응용프로그램에 이 취약성이 있다는 것은 공격자가 서버에서 임의 코드를 실행할 수 있다는 것을 의미합니다. 이 취약성은 가장 인기 있는 Java 라이브러리 중 하나인 Log4j 에 있기 때문에 더욱 악화되었습니다. 꽤나 나쁘네요!
그렇다면 우리가 취약한지 어떻게 알 수 있을까요?
정답은 Image Scanning입니다.
이미지 스캐닝 프로세스는 컨테이너 내부를 살펴보고, 설치된 패키지 목록(리눅스 패키지일 수도 있지만 자바, Go, 자바스크립트 패키지 등일 수도 있음)을 가져오고, 패키지 목록을 각 패키지에 대해 알려진 취약성 데이터베이스와 교차 참조하고, 최종적으로 지정된 컨테이너 이미지에 대한 취약성 목록을 생성하는 것으로 구성됩니다.
컴퓨터 로컬이나 CI/CD 파이프라인에서 컨테이너 이미지를 바로 설치하고 스캔을 시작할 수 있는 오픈 소스 및 독점 이미지 스캐너가 많이 있습니다. 가장 인기 있는 두 가지는 Triby 와 Grype 입니다. 일부 독점 제품은 Snyk (계정 필요, Free tier 있음) 및 VMware Carbon Black (계정 필요, Free tier 없음)입니다.
컨테이너 이미지를 스캔하는 것은 다음 중 하나를 설치하고 실행하는 것처럼 간단합니다:
$ grype ubuntu:latest
✔ Vulnerability DB [updated]
✔ Pulled image
✔ Loaded image
✔ Parsed image
✔ Cataloged packages [101 packages]
✔ Scanned image [16 vulnerabilities]
NAME INSTALLED FIXED-IN TYPE VULNERABILITY SEVERITY
bash 5.1-6ubuntu1 deb CVE-2022-3715 Medium
coreutils 8.32-4.1ubuntu1 deb CVE-2016-2781 Low
gpgv 2.2.27-3ubuntu2.1 deb CVE-2022-3219 Low
libc-bin 2.35-0ubuntu3.1 deb CVE-2016-20013 Negligible
libc6 2.35-0ubuntu3.1 deb CVE-2016-20013 Negligible
libncurses6 6.3-2 deb CVE-2022-29458 Negligible
libncursesw6 6.3-2 deb CVE-2022-29458 Negligible
libpcre3 2:8.39-13ubuntu0.22.04.1 deb CVE-2017-11164 Negligible
libsystemd0 249.11-0ubuntu3.6 deb CVE-2022-3821 Medium
libtinfo6 6.3-2 deb CVE-2022-29458 Negligible
libudev1 249.11-0ubuntu3.6 deb CVE-2022-3821 Medium
login 1:4.8.1-2ubuntu2 deb CVE-2013-4235 Low
ncurses-base 6.3-2 deb CVE-2022-29458 Negligible
ncurses-bin 6.3-2 deb CVE-2022-29458 Negligible
passwd 1:4.8.1-2ubuntu2 deb CVE-2013-4235 Low
zlib1g 1:1.2.11.dfsg-2ubuntu9.2 deb CVE-2022-42800 Medium
이 명령을 사용하여 ubuntu:latest
컨테이너 이미지를 스캔한 결과 16개의 취약점이 있는 것으로 나타났습니다.
각 취약성에는 CVSS 점수에 따라 심각도가 있습니다. 심각도는 '낮음'부터 '심각함'까지 다양합니다.
16개의 취약점은 많아 보이지만, 어느 것도 '크리티컬(Critical)'한 심각성을 가지고 있지 않습니다.
또한 결과 테이블의 'FIXED-IN' 열이 비어 있습니다. 이는 해당 패키지의 최신 버전에서 이 취약성이 수정되지 않음을 의미합니다.
ubuntu:latest
는 Ubuntu의 공식 컨테이너 이미지의 최신 버전이기 때문에 이는 예상됩니다.
일반적으로 이러한 이미지는 정기적으로 업데이트되므로 이러한 이미지에 많은 취약점이 있을 것으로 예상해서는 안 됩니다.(적어도 사용 가능한 수정 사항이 있는 이미지는 아님).
오래된 이미지, 임의의 이미지, 대기업에서 지원하지 않는 이미지 또는 자신이 관리하지 않는 이미지의 경우에는 그렇지 않을 수 있습니다.
예를 들어, Docker Hub의 springio
조직에서 임의 이미지 2년 된 이미지를 스캔하면 훨씬 더 많은 취약점이 잠재해 있음을 알 수 있습니다:
$ grype springio/petclinic:latest
✔ Vulnerability DB [no update available]
✔ Pulled image
✔ Loaded image
✔ Parsed image
✔ Cataloged packages [213 packages]
✔ Scanned image [167 vulnerabilities]
NAME INSTALLED FIXED-IN TYPE VULNERABILITY SEVERITY
bash 4.4.18-2ubuntu1.2 deb CVE-2022-3715 Medium
bash 4.4.18-2ubuntu1.2 4.4.18-2ubuntu1.3 deb CVE-2019-18276 Low
coreutils 8.28-1ubuntu1 deb CVE-2016-2781 Low
dpkg 1.19.0.5ubuntu2.3 1.19.0.5ubuntu2.4 deb CVE-2022-1664 Medium
e2fsprogs 1.44.1-1ubuntu1.3 1.44.1-1ubuntu1.4 deb CVE-2022-1304 Medium
gcc-8-base 8.4.0-1ubuntu1~18.04 deb CVE-2020-13844 Medium
gpgv 2.2.4-1ubuntu1.4 2.2.4-1ubuntu1.6 deb CVE-2022-34903 Medium
gpgv 2.2.4-1ubuntu1.4 2.2.4-1ubuntu1.5 deb CVE-2019-13050 Low
gpgv 2.2.4-1ubuntu1.4 deb CVE-2022-3219 Low
gzip 1.6-5ubuntu1 1.6-5ubuntu1.2 deb CVE-2022-1271 Medium
h2 1.4.200 2.0.202 java-archive GHSA-7rpj-hg47-cx62 High
h2 1.4.200 2.0.206 java-archive GHSA-h376-j262-vhq6 Critical
h2 1.4.200 java-archive CVE-2021-23463 Critical
h2 1.4.200 java-archive CVE-2021-42392 Critical
h2 1.4.200 java-archive CVE-2022-23221 Critical
h2 1.4.200 2.1.210 java-archive GHSA-45hx-wfhj-473x Critical
jackson-databind 2.11.4 2.12.7.1 java-archive GHSA-jjjh-jjxp-wpff High
jackson-databind 2.11.4 2.12.7.1 java-archive GHSA-rgv9-q543-rqg4 High
jackson-databind 2.11.4 java-archive CVE-2022-42004 High
jackson-databind 2.11.4 java-archive CVE-2020-36518 High
jackson-databind 2.11.4 java-archive CVE-2022-42003 High
jackson-databind 2.11.4 2.12.6.1 java-archive GHSA-57j2-w4cx-62h2 High
jquery 2.2.4 java-archive CVE-2019-11358 Medium
jquery 2.2.4 java-archive CVE-2020-11022 Medium
jquery 2.2.4 java-archive CVE-2015-9251 Medium
jquery 2.2.4 java-archive CVE-2020-11023 Medium
jquery 2.2.4 java-archive CVE-2007-2379 Medium
jquery-ui 1.11.4 java-archive CVE-2021-41184 Medium
jquery-ui 1.11.4 java-archive CVE-2016-7103 Medium
jquery-ui 1.11.4 java-archive CVE-2021-41182 Medium
jquery-ui 1.11.4 java-archive CVE-2021-41183 Medium
libc-bin 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2020-29562 Low
libc-bin 2.27-3ubuntu1.4 deb CVE-2016-20013 Negligible
libc-bin 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2020-6096 Low
libc-bin 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2020-27618 Low
libc-bin 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2022-23218 Low
libc-bin 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2016-10228 Negligible
libc-bin 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2019-25013 Low
libc-bin 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2021-3326 Low
libc-bin 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2021-3999 Medium
libc-bin 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2022-23219 Low
libc-bin 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2021-35942 Low
libc-bin 2.27-3ubuntu1.4 deb CVE-2009-5155 Negligible
libc-bin 2.27-3ubuntu1.4 deb CVE-2015-8985 Negligible
libc6 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2021-3999 Medium
libc6 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2016-10228 Negligible
libc6 2.27-3ubuntu1.4 deb CVE-2009-5155 Negligible
libc6 2.27-3ubuntu1.4 deb CVE-2016-20013 Negligible
libc6 2.27-3ubuntu1.4 deb CVE-2015-8985 Negligible
libc6 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2021-3326 Low
libc6 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2021-35942 Low
libc6 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2020-27618 Low
libc6 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2020-6096 Low
libc6 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2020-29562 Low
libc6 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2022-23218 Low
libc6 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2022-23219 Low
libc6 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2019-25013 Low
libcom-err2 1.44.1-1ubuntu1.3 1.44.1-1ubuntu1.4 deb CVE-2022-1304 Medium
libext2fs2 1.44.1-1ubuntu1.3 1.44.1-1ubuntu1.4 deb CVE-2022-1304 Medium
libgcc1 1:8.4.0-1ubuntu1~18.04 deb CVE-2020-13844 Medium
libgcrypt20 1.8.1-4ubuntu1.2 1.8.1-4ubuntu1.3 deb CVE-2021-40528 Medium
libgcrypt20 1.8.1-4ubuntu1.2 1.8.1-4ubuntu1.3 deb CVE-2021-33560 Low
libgmp10 2:6.1.2+dfsg-2 2:6.1.2+dfsg-2ubuntu0.1 deb CVE-2021-43618 Low
libgnutls30 3.5.18-1ubuntu1.4 3.5.18-1ubuntu1.6 deb CVE-2021-4209 Low
libgnutls30 3.5.18-1ubuntu1.4 deb CVE-2018-16868 Low
libgnutls30 3.5.18-1ubuntu1.4 3.5.18-1ubuntu1.6 deb CVE-2022-2509 Medium
libhogweed4 3.4-1ubuntu0.1 3.4.1-0ubuntu0.18.04.1 deb CVE-2021-3580 Medium
libhogweed4 3.4-1ubuntu0.1 3.4.1-0ubuntu0.18.04.1 deb CVE-2018-16869 Low
liblz4-1 0.0~r131-2ubuntu3 0.0~r131-2ubuntu3.1 deb CVE-2021-3520 Medium
liblzma5 5.2.2-1.3 5.2.2-1.3ubuntu0.1 deb CVE-2022-1271 Medium
libncurses5 6.1-1ubuntu1.18.04 deb CVE-2019-17594 Negligible
libncurses5 6.1-1ubuntu1.18.04 deb CVE-2021-39537 Negligible
libncurses5 6.1-1ubuntu1.18.04 deb CVE-2022-29458 Negligible
libncurses5 6.1-1ubuntu1.18.04 deb CVE-2019-17595 Negligible
libncursesw5 6.1-1ubuntu1.18.04 deb CVE-2019-17595 Negligible
libncursesw5 6.1-1ubuntu1.18.04 deb CVE-2021-39537 Negligible
libncursesw5 6.1-1ubuntu1.18.04 deb CVE-2022-29458 Negligible
libncursesw5 6.1-1ubuntu1.18.04 deb CVE-2019-17594 Negligible
libnettle6 3.4-1ubuntu0.1 3.4.1-0ubuntu0.18.04.1 deb CVE-2021-3580 Medium
libnettle6 3.4-1ubuntu0.1 3.4.1-0ubuntu0.18.04.1 deb CVE-2018-16869 Low
libpcre3 2:8.39-9 deb CVE-2017-11164 Negligible
libpcre3 2:8.39-9 2:8.39-9ubuntu0.1 deb CVE-2020-14155 Negligible
libpcre3 2:8.39-9 2:8.39-9ubuntu0.1 deb CVE-2019-20838 Low
libsepol1 2.7-1 2.7-1ubuntu0.1 deb CVE-2021-36086 Low
libsepol1 2.7-1 2.7-1ubuntu0.1 deb CVE-2021-36085 Low
libsepol1 2.7-1 2.7-1ubuntu0.1 deb CVE-2021-36087 Low
libsepol1 2.7-1 2.7-1ubuntu0.1 deb CVE-2021-36084 Low
libss2 1.44.1-1ubuntu1.3 1.44.1-1ubuntu1.4 deb CVE-2022-1304 Medium
libssl1.1 1.1.1-1ubuntu2.1~18.04.9 1.1.1-1ubuntu2.1~18.04.15 deb CVE-2022-0778 High
libssl1.1 1.1.1-1ubuntu2.1~18.04.9 1.1.1-1ubuntu2.1~18.04.20 deb CVE-2022-2097 Medium
libssl1.1 1.1.1-1ubuntu2.1~18.04.9 1.1.1-1ubuntu2.1~18.04.13 deb CVE-2021-3712 Medium
libssl1.1 1.1.1-1ubuntu2.1~18.04.9 1.1.1-1ubuntu2.1~18.04.13 deb CVE-2021-3711 High
libssl1.1 1.1.1-1ubuntu2.1~18.04.9 1.1.1-1ubuntu2.1~18.04.17 deb CVE-2022-1292 Medium
libssl1.1 1.1.1-1ubuntu2.1~18.04.9 1.1.1-1ubuntu2.1~18.04.19 deb CVE-2022-2068 Medium
libstdc++6 8.4.0-1ubuntu1~18.04 deb CVE-2020-13844 Medium
libsystemd0 237-3ubuntu10.47 237-3ubuntu10.56 deb CVE-2022-2526 Medium
libsystemd0 237-3ubuntu10.47 deb CVE-2022-3821 Medium
libsystemd0 237-3ubuntu10.47 237-3ubuntu10.49 deb CVE-2020-13529 Low
libsystemd0 237-3ubuntu10.47 237-3ubuntu10.49 deb CVE-2021-33910 High
libtinfo5 6.1-1ubuntu1.18.04 deb CVE-2019-17595 Negligible
libtinfo5 6.1-1ubuntu1.18.04 deb CVE-2021-39537 Negligible
libtinfo5 6.1-1ubuntu1.18.04 deb CVE-2019-17594 Negligible
libtinfo5 6.1-1ubuntu1.18.04 deb CVE-2022-29458 Negligible
libudev1 237-3ubuntu10.47 237-3ubuntu10.49 deb CVE-2020-13529 Low
libudev1 237-3ubuntu10.47 237-3ubuntu10.49 deb CVE-2021-33910 High
libudev1 237-3ubuntu10.47 deb CVE-2022-3821 Medium
libudev1 237-3ubuntu10.47 237-3ubuntu10.56 deb CVE-2022-2526 Medium
locales 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2022-23219 Low
locales 2.27-3ubuntu1.4 deb CVE-2016-20013 Negligible
locales 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2021-3999 Medium
locales 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2016-10228 Negligible
locales 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2019-25013 Low
locales 2.27-3ubuntu1.4 deb CVE-2009-5155 Negligible
locales 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2021-35942 Low
locales 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2022-23218 Low
locales 2.27-3ubuntu1.4 deb CVE-2015-8985 Negligible
locales 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2020-27618 Low
locales 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2020-29562 Low
locales 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2021-3326 Low
locales 2.27-3ubuntu1.4 2.27-3ubuntu1.5 deb CVE-2020-6096 Low
log4j-api 2.13.3 java-archive CVE-2021-45105 Medium
log4j-api 2.13.3 java-archive CVE-2021-44832 Medium
log4j-to-slf4j 2.13.3 java-archive CVE-2021-44832 Medium
log4j-to-slf4j 2.13.3 java-archive CVE-2021-45105 Medium
logback-core 1.2.3 1.2.9 java-archive GHSA-668q-qrv7-99fm Medium
login 1:4.5-1ubuntu2 deb CVE-2013-4235 Low
login 1:4.5-1ubuntu2 1:4.5-1ubuntu2.2 deb CVE-2018-7169 Low
ncurses-base 6.1-1ubuntu1.18.04 deb CVE-2022-29458 Negligible
ncurses-base 6.1-1ubuntu1.18.04 deb CVE-2019-17595 Negligible
ncurses-base 6.1-1ubuntu1.18.04 deb CVE-2019-17594 Negligible
ncurses-base 6.1-1ubuntu1.18.04 deb CVE-2021-39537 Negligible
ncurses-bin 6.1-1ubuntu1.18.04 deb CVE-2021-39537 Negligible
ncurses-bin 6.1-1ubuntu1.18.04 deb CVE-2022-29458 Negligible
ncurses-bin 6.1-1ubuntu1.18.04 deb CVE-2019-17595 Negligible
ncurses-bin 6.1-1ubuntu1.18.04 deb CVE-2019-17594 Negligible
openssl 1.1.1-1ubuntu2.1~18.04.9 1.1.1-1ubuntu2.1~18.04.13 deb CVE-2021-3712 Medium
openssl 1.1.1-1ubuntu2.1~18.04.9 1.1.1-1ubuntu2.1~18.04.19 deb CVE-2022-2068 Medium
openssl 1.1.1-1ubuntu2.1~18.04.9 1.1.1-1ubuntu2.1~18.04.20 deb CVE-2022-2097 Medium
openssl 1.1.1-1ubuntu2.1~18.04.9 1.1.1-1ubuntu2.1~18.04.13 deb CVE-2021-3711 High
openssl 1.1.1-1ubuntu2.1~18.04.9 1.1.1-1ubuntu2.1~18.04.15 deb CVE-2022-0778 High
openssl 1.1.1-1ubuntu2.1~18.04.9 1.1.1-1ubuntu2.1~18.04.17 deb CVE-2022-1292 Medium
passwd 1:4.5-1ubuntu2 1:4.5-1ubuntu2.2 deb CVE-2018-7169 Low
passwd 1:4.5-1ubuntu2 deb CVE-2013-4235 Low
perl-base 5.26.1-6ubuntu0.5 5.26.1-6ubuntu0.6 deb CVE-2020-16156 Medium
snakeyaml 1.27 java-archive GHSA-w37g-rhq8-7m4j Medium
snakeyaml 1.27 1.32 java-archive GHSA-9w3m-gqgf-c4p9 Medium
snakeyaml 1.27 1.31 java-archive GHSA-3mc7-4q67-w48m High
snakeyaml 1.27 1.31 java-archive GHSA-c4r9-r8fh-9vj2 Medium
snakeyaml 1.27 1.31 java-archive GHSA-hhhw-99gj-p3c3 Medium
snakeyaml 1.27 1.31 java-archive GHSA-98wm-3w3q-mw94 Medium
spring-core 5.3.6 java-archive CVE-2022-22950 Medium
spring-core 5.3.6 java-archive CVE-2022-22965 Critical
spring-core 5.3.6 java-archive CVE-2021-22096 Medium
spring-core 5.3.6 java-archive CVE-2022-22968 Medium
spring-core 5.3.6 java-archive CVE-2022-22970 Medium
spring-core 5.3.6 java-archive CVE-2022-22971 Medium
spring-core 5.3.6 java-archive CVE-2021-22118 High
spring-core 5.3.6 java-archive CVE-2016-1000027 Critical
spring-core 5.3.6 java-archive CVE-2021-22060 Medium
tar 1.29b-2ubuntu0.2 1.29b-2ubuntu0.3 deb CVE-2021-20193 Low
zlib1g 1:1.2.11.dfsg-0ubuntu2 1:1.2.11.dfsg-0ubuntu2.2 deb CVE-2022-37434 Medium
zlib1g 1:1.2.11.dfsg-0ubuntu2 1:1.2.11.dfsg-0ubuntu2.1 deb CVE-2018-25032 Medium
zlib1g 1:1.2.11.dfsg-0ubuntu2 deb CVE-2022-42800 Medium
여기서 우리는 훨씬 더 많은 중요한
취약점을 볼 수 있을 뿐만 아니라 많은 취약점이 해당 종속성의 최신 버전에서 수정되었음을 알 수 있습니다.
즉, 해당 종속성의 간단한 버전 업데이트만으로도 취약점을 제거하고 이미지를 더 안전하게 만들 수 있습니다.
물론 항상 그렇게 간단한 것은 아닙니다. 때로는 종속성의 새 버전에 소스 코드를 변경해야 하는 API 변경 사항이 포함되거나, 종속성과 상호 작용하는 방식에 버그를 유발하는 동작 변경이 포함되거나, 수정될 때까지 피하고 싶은 버그가 발생할 수 있습니다.
또 한 가지 언급할 만한 점은 이러한 유형의 스캔은 알려진 취약점만 탐지한다는 것입니다. 즉, 보안 연구원이 발견하고 CVE를 지정한 취약점만 탐지합니다. 아직 알려지지 않은 취약점이 코드/종속성에 숨어 있을 수 있습니다. (Log4Shell은 2013년부터 사용되었지만 2021년에야 발견됨)
요약하자면, 이미지 스캔은 만병통치약이 아닙니다. 이미지 스캐너가 이미지에 취약점이 0개라고 알려준다고 해서 100% 안전하다는 의미는 아닙니다.
또한 취약점을 완화하는 것은 종속성 버전을 변경하거나 다운그레이드하는 것만큼 간단할 수도 있지만, 때로는 버전 변경을 위해 코드를 변경해야 할 수도 있기 때문에 더 까다로울 수 있습니다.
CVEs
스캐너가 제공하는 취약점 표에서 'CVE-'로 시작하는 것을 볼 수 있습니다:
bash 4.4.18-2ubuntu1.2 deb CVE-2022-3715 Medium
CVE**는 Common Vulnerability and Exposures.의 약자입니다.
취약점을 추적하고 쉽게 검색할 수 있도록 하는 시스템입니다.
새로운 취약점이 발견될 때마다 CNA(CVE 번호 부여 기관)에서 CVE를 할당하고 해당 취약점이 포함된 모든 구성 요소와 연관시킵니다.
이 작업이 완료되면 이 정보는 취약점 데이터베이스로 전파되며 이미지 스캐너를 통해 컨테이너에 존재하는 CVE/취약점에 대해 경고하는 데 활용될 수 있습니다.
요약
이제 이미지 스캔이 중요한 이유와 보안을 강화하는 데 어떻게 도움이 되는지 알게 되었습니다. 15일차에서는 이미지 스캐너가 내부에서 작동하는 방식에 대해 자세히 살펴보고 SBOM과 취약성 데이터베이스 등을 살펴보겠습니다.