Kubernetes가 컨테이너 전쟁에서 승리했다는 것은 누구나 알고 있습니다. 다만 Kubernetes가 승리한 것은 컨테이너 런타임 전쟁입니다. 컨테이너 이미지 전쟁에서는 Docker가 승리했습니다. 이는 2019 오픈 소스 보안 현황 보고서에 따르면 2주마다 10억 개가 넘는 Docker 컨테이너가 다운로드된다는 통계에서도 확인할 수 있습니다. Docker Hub는 기업에 있어 소비자에게 Apple의 App Store와 Google Play가 갖는 것과 같은 존재가 되었습니다.
컨테이너 이미지는 기본 운영 체제부터 애플리케이션 스택까지, 데이터베이스부터 미들웨어, node.js, Python 및 Go를 지원하는 애플리케이션 엔진까지 매우 다양합니다. 여기에는 애플리케이션 서비스를 위한 에코시스템 통합도 포함됩니다.
컨테이너를 배포하는 대다수 조직에 속한다면 Kubernetes 환경에서 Docker 이미지를 배포하고 있을 가능성이 높습니다.
그리고 그렇게 하고 있다면, 취약점이 있는 컨테이너 이미지도 배포하고 있을 가능성이 높습니다. 앞서 언급한 Snyk의 연구에 따르면 "가장 인기 있는 기본 Docker 이미지 상위 10개에는 각각 취약한 시스템 라이브러리가 최소 30개 이상 포함되어 있습니다." 또한 보고서는 "많은 Docker 이미지에서 시스템 라이브러리를 사용할 수 있는 것은 흔한 일인데, 이는 이러한 이미지가 일반적으로 Linux 배포판을 기반으로 하는 상위 이미지에 의존하기 때문입니다."라고 설명합니다.

따라서 현재 수많은 취약한 이미지가 조직에서 지속적으로 다운로드되고 있습니다. Snyk에 따르면 세 가지 주요 Linux 배포판 모두에서 취약점 수가 꾸준히 증가하고 있습니다.
따라서 Tripwire의 2019년 컨테이너 보안 현황 보고서에 따르면 응답자의 무려 60%가 지난 12개월 동안 컨테이너 보안 사고를 경험한 것으로 나타난 것도 놀라운 일이 아닙니다. 약 5명 중 1명(17%)은 조직이 취약점을 알고도 해당 이미지를 그대로 배포했기 때문일 가능성이 큽니다. 이는 알려진 취약점이 포함된 것으로 확인된 Docker 이미지 중 44%에 더 새롭고 안전한 베이스 이미지가 있었다는 Snyk의 조사 결과에도 불구하고 벌어진 일입니다. 다시 말해, 최신 이미지를 가져오기만 했어도 위험을 줄일 수 있었습니다. 취약점이 있는 이미지 중 또 다른 22%는 이미지를 다시 빌드하는 것만으로도 문제를 해결할 수 있었습니다.
정말입니다. 지어낸 이야기가 아닙니다.
"보안을 왼쪽으로 이동"하는 데 대한 많은 관심은 안전한 관행을 개발 및 제공 수명 주기에 통합하는 것만큼이나 적절한 보안 애플리케이션 서비스(BOT 방어, 웹 애플리케이션 방화벽, ID 및 액세스 제어)를 배포하는 데 집중되어 있습니다. 이러한 관행에는 코드와 컨테이너에서 알려진 취약점을 검사하고 그런 다음 이를 해결하는 것이 포함됩니다.
이렇게 강조한 것은 컨테이너 이미지에 취약점이 있다는 사실을 알고도 이를 해결하지 않은 채 배포한 17%의 여러분을 위한 것이었습니다.
우리는 이보다 더 잘할 수 있습니다. 물론 속도도 중요하지만, 보안이 뒷받침되지 않은 속도는 위험합니다. 이는 조직뿐만 아니라 서둘러 출시한 앱을 최종적으로 사용하는 고객에게도 위험을 초래합니다.
아직 안전한 컨테이너화를 실천하고 있지 않다면 다음 단계를 적용해 보세요:
- 사용 현황을 평가하세요. 많은 조직이 오픈 소스 및 타사 소스/이미지를 얼마나 광범위하게 사용하고 있는지 제대로 파악하지 못하고 있습니다. 이를 정확히 파악하는 것이 중요한 첫걸음입니다. 사용 중인지조차 모르는 소프트웨어의 취약점에는 대응할 수 없습니다.
- 표준화. 애플리케이션과 운영 전반에서 공통점을 찾아 컨테이너 이미지/구성 요소의 종류를 가능한 한 최소화하여 표준화하세요. 이렇게 하면 보안 부담이 조직 전체에 분산되어 궁극적으로 모두에게 더 나은 보안을 제공할 수 있습니다.
- 안전한 코드 검토. 타사 구성 요소나 스크립트를 포함하는 경우(거의 확실히 포함하고 있을 것입니다), 이를 검토한 후 비공개 리포지토리에서 배포하거나 빌드하세요.
- 안전한 컨테이너 감사. 타사 이미지를 사용하는 경우 보안을 감사하고 인증한 다음, 비공개 리포지토리에서 배포하세요.
- 보안 채널을 구독하세요. 이미지나 소스 코드에 의존하고 있다면 잠재적인 취약점을 알리는 채널을 찾아 구독하세요. 결국 아는 것이 절반의 승리입니다.
작성자 소개

Lori MacVittie는 F5 CTO 오피스의 수석 엔지니어이자 최고 에반젤리스트로, 애플리케이션 딜리버리, 자동화 전략 및 인프라 분야에서 깊이 있는 전문성을 보유하고 있습니다. AI 에이전트를 위한 가드레일을 정의하고, 취약한 멀티클라우드 아키텍처를 분석하며, 확장 가능한 시스템의 한계를 탐구하는 등 복잡한 문제를 명확하게 풀어내는 것으로 잘 알려져 있습니다. 애플리케이션 개발, IT 아키텍처, 네트워크 및 시스템 운영 전반에 걸쳐 30년 이상의 업계 경험을 쌓았습니다. F5에 합류하기 전에는 수상 경력이 있는 기술 편집자로 활동했습니다. MacVittie는 컴퓨터 과학 석사 학위를 보유하고 있으며, 보안, 클라우드 및 엔터프라이즈 아키텍처 분야를 아우르는 다수의 저서를 집필한 작가입니다. 또한 보드게임과 비디오 게임을 열정적으로 즐기며, 치즈에 대해서는 거리낌 없이 확고한 견해를 갖고 있습니다.
Lori Mac Vittie의 다른 블로그 게시물관련 블로그 게시물
성평등을 향한 여정: 사이버 보안 분야에서 성공적인 커리어를 개척하는 방법에 관한 Jenn Gile과의 Q&A
F5의 ‘성평등을 향한 여정’ 시리즈 네 번째 Q&A에서는 Rachael Shah와 NGINX 제품 마케팅 책임자 Jenn Gile이 사이버 보안 직종에 대한 오해를 바로잡고, 사이버 보안 분야의 성별 격차를 해소하기 위한 조언과 그 이점에 대해 이야기합니다.
TLS 검사에서 피터 파커 원칙 다루기
“큰 힘에는 큰 책임이 따른다.” 볼테르와 처칠도 이와 비슷한 말을 남겼지만, 이 문구는 스파이더맨 코믹스에서 벤 삼촌의 말로 가장 널리 알려져 있습니다. 물론 이 문구가 문화적으로 널리 통용되는 이유 중 하나는 TLS 검사를 비롯해 수많은 상황과 주제에 적용할 수 있기 때문입니다.
Venafi와 F5를 통한 머신 아이덴티티 보호
‘머신 아이덴티티’란 간단히 말해 자동화된 프로세스가 자신의 신원을 식별할 수 있도록 하고, 다른 자동화 시스템과 프로세스가 관련 리소스에 적절한 수준의 접근 권한을 부여하도록 하는 방법을 의미합니다. 이 개념 자체는 새로운 것이 아닙니다. 비교적 새로운 점은 이를 구현해야 하는 규모입니다.
마이너와 미니언: 데이터 유출만이 비용을 초래하는 것은 아닙니다
물론 데이터 유출은 더 큰 비용을 초래할 수 있고(적어도 지금은), 실패 사실을 세상에 드러낼 수밖에 없게 합니다(통지 의무가 있으니까요). 하지만 보안을 단순히 데이터 노출 문제로만 봐서는 안 됩니다. 요즘은 데이터가...
내 클라우드에서 나가!
F5의 Jay Kelley가 전하는 최신 소식에는 Microsoft Office 365용 신규 ID 및 액세스 솔루션을 배포할 때 고려해야 할 사항이 정리되어 있습니다.
Shift(웹 앱) 보안 레터
웹 앱 보안을 개발 초기 단계로 앞당기세요. F5 블로그에서 DevOps 파이프라인 초기에 보안을 통합하여 취약점을 예방하고 시간을 절약하는 방법을 알아보세요.