쿠버네티스가 컨테이너 전쟁에서 승리했다는 사실은 누구나 알고 있습니다. 쿠버네티스가 승리한 것은 컨테이너 런타임 전쟁뿐입니다. 컨테이너 이미지 전쟁의 승리는 Docker에 의해 이루어졌습니다. 오픈소스 보안 보고서 2019 에 따르면 2주마다 10억 개가 넘는 Docker 컨테이너가 다운로드된다는 통계에서 이를 확인할 수 있습니다. Docker Hub는 기업에서 소비자에게 Apple AppStore와 Google Play가 제공하는 것과 같은 역할을 하게 되었습니다.
컨테이너 이미지는 기본 운영 체제부터 앱 스택, 데이터베이스부터 미들웨어, node.js, Python, Go를 지원하는 앱 엔진까지 다양합니다. 여기에는 애플리케이션 서비스를 위한 생태계 통합 도 포함됩니다.
대부분의 조직에서 컨테이너를 배포하고 있다면, Kubernetes 환경 내에서 Docker 이미지를 배포하고 있을 가능성이 큽니다.
그리고 만약 여러분이 그런 일을 한다면, 취약한 컨테이너 이미지를 배포하고 있을 가능성이 큽니다. 앞서 언급한 Snyk의 조사에 따르면 "가장 인기 있는 기본 Docker 이미지 상위 10개에는 각각 최소 30개의 취약한 시스템 라이브러리가 포함되어 있습니다." 보고서는 "시스템 라이브러리가 많은 도커 이미지에서 제공되는 것은 일반적이다. 이는 일반적으로 Linux 배포판을 기반으로 사용하는 부모 이미지에 의존하기 때문이다"고 언급했습니다.
그러니 조직에서 취약한 이미지를 늘 엄청나게 다운로드하는 셈이죠. Snyk에 따르면, 세 가지 주요 Linux 배포판 모두에서 취약점 수가 꾸준히 증가하고 있습니다.
따라서 Tripwire의 2019년 컨테이너 보안 현황에 따르면 응답자의 무려 60%가 지난 12개월 동안 컨테이너 보안 사고를 경험했다고 밝힌 것은 놀라운 일이 아닙니다. 5명 중 1명(17%)은 조직에서 취약점을 알고 있었지만 그래도 배포했기 때문일 가능성이 높습니다. Snyk는 알려진 취약점을 포함하는 Docker 이미지의 44%에 대해 더 새롭고 안전한 기본 이미지가 있다는 사실을 발견했는데도 불구하고 그렇습니다. 다시 말해, 최신 이미지를 끌어오는 것만으로도 위험이 완화될 수 있었습니다. 취약점이 있는 이미지 중 22%는 이미지를 다시 작성하는 것만으로도 해결할 수 있었습니다.
정말. 이런 건 상상도 못해요.
"보안을 좌측으로 이동"하는 데 중점을 두는 것은 적절한 보안 애플리케이션 서비스(BOT 방어, 웹 애플리케이션 방화벽, ID 및 액세스 제어)를 배포하는 것과 마찬가지로 개발 및 제공 라이프사이클에 보안 관행을 통합하는 것입니다. 이러한 관행에는 알려진 취약점을 찾기 위해 코드와 컨테이너를 스캔한 다음 이를 해결하는 것이 포함됩니다.
그 강조점은 컨테이너 이미지의 취약점을 알고 있었지만 수정하지 않고 배포한 17%의 사람들을 위한 것입니다.
우리는 이보다 더 나은 일을 할 수 있습니다. 그렇습니다. 속도는 중요하지만 보안이 갖춰지지 않은 속도는 위험합니다. 이는 기업뿐만 아니라 궁극적으로 여러분이 서둘러 출시하려는 앱을 사용하는 고객에게도 위험합니다.
아직 안전한 컨테이너화를 실행하지 않았다면 다음 단계를 실행해 보세요.