By virtue of the flexibility and lightness of containerization technologies, modern network systems and servers utilize their resource more effectively, and their applications could be packaged as microservices in an agile manner. Therefore, the container has been highlighted for recent years to cope with today's large-scale system. However, due to the kernel sharing feature of the container, two security concerns arise in terms of privilege and network isolation. The over-privilege recommendation of container image provider which makes the host more vulnerable to the kernel vulnerabilities. Also, current container networks have two significant security issues: topology leakage and traffic exposure. To address these issues, we first derive minimal privileges of containers to minimize the executable system calls. By finding the least privileges to invoking system calls needed by containers, we can minimize exploits of kernel vulnerabilities with malicious system calls. We dynamically trace the Linux system calls of each container and find the gap between privileges recommended by image providers and privileges actually needed by running containers. Next, to eliminate the topology and traffic exposure of the container architecture, we suggest new frameworks, SCALPEL, which internally redirect all incoming container packets to their destinations by using eXpress Data Path (XDP) for bypassing the OS network stack. SCALPEL provides container-aware network isolation that blocking irrelevant communications and secure direct forwarding mechanisms. In this paper, we demonstrate how SCALPEL can effectively prevent several network attacks and overhead of SCALPEL. As a result of performance evaluation, SCALPEL brings overhead of 4.5% within single-node containers and 1.6% overhead within two-node containers.
컨테이너화 기술의 유연성과 가벼움을 통해 현대의 네트워크 시스템과 서버들은 그 컴퓨팅 자원들을 더욱 유연하게 사용할 수 있게 되었고, 어플리케이션들은 마이크로서비스 단위로 신곡하게 패키지될 수 있었다. 이러한 연유로 컨테이너는 대규모 시스템에서도 활용될 수 있었고 최근 몇년에 걸쳐 각광을 받아왔다. 그러나 컨테이너의 커널 공유 모델은 그 권한과 네트워크 격리라는 두 가지의 보안 우려를 불러일으켰다. 과다한 권한을 요구하는 컨테이너 이미지 제공자들에 의해 호스트는 커널 취약점 악용에 대해 더욱 취약해졌다. 또한 현재의 컨테이너 네트워크는 토폴로지 누출과 트래픽 노출이라는 심각한 보안 이슈를 가지고 있었다. 이러한 이슈들을 해결하기 위해, 우리는 먼저 컨테이너의 최소 권한을 도출해 컨테이너가 실행 가능한 시스템 콜을 최소하하고자 하였다. 컨테이너가 필요로하는 시스템 콜을 호출하기 위한 최소한의 권한을 찾아냄으로써 우리는 악성 컨테이너의 커널 취약점 악용의 위험을 최소화할 수 있었다. 각 컨테이너가 호출하는 시스템 콜을 동적으로 추적함으로써 우리는 컨테이너 이미지 제공자들이 권장하는 권한과 실제로 동작하는 컨테이너가 필요로 하는 권한 사이에 큰 차이가 있음을 발견하였다. 다음으로, 우리는 컨테이너 네트워크에서 토폴로지와 트래픽 노출을 제거하기 위해 새로운 프레임워크를 고안하였다. 이를 통해 컨테이너의 패킷을 네트워크 스택을 우회하여 내부적으로 리다이렉트할 수 있었고, 컨테이너 사이의 종속 관계를 인지한 네트워크 격리를 제공하였다. 이는 서로 연관 없는 컨테이너 사이의 연결을 차단하고 컨테이너 인터페이스 간의 직접적인 전송을 통해 달성되었다. 본 학위논문에서는 이 프레임워크가 어떻게 네트워크 공격을 방어해내는 지와 그 오버헤드를 다루며, 실험 결과 단일 노드 환경에서 4.5%의 오버헤드와 두개 노드 환경에서 1.6%의 오버헤드와 함께 더 강화된 컨테이너 네트워크 보안을 제공해주었다.