Securing Container-based Clouds with Syscall-aware Scheduling

, , and
Asia CCS
Melbourne, Austria,
Abstract. Container-based clouds—in which containers are the basic unit of isolation—face security concerns because, unlike Virtual Machines, containers directly interface with the underlying highly privileged kernel through the wide and vulnerable system call interface. Regardless of whether a container itself requires dangerous system calls, a compromised or malicious container sharing the host (a bad neighbor) can compromise the host kernel using a vulnerable syscall, thereby compromising all other containers sharing the host. In this paper, rather than attempting to eliminate host compromise, we limit the effectiveness of attacks by bad neighbors to a subset of the cluster. To do this, we propose a new metric dubbed Extraneous System call Exposure (ExS). Scheduling containers to minimize ExS reduces the number of nodes that expose a vulnerable system call and as a result the number of affected containers in the cluster. Experimenting with 42 popular containers on SySched, our greedy scheduler implementation in Kubernetes, we demonstrate that SySched can reduce up to 46\% more victim nodes and up to 48\% more victim containers compared to the Kubernetes default scheduling while also reducing overall host attack surface by 20\%.
Bibtex.
@inproceedings{jamjoom-asiaccs-2023,
author = {Michael V. and Le and Salman and Ahmed and Dan and Williams and Hani and Jamjoom},
title = {{Securing Container-based Clouds with Syscall-aware Scheduling}},
booktitle = {Asia CCS},
address = {Melbourne, Austria},
month = {Jul},
year = {2023}
}