클라우드 네이티브 환경을 위한 오픈소스 기반 모니터링 서비스 간편 배포 및 이미지 서명 검사기 구현 Implementation of Opensource-Based Automatic Monitoring Service Deployment and Image Integrity Checkers for Cloud-Native Environment원문보기
클라우드 컴퓨팅은 수십 년을 걸쳐 인기를 얻고 있으며, 그에 따라 클라우드 네이티브 애플리케이션에 주요하게 사용되는 기술인 컨테이너 또한 주목을 받고 있다. 이러한 컨테이너 기술은 기존 VM보다 가볍고 성능이 뛰어나지만, 호스트 시스템과 커널을 공유하거나 이미지 레지스트리에서 이미지를 업/다운로드 하는 등의 문제로 여러 가지 보안상의 위협이 존재한다. 컨테이너의 보안 위협 중 하나로 컨테이너 생성의 소스가 되는 컨테이너 이미지의 무결성을 언급할 수 있다. 또한, 컨테이너 애플리케이션이 동작하는 동안의 런타임 보안이 매우 중요하며, 런타임에서 컨테이너 애플리케이션의 동작을 모니터링함으로써 컨테이너에서 발생하는 이상 행위를 탐지하는 데에 도움을 줄 수 있다. 따라서 본 논문에서는 첫째로, 컨테이너 이미지의 무결성을 보장하기 위해 기존의 Docker Content Trust(DCT) 기술을 기반으로 자동으로 이미지의 서명을 검사하는 서명 검사기를 구현한다. 다음으로 Cloud Native Computing Foundation (CNCF)의 오픈소스 프로젝트인 falco를 기반으로 falco 이미지의 배포 간편성을 위해 새로 생성한 이미지를 소개하고, 간편하게 모니터링 시스템을 구축할 수 있도록 돕는 docker-compose를 구현 및 패키지 구성을 제안한다.
클라우드 컴퓨팅은 수십 년을 걸쳐 인기를 얻고 있으며, 그에 따라 클라우드 네이티브 애플리케이션에 주요하게 사용되는 기술인 컨테이너 또한 주목을 받고 있다. 이러한 컨테이너 기술은 기존 VM보다 가볍고 성능이 뛰어나지만, 호스트 시스템과 커널을 공유하거나 이미지 레지스트리에서 이미지를 업/다운로드 하는 등의 문제로 여러 가지 보안상의 위협이 존재한다. 컨테이너의 보안 위협 중 하나로 컨테이너 생성의 소스가 되는 컨테이너 이미지의 무결성을 언급할 수 있다. 또한, 컨테이너 애플리케이션이 동작하는 동안의 런타임 보안이 매우 중요하며, 런타임에서 컨테이너 애플리케이션의 동작을 모니터링함으로써 컨테이너에서 발생하는 이상 행위를 탐지하는 데에 도움을 줄 수 있다. 따라서 본 논문에서는 첫째로, 컨테이너 이미지의 무결성을 보장하기 위해 기존의 Docker Content Trust(DCT) 기술을 기반으로 자동으로 이미지의 서명을 검사하는 서명 검사기를 구현한다. 다음으로 Cloud Native Computing Foundation (CNCF)의 오픈소스 프로젝트인 falco를 기반으로 falco 이미지의 배포 간편성을 위해 새로 생성한 이미지를 소개하고, 간편하게 모니터링 시스템을 구축할 수 있도록 돕는 docker-compose를 구현 및 패키지 구성을 제안한다.
Cloud computing has been gaining popularity over decades, and container, a technology that is primarily used in cloud native applications, is also drawing attention. Although container technologies are lighter and more capable than conventional VMs, there are several security threats, such as sharin...
Cloud computing has been gaining popularity over decades, and container, a technology that is primarily used in cloud native applications, is also drawing attention. Although container technologies are lighter and more capable than conventional VMs, there are several security threats, such as sharing kernels with host systems or uploading/downloading images from the image registry. one of which can refer to the integrity of container images. In addition, runtime security while the container application is running is very important, and monitoring the behavior of the container application at runtime can help detect abnormal behavior occurring in the container. Therefore, in this paper, first, we implement a signing checker that automatically checks the signature of an image based on the existing Docker Content Trust (DCT) technology to ensure the integrity of the container image. Next, based on falco, an open source project of Cloud Native Computing Foundation(CNCF), we introduce newly created image for the convenience of existing falco image, and propose implementation of docker-compose and package configuration that easily builds a monitoring system.
Cloud computing has been gaining popularity over decades, and container, a technology that is primarily used in cloud native applications, is also drawing attention. Although container technologies are lighter and more capable than conventional VMs, there are several security threats, such as sharing kernels with host systems or uploading/downloading images from the image registry. one of which can refer to the integrity of container images. In addition, runtime security while the container application is running is very important, and monitoring the behavior of the container application at runtime can help detect abnormal behavior occurring in the container. Therefore, in this paper, first, we implement a signing checker that automatically checks the signature of an image based on the existing Docker Content Trust (DCT) technology to ensure the integrity of the container image. Next, based on falco, an open source project of Cloud Native Computing Foundation(CNCF), we introduce newly created image for the convenience of existing falco image, and propose implementation of docker-compose and package configuration that easily builds a monitoring system.
두 번째로, 클라우드 네이티브 애플리케이션에서는 애플리케이션이 동작하는 동안의 런타임 보안도 중요하다. 본 논문에서는 여러 런타임보안 중 컨테이너의 이상 행위 탐지를 위해 CNCF (Cloud Native Computing Foundation)의 오픈소스 프로젝트인 falco를 이용해 컨테이너 애플리케이션 모니터링을 간편하게 배포하도록 하는 방법을 소개한다.
해당 무결성을 보장하기 위해 컨테이너 이미지에 대한 서명기능을 사용할 수 있다. 본 논문에서는 첫 번째로, Docker Content Trust (DCT)를 이용해 무결성 보장을 위한 서명 검사 기능을 자동적으로 수행하는 방법을 제시한다. 두 번째로, 클라우드 네이티브 애플리케이션에서는 애플리케이션이 동작하는 동안의 런타임 보안도 중요하다.
본 논문에서는 클라우드 네이티브 애플리케이션에서 발생하는 여러 보안적 위험을 완화하기 위한 툴들을 제안 및 구현하였다. 첫 번째로, 클라우드 네이티브 애플리케이션의 주요하게 사용되는 기술인 컨테이너의 소스가 되는 이미지의 무결성을 확인하기 위해 DCT 기술을 이용한 서명 검사기를 제안하였다.
가설 설정
이 절에서는, falco 모니터링 시스템을 다른 오픈소스 프로젝트를 사용해 웹 대시보드를 제공하는 서비스를 통해 가시화한다고 가정한다. 또한, 호스트 시스템에 로드를 부과하지 않기 위해 Docker 컨테이너를 통해 모든 서비스를 동작시킨다고 가정한다. 이를 위해서는 falco의 stdout 로그 뿐만 아니라, 이를 metrics 형태로 추출하여야 한다.
2절에서 분석한 falco 모니터링 시스템은 강력하지만, 이를 편리한 방법으로 구축하기 위해서는 많은 노력이 필요하다. 이 절에서는, falco 모니터링 시스템을 다른 오픈소스 프로젝트를 사용해 웹 대시보드를 제공하는 서비스를 통해 가시화한다고 가정한다. 또한, 호스트 시스템에 로드를 부과하지 않기 위해 Docker 컨테이너를 통해 모든 서비스를 동작시킨다고 가정한다.
제안 방법
1절에서 설명한 DCT 기술을 활용하여 레지스트리에 존재하는 모든 이미지에 대한 서명 검사를 자동으로 수행하는 서명 검사기를 제안한다. 기존 DCT 사용의 불편성을 해결하기 위해 주기적으로 Docker 레지스트리를 스캔하고 서명 및 서명되지 않은 이미지를 자동적으로 확인하는 서명 검사기를 개발한다. 이를 통해 서명된 이미지와 서명되지 않은 이미지에 대한 정보를 확인하고, 시스템 관리자가 레지스트리를 관리하는데 도움을 줄 수 있다.
다음으로 falco를 이용한 모니터링 시스템을 간편하게 배포할 수 있도록 하는 docker-compose 및설정 파일을 포함하는 패키지의 형태를 제안한다. 간편화된 모니터링 시스템을 위한 패키지는 Fig.
다음으로, 컨테이너 애플리케이션이 동작하는 런타임에서의 보안을 위해 기존 프로젝트의 배포와 통합 면에서의 어려움을 해결하기 위해, 본 논문에서는 이를 쉽게 배포하고 통합할 수 있게 하는 이미지를 구현, docker-compose 및 패키지의 구조를 제안하였다. 이를 통해 시스템 관리자는 더욱 편리하게 서비스에 대한 모니터링 시스템을 구축하고 관리할 수 있다.
본 절에서는 3.1절에서 설명한 DCT 기술을 활용하여 레지스트리에 존재하는 모든 이미지에 대한 서명 검사를 자동으로 수행하는 서명 검사기를 제안한다. 기존 DCT 사용의 불편성을 해결하기 위해 주기적으로 Docker 레지스트리를 스캔하고 서명 및 서명되지 않은 이미지를 자동적으로 확인하는 서명 검사기를 개발한다.
본 절에서는 DCT를 활용한 간편하고 자동적인 서명 검사기를 제안한다. 3.
의 설정 파일은 실제로 동작하지 않으며, Docker 컴포즈 버전, 해당 이미지들을 적절하게 구동시키기 위한 추가적인 볼륨 마운트 및 네트워크 설정 등을 필요로 한다. 여기서는 본 논문에서 생성한 새로운 컨테이너 이미지로 기존의 falco 이미지를 대체하였으며, 패키지의 경로를 이용하여 필수적인 규칙 파일, prometheus와 grafana의 설정 파일 등을 구성하였다.
본 논문에서는 클라우드 네이티브 애플리케이션에서 발생하는 여러 보안적 위험을 완화하기 위한 툴들을 제안 및 구현하였다. 첫 번째로, 클라우드 네이티브 애플리케이션의 주요하게 사용되는 기술인 컨테이너의 소스가 되는 이미지의 무결성을 확인하기 위해 DCT 기술을 이용한 서명 검사기를 제안하였다. 해당 서명 검사기는 DCT의 불편성을 해소하며, 주기적으로 Docker 레지스트리를 스캔 및 레지스트리에 존재하는 전체 이미지에 대한 서명을 자동적으로 확인한다.
이론/모형
서명 검증 기능을 평가하기 위해 Connaisseur 라는 쿠버네티스의 Admission Controller를 이용 한다. Connaissuer는 쿠버네티스에서 컨테이너 이미지에 서명을 확인하기 위한 관리 도구이며, 이는서명되지 않은 이미지를 클러스터에 배포할 수 있는지 여부를 결정한다.
성능/효과
그 결과는 Table. 1.과 같이, 사용자와 시스템 런타임에서는 서명 검증 기능이 더 오랜 시간이 걸리지만, 코드의 단순성 덕에 서명 검증 기능의 모든 하위 프로세스를 포함하는 실제 경과 시간을 확인했을 때 훨씬 빠른 속도를 보이는 것을 확인하였다.
Table. 3.의 결과를 통해 향후 연구에서 주요하게 사용될 기술인 eBPF 를 Kernel 모듈 대신 사용하는 경우에도 시스템 사용량 측면에서는 큰 오버헤드가 없음을 검증하였다.
본 논문에서 제안한 모델을 이용하여 클라우드를 사용하는 경우, 이미지의 무결성 및 런타임 보안 측면에서 더욱 편리하게 보안성을 제공할 수 있다. 또한, 간편하게 모니터링 시스템을 배포함으로써 시스템에서 일어나는 일에 대한 가시성 및 관찰 가능성을 얻을 수 있다. 향후 이미지 무결성 및 런타임 보안측면뿐 아니라, 클라우드 네이티브 환경에 대한 다른 보안적 측면을 해결하는 연구를 추진할 계획이다.
본 논문에서 제안한 모델을 이용하여 클라우드를 사용하는 경우, 이미지의 무결성 및 런타임 보안 측면에서 더욱 편리하게 보안성을 제공할 수 있다. 또한, 간편하게 모니터링 시스템을 배포함으로써 시스템에서 일어나는 일에 대한 가시성 및 관찰 가능성을 얻을 수 있다.
실험 결과, 터미널을 포함한 컨테이너가 생성됨을 탐지함과 더불어, umount를 수행하는 악의적인 이미지에 대해 각각 실제로 실행된 커맨드 및 이미지, 컨테이너 등을 탐지할 수 있음을 확인하였다.
첫 번째로, 클라우드 네이티브 애플리케이션의 주요하게 사용되는 기술인 컨테이너의 소스가 되는 이미지의 무결성을 확인하기 위해 DCT 기술을 이용한 서명 검사기를 제안하였다. 해당 서명 검사기는 DCT의 불편성을 해소하며, 주기적으로 Docker 레지스트리를 스캔 및 레지스트리에 존재하는 전체 이미지에 대한 서명을 자동적으로 확인한다. 이는 시스템 관리자가 서명 정보 및 레지스트리 이미지를 관리하는 데에 도움을 줄 수 있다.
후속연구
또한, 간편하게 모니터링 시스템을 배포함으로써 시스템에서 일어나는 일에 대한 가시성 및 관찰 가능성을 얻을 수 있다. 향후 이미지 무결성 및 런타임 보안측면뿐 아니라, 클라우드 네이티브 환경에 대한 다른 보안적 측면을 해결하는 연구를 추진할 계획이다.
참고문헌 (9)
M. Peter and G. Timothy, "The NIST Definition of Cloud Computing," NIST Special Publication 800-145, Sept 2011
CLOUDMATE, "What is cloud native?", https://cloudmt.co.kr/?p3927, Last Accessed 12 Fed. 2022
RedHat, "Comparison between container and VM", https://www.redhat.com/ko/topics/containers/containers-vs-vms, Last Accessed 01 Fed. 2022
Aqua, "Container Images: Architecture and Best Practices", https://www.aquasec.com/cloud-native-academy/container-security/container-images/, Last Accessed 07 Jan. 2022
Microsoft, "Information of registry, re pository, artifacts", https://docs.microsoft.com/ko-kr/azure/container-registry/container-registry-concepts, Last Accessed 14 Jan. 2022
S. Murugiah, M. John and S. Karen, "Application Container Security Guide", NIST Special Publication 800-190, Sept 2017
Docker, "Content trust in Docker", https://docs.docker.com/engine/security/trust/, Last Accessed 04 Jan. 2022
Trendmicro, "Docker Content Trust: What It Is and How It Secures Contai ner Images", https://www.trendmicro.com/vinfo/us/security/news/virtualization-and-cloud/docker-content-trust-what-it-is-and-how-it-secures-container-images, Last Accessed 01 Fed. 2022
Falco, "Getting Started", https://falco.org/docs/getting-started, Last Accessed 07 Jan. 2022
※ AI-Helper는 부적절한 답변을 할 수 있습니다.