Visible to the public RSDS: Getting System Call Whitelist for Container Through Dynamic and Static Analysis

TitleRSDS: Getting System Call Whitelist for Container Through Dynamic and Static Analysis
Publication TypeConference Paper
Year of Publication2020
AuthorsWang, X., Shen, Q., Luo, W., Wu, P.
Conference Name2020 IEEE 13th International Conference on Cloud Computing (CLOUD)
Date Publishedoct
Keywordscloud computing, Containers, Docker, Kernel, Linux, pubcrawl, resilience, Resiliency, Scalability, seccomp, security, Security by Default, static analysis, system call, Whitelists
AbstractContainer technology has been used for running multiple isolated operating system distros on a host or deploying large scale microservice-based applications. In most cases, containers share the same kernel with the host and other containers on the same host, and the application in the container can make system calls of the host kernel like a normal process on the host. Seccomp is a security mechanism for the Linux kernel, through which we can prohibit certain system calls from being executed by the program. Docker began to support the seccomp mechanism from version 1.10 and disables around 44 system calls out of 300+ by default. However, for a particular container, there are still many system calls that are unnecessary for running it allowed to be executed, and the abuse of system calls by a compromised container can trigger the security vulnerabilities of a host kernel. Unfortunately, Docker does not provide a way to get the necessary system calls for a particular container. In this paper, we propose RSDS, a method combining dynamic analysis and static analysis to get the necessary system calls for a particular container. Our experiments show that our solution can reduce system calls by 69.27%-85.89% compared to the default configuration on an x86-64 PC with Ubuntu 16.04 host OS and does not affect the functionalities of these containers.
DOI10.1109/CLOUD49709.2020.00089
Citation Keywang_rsds_2020