Download as pdf or txt
Download as pdf or txt
You are on page 1of 21

This article has been accepted for publication in a future issue of this journal, but has not been

fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2019.2911732, IEEE Access

Date of publication xxxx 00, 0000, date of current version xxxx 00, 0000.
Digital Object Identifier 10.1109/ACCESS.2019.DOI

Containers’ Security: Issues,


Challenges, and Road Ahead
SARI SULTAN1 , (Student Member, IEEE), IMTIAZ AHMAD2 , AND TASSOS DIMITRIOU3 ,
(Senior Member, IEEE)
Department of Computer Engineering, Kuwait University, P.O. Box 5969, Safat 13060, Kuwait
1
SariSultan@ieee.org
2
Imtiaz.Ahmad@ku.edu.kw
3
Tassos.Dimitriou@ieee.org
Corresponding author: Imtiaz Ahmad (e-mail: Imtiaz.Ahmad@ku.edu.kw).

ABSTRACT Containers emerged as a lightweight alternative to virtual machines (VMs) that offer
better microservice architecture support. Container market value is expected to reach $2.7 billion in
2020 as compared to $762 million in 2016. Although they are considered the standardized method
for microservices deployment, playing an important role in cloud computing emerging fields such as
service meshes, market surveys show that container security is the main concern and adoption barrier for
many companies. In this paper, we survey the literature on containers’ security and solutions. We have
derived four generalized use cases that should cover security requirements within the container-host threat
landscape. Use cases include: (i) protecting container from applications, (ii) inter-containers protection,
(iii) protecting host from containers, and (iv), protecting containers from host. We found that the first
three use cases utilize software-based solution that mainly rely on Linux kernel features (e.g., namespaces,
CGroups, capabilities, seccomp) and Linux security modules (e.g., AppArmor). The last use case relies
on hardware based solutions such as trusted platform modules (TPMs) and trusted platform support (e.g.,
Intel SGX). We hope that our analysis will help researchers understand container security requirements
and obtain a clearer picture about possible vulnerabilities and attacks. Finally, we highlight open research
problems and future research directions that may spawn further research in the area.

INDEX TERMS Containers, Docker, Linux Containers, OS Level Virtualization, Lightweight Virtual-
ization, Security, Survey

I. INTRODUCTION can start in 50 milliseconds while a VM might take as


Virtual machines (VMs) provide excellent security. How- long as 30 − 40 seconds to start [3]. Many container
ever, their security isolation creates a bottleneck for the total technologies are available such as LXC, OpenVZ, Linux-
number of VMs that can run on a server because each VM Vserver, with Docker being the predominant one. Figure
should have its own copy of the OS, libraries, dedicated 1a shows a simple container’s architecture while Figure
resources, and applications. This has a detrimental effect 1b shows a simple VM’s architecture. Containers are a
on performance (e.g., long startup time) and storage size. more plausible option for microservices than VMs due to
The advent of DevOps software development practice [1, 2] numerous benefits such as being lightweight, fast, easier to
and microservices underscored the need for a faster solution deploy, allowing for better resource utilization and version
than VMs as it is not efficient to run each microservice in control. Containers are being used for different applications
a separate VM due to its long start up time and increased such as IoT services, smart cars, fog computing, service
resource usage. meshes, and so on [4, 5, 6, 3, 7, 8].

Container-based virtualization emerged as a lightweight The introduction of microservice architectures helped


alternative to VMs. Many containers can share the same increase software agility, wherein software parts became
OS kernel instead of having a dedicated copy for each independent units of development, versioning, deployment,
one as in VMs. This greatly reduces start up time and and scaling [8]. Microservices are used by numerous or-
required resources for each image. For example, a container ganizations such as Amazon, Spotify, Netflix, and Twitter

VOLUME 4, 2016 1

2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2019.2911732, IEEE Access

S. Sultan et al.: Containers’ Security: Issues, Challenges, and Road Ahead

to deliver their software [9]. Containers are considered the criteria.


standard to deploy microservices and applications to the
cloud [10]. Containers are also important for the future of A. CONTAINERS
cloud computing and their market value is expected to reach Different names are used to refer to containers in the
$2.7 billion by 2020 (was $762 million in 2016) [11, 12]. literature such as OS level virtualization and lightweight
However, containers are less secure that VMs [13, 14, 15]. virtualization. Docker, LXC, and RKT are examples of
Hence, security is the main barrier for widespread container container managers. Many studies focus on Docker because
adoption [16]. it is the predominant container runtime environment. Hard-
Although there are several surveys that address VMs, they ware virtualization refers to traditional virtual machines and
do not focus on containers’ security issues [17, 18, 19]. hypervisors.
As containers are based on sharing the OS kernel among Containers improve two main downsides of VMs [14]:
them while each VM has its own kernel, containers security first, they share the same OS kernel and can share resources
is different from its VM counterpart since it is based on while each VM needs its own copy. Second, containers can
different architectural support. Hence, understanding con- be started and stopped almost instantly while VMs need
tainers’ security threats and solutions is very important due considerable time to start [3]. Containers also proved to
to the lack of systematic reviews in the literature about them. be more efficient than VMs for some applications such
This is problematic because each of the solutions presented as microservices because they are lightweight and do not
pertains to a very specific use case. For example, trusted require a full OS copy for each image. However, containers
platform support (e.g., Intel SGX) is used primarily to allow still need a full functional kernel that is shared among
running containers on an untrusted host, thus tracking those different containers. Additionally, microservice design un-
different use cases can be frustrating for the reader. derscores the importance of ephemeral state containers,
In this work, we provide four general use cases that wherein any data persistence goes to another data store
should cover most use cases for the host-container level. or service. Containers are considered the standard way to
This should help readers better understand security issues deploy microservices to the cloud [10].
about containers and the available mechanisms to secure Container as a Service (CaaS or CoaaS) creates a new
them. The use cases are: (i) protecting container from delivery model for cloud computing [3]. Many companies
applications, (ii) inter-container protection, (iii) protecting offer container services which allow a wide variety of
host from containers, and (iv), protecting containers from containerized applications for several marketplaces [20].
host. We discuss the available software-based solutions Although OS level virtualization is a promising technology
that are typically used for the first three use cases and with many benefits, it faces a large number of challenges.
hardware-based solutions that are used for the last one. For example, host OS kernel sharing introduces many secu-
Our threat model for the four use cases could be used by rity issues, which make them less secure than VMs [21].
researchers to enhance their understanding about possible Figure 1a shows a simple container architecture. The
vulnerabilities and attacks and clearly illustrate what their bird’s eye view for a container’s stack is necessary because
solutions provide. Finally, we highlight open problems and deployment relies on various parts. Figure 2 shows container
future research directions in order to motivate further work stack components and realization technologies; it is based
in this exciting area. on the architecture from [22] which was modified to merge
The rest of this paper is organized as follows. Section realization technologies and stack components together. This
II discusses background material, relevant resources, and figure shows that a container is a building block for a larger
selection criteria. In Section III, we present our threat model technology stack that can be used to facilitate microservices
and the proposed used cases. In Section IV, we present deployment. Peinl et al. [23] presented a survey on the tools
the software and hardware protection mechanisms used available for containers management. They classified differ-
to secure containers. In particular, Section IV-A presents ent solutions in both the academic literature and industry
software-based mechanisms while Section IV-B presents and mapped them to requirements, based on a case study
hardware-based ones. A discussion on containers’ vulner- they provided. Additionally, they identified gaps in these
abilities, exploits, discovery tools, and relevant standards is tools and integration requirements and proposed their own
presented in Section V. In Section VI, we discuss future tools in order to overcome these deficiencies.
research directions and open issues. Finally, Section VII
concludes this paper. B. MONOLITHIC ARCHITECTURES AND
MICROSERVICES
II. BACKGROUND A monolithic application refers to software whose parts
In this section we present background material on contain- are strongly coupled and cannot be executed independently
ers, monolithic and microservice architectures. Section II-A [24]. Although monolithic applications can run inside a
provides background details on containers while Section container, it is highly recommended to use microservice
II-B considers monolithic and microservice architectures. architecture when using containers [25]. Before the advent
Section II-C presents our selected resources and selection of Service Oriented Architectures (SOAs), and specifically
2 VOLUME 4, 2016

2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2019.2911732, IEEE Access

S. Sultan et al.: Containers’ Security: Issues, Challenges, and Road Ahead

Process Process
Process Process
Guest OS Guest OS
Virtualization Layer Virtualization Layer
Host OS Host OS
Hardware Hardware
(a) Container (b) Virtual Machine
FIGURE 1: Comparison between container and hypervisor.

Application Scheduling
(e.g., Marathon, Chronos, Hadoop, Spark)

(e.g., CoreOS Linux, Intel Clear Containers, Docker Notary)


(e.g., Docker Compose, Terraform, Puppet, Chef, Ansible)

Container Scheduling
(e.g., Mesos, Kubernetes)
(e.g., Docker Registry, CoreOs Registry)

Service Discovery
(e.g., Hashicorp Consul, CoreOS etcd)
Marketplace/Image Management

Configuration Management

Container Cluster Management


(e.g., Docker Swarm, Hashicorp Serf)

Security
Container Networking
(e.g., Docker Networking, Weave, CoreOS Flannel)

container container container container container container

Container Runtime Container Runtime


(e.g., Docker, RKT, Lattice) (e.g., Docker, RKT, Lattice)

Container OS Container OS
(e.g., CoreOS, RedHat Atomic) (e.g., RancherOS, Vmware Photon)

Physical Host (or VM) Physical Host (or VM)


(e.g., ESX, KVM, LXD, Hyper-V) (e.g., ESX, KVM, LXD, Hyper-V)

DevOps Tools
(e.g., Vagrant, Docker Machine, VMware AppCatalyst)

FIGURE 2: Containers’ stack and realization technologies.

microservices, most applications used to be monolithic. the importance of microservices architectures over older
On the other hand, microservices help build applications monolithic architectures. However, containers are afflicted
that consist of loosely coupled parts that can be operated with numerous security issues that are the main barrier for
independently. their adoption by companies. Dragoni et al. [24] presented
a recent study about the emergence of microservices and
Microservice architectures have revolutionized how appli-
how their development improved monolithic architecture
cations are built nowadays. They allowed developers to be
drawbacks.
more innovative and open to new technologies. For example,
if a company wants to experiment with a new programming
language they can build a single microservice with that C. LITERATURE REVIEW ON CONTAINERS SECURITY
language, which will have minimal effect on the whole In this work, we have included papers from the proceed-
application, unlike using a monolithic architecture, which ings of top academic research venues, journals and books.
requires rewriting all parts. Microservices and containers Occasionally we relied on research that is unpublished or
are closely related subjects, where containers are consid- has been published in non-commercial form such as reports,
ered the standardized deployment option for microservices policy statements, etc. Such articles have been included
[10]. Running each microservice in a separate VM is not because containers’ research is an inherently practical field
efficient because VMs are heavy compared to containers that is dominated by the industry and published in different
[25]. Containers are important alternatives to VMs and online sources. Our selection criteria focused on the follow-
they have a number of benefits over them especially in ing areas related to containers: security features, solutions,
performance and size. The advent of containers highlighted threats, vulnerabilities, exploits, tools, standards, evaluation
VOLUME 4, 2016 3

2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2019.2911732, IEEE Access

S. Sultan et al.: Containers’ Security: Issues, Challenges, and Road Ahead

methodologies, applications, and containers alternatives. We 2) Use Case II: Inter-container protection
relied primarily on Google Scholar and mainly used the In this use case, we assume that one or more of the contain-
following search keywords: "Containers security", "Docker ers is semi-honest or malicious, i.e., ∃CM ⊆ C, |CM| ≥ 1
security", "Linux containers". Then we removed sources where CM denotes a set of semi-honest or malicious
that were generic to containers and did not discuss security containers. These containers can be inside the host H or
issues. Finally, we used backward citations from the selected on different hosts. Being on different hosts is important
resources to expand our search. Most of the references are for the emerging field of service meshes [8]. We assume
published between 2014 and 2018, including 21 papers in that applications inside ci ∈ CM can be malicious or
2016, 45 papers in 2017, and 25 papers in 2018. Containers’ semi-honest, too. Although an attacker application might
security research started gaining momentum after 2014. take control over other applications within a container, we
assume that applications in honest containers remain honest
III. THREAT MODEL for this use case because protecting applications from each
Many use cases can be derived to illustrate Linux container other is not a container-specific problem.
security issues and solutions. We believe it would be in- Following are some attacks that could be executed. A
effective to create an exhaustive list of all such use cases semi-honest container can be able to access confidential
as it would be frustrating for the reader to keep track of data of other containers, learn resources usage patterns, and
them. Hence, we provided a new taxonomy for use cases in target the integrity of application information. Furthermore,
the host-container level to better identify protection require- a malicious container can perform similar attacks to a semi-
ments and possible solutions. Registry and orchestration are honest container and can target other containers’ availability.
not the primary focus of our research whose aim is to shed For example, a malicious container can consume most of
light on host and container levels that represent the primary the dedicated host resources to containers in which case it
focus on container technologies. renders other containers useless. Our goal here is to protect
We consider a host H that has |C| (|.| denotes the cardi- containers from each other, a perfect case would be that
nality of a set) number of containers C = {c1 , c2 , . . . , cn }. containers do not know anything about other containers (like
Each container ci ∈ C can run at least one application from VMs) unless required e.g., network communication. Protec-
a set of applications Aci = {a1 , a2 , · · · , am }. Additionally, tion requirements for this are not specific to containers.
we assume that the host H and each container (ci ∈ C) One of the high risk attacks that affect containers is
have limited resources which makes them vulnerable to Meltdown. In [26], the authors successfully mounted the
availability-targeted attacks. We address four use cases, each attack on Docker, LXC, and OpenVZ. This attack allows
of which has its own adversarial model and security goals. the adversary to leak kernel information from the host OS
The threat model specification for applications, containers and all other containers running on the same system. This
and hosts is shown in Table 1. A semi-honest adversary has a detrimental effect on cloud service providers, wherein
is a passive adversary that could cooperate on information a malicious user can access information from all other
gathering but will not deviate from the protocol execution. containers hosted on the system. Spectre [27] is another
A malicious adversary is an active adversary that might serious threat to containers, where it tricks other applications
deviate from the protocol specification in order to gather to access arbitrary locations in their memory. Both Spectre
information, cheat, or disrupt the system and target other and Meltdown attacks pose a serious threat to containers
system’s components. The four cases are shown in Figure [26, 27]. Table 3 shows a list of possible attacks and
3 and are described in the following sections. solutions for this use case.

1) Use Case I: Protecting container from applications 3) Use Case III: Protecting host (and the applications inside
In this use case, each application within a running container it) from containers
ci ∈ C can be honest, semi-honest, or malicious. We assume In this use case we assume that at least one container
that applications cannot break access control policies if is semi-honest or malicious within the host H (CM ⊆
set. Additionally, we assume that some applications might C, |CM| ≥ 1, where CM denotes a set of semi-honest
require root privileges (or parts of the full root access). We or malicious containers.). We assume that applications that
believe this is a very important case because if an application are inside ci ∈ CM as well as applications in honest
could gain control over the container manager it might be containers can be semi-honest or malicious. A semi-honest
able to target the host system and other containers within container can have access to confidential host information
the system. However, an attacker application might take or even target its integrity. A malicious container can target
control over a specific vulnerable container. Our goal is to the host availability by consuming its resources. Our goal
minimize intra-container attacks. Table 2 shows a list of here is to eliminate any container ability to target the host
possible attacks and solutions for this use case. components’ confidentiality, integrity, and availability. A
perfect scenario would be to make containers act as VMs.
(Recently, Intel merged its clear containers project with
kata containers and claims that kata containers have similar
4 VOLUME 4, 2016

2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2019.2911732, IEEE Access

S. Sultan et al.: Containers’ Security: Issues, Challenges, and Road Ahead

TABLE 1: Threat model specifications for apps, containers and host for the studied use cases. ‘Semi’ refers to semi-honest.
Apps in semi-honest/malicious containers can be semi-honest or malicious too.
Apps can be Containers can be Host can be
Use Case honest semi malicious honest semi malicious honest semi malicious
(I) Protect container from applications 3 3 3 3 - - 3 - -
(II) Inter-container protection 3 - - 3 3 3 3 - -
(III) Protect host from containers 3 3 3 3 3 3 3 - -
(IV) Protect containers from host 3 - - 3 - - 3 3 3

isolation as VMs [28]). Table 4 shows a list of possible Linux Security Modules (LSMs). In Section IV-A1, we dis-
attacks and solutions for this use case. cuss LSFs because most containers are based on Linux and
One of the promising applications of containers is to use our scope is focused on Linux containers. First, we present
them to limit resource drainage attacks of software services. namespaces in Section IV-A1a and provide some examples
As extension to their earlier work in [29], Catuogno et al. of their usage. Second, CGroups are investigated in Section
[30] proposed a methodology to measure the effectiveness IV-A1b. Third, capabilities are addressed in Section IV-A1c.
of containers against resource drainage attacks in which a Finally, secure computation mode (seccomp) is addressed
host’s resources might be drained by a suspicious service. in Section IV-A1d. In Section IV-A2, we discuss Linux
Hence, they proposed running each service in a container, security modules (LSMs) and provide a list of most common
wherein constraints used on containers help shape their LSMs.
allowed resources. The authors used Docker to protect
against power drainage attacks which proved to be a simple 1) Linux Kernel Features
and effective technique. a: Namespaces
Namespaces perform the job of isolation and virtualiza-
4) Use Case IV: Protecting containers from host tion of system resources for a collection of processes.
Running containers on untrusted host should be avoided, Namespaces operate as a divider of the identifier tables
especially with the advent of CaaS where containers can and other structures linked with kernel global resources into
be rented from a CaaS provider. In this use case, we isolated instances. They partition the file systems, processes,
assume that containers are honest but the host is either users, host names and other components. Hence, each file
semi-honest or malicious. A semi-honest host can learn system namespace will have its private mount table and root
about confidential container information because it controls directory. For every container, a unique view of resources
network devices, memory, storage and processors. A mali- can be seen. The constrained view of resources for a process
cious host can also target the integrity of the container and within a container can be extended also to a child process
its application(s). Numerous passive and active attacks can [35]. Namespaces are crucial building components to control
be launched from semi-honest and malicious hosts against what resources the container can see.
containers in them. Examples of passive attacks include Namespaces ensure the isolation of processes that are
profiling in-container application activities and unauthorized running in a container to blind them from seeing other pro-
access for container data. Active attacks can be more cesses running in a different container [36]. However, one
harmful since a malicious host can change the application’s issue with namespaces is that some resources are still not
behavior. namespace-aware such as devices [35]. There are numerous
namespaces available, each of which is responsible for a
IV. SOFTWARE AND HARDWARE PROTECTION specific resource isolation. Table 5 shows a list of available
MECHANISMS namespaces and what resource it is used to isolate [37].
Figure 4 shows the use cases based on our taxonomy and Namespaces example: PID namespace
possible solutions. We used solution-based categorization PID namespace assures that a process will only see pro-
since the first three use cases (discussed is Section III) cesses that are within its own PID namespace (e.g., a
depend on software-based solutions and the last one can container will only see its processes). Figure 5 shows an
be solved with hardware-based solutions. Software-based example on PID isolation for parent and child processes. In
solutions are discussed in Section IV-A and hardware-based the host machine we notice that the init process has PID
solutions are discussed in Section IV-B. 1. However, when the child process for a container starts,
PID namespace allows it to start numbering the PIDs from
A. SOFTWARE BASED PROTECTION MECHANISMS 1 inside the container. This number will be mapped to a
In this section, we discuss the available software-based so- different PID in the host machine. In this example the PID
lutions that are used for containers security (listed in Figure 6 in the host will be mapped to PID 1 on the machine.
4). Containers technology relies heavily on software-based Similarly, PIDs 7, 8, and 9 will be mapped to 2, 3, and 4
solutions that are either Linux Security Features (LSFs) or respectively.
VOLUME 4, 2016 5

2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2019.2911732, IEEE Access

S. Sultan et al.: Containers’ Security: Issues, Challenges, and Road Ahead

Container 1 Container 2
.. Application attacks container (Use case I)

App A App B . Container attacks other containers (Use case II)


Container attacks the host (Use case III)
Container n
Host attacks container (Use case IV)
Host (H)

FIGURE 3: Overview of security protection requirements in containers.

Area of work Solution Use Case Containers


Security

Software Hardware
Based Based
Solutions Solutions

Inter- Protect Protect Protect


Container Host From Container From Container
Application(s)
Protection Containers in it from Host
Use Case (II) Use Case (III), Use Case (I), Use Case (IV),
Section III-2 Section III-3 Section III-1 Section III-4

Linux Trusted
Linux Kernel Security Linux Kernel Linux Kernel vTPM Execution
Features Modules Features Features Utilize Support
See section e.g., SELinux, See section See section virtualized Protects user-
IV-A1 AppArmor . IV-A1 IV-A1 TPMs level software
Section IV-A2 by the hardware

Namespaces CGroups Capabilities vTPM in Intel SGX


Seccomp vTPM in host dedicated
Resource Resource Give the process OS Kernel container Seamlessly
Filters system protect
isolation: what limitations: the privileges it Placed in the vTPM in a
containers how much can needs, without calls to containers from
the kernel. host kernel dedicated
can see. containers use. full root access. container. untrusted host.
Section IV-A1c Section IV-A1d Section IV-B1a Section IV-B2
Section IV-A1a Section IV-A1b Section IV-B1b

FIGURE 4: Protection requirements, use cases and solutions.

Inter-container Protection using Namespaces (Use Case Protecting Host from Containers using Namespaces (Use
II) Case III)
As discussed earlier, namespaces are powerful Linux fea- Similar to what we discussed in the previous section, if a
tures to isolate resources among different containers. This container can see the host processes then this can pose a
helps prevent containers from accessing each other’s re- serious security risk. The same example of PID namespace
sources, which increases their security. For instance, without can be applied here as well. A compromised container that
namespaces, a container can easily see other containers’ has or managed to escalate to a root privilege can disrupt
processes and interact with them (assuming it has sufficient host processes operation. However, with PID namespaces,
privileges). However, by using the PID namespaces a con- isolating the container vision to its own processes helps
tainer will only see its processes. Other namespaces can be mitigate such risks.
applied to containers to isolate different resources. Solutions that use namespaces
Jian and Chen [38] studied the containers’ escape attack
for Docker. They presented a defense technique that tries to
6 VOLUME 4, 2016

2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2019.2911732, IEEE Access

S. Sultan et al.: Containers’ Security: Issues, Challenges, and Road Ahead

TABLE 2: Possible attack scenarios for use case (I) (protecting container from applications) and suggested solutions. (CVE
stands for Common Vulnerabilities and Exposure).

Threat Possible Attack Possible Scenario Possible Solution


Image Remote code execution Remote code execution using ShellShock vul- Periodic vulnerability scanning for images
vulnerabilities nerability that affected most Linux systems and applications.
(CVE-2014-6271).
Image Unauthorized access Running an application with unnecessary root Running application on the least privilege
configuration privileges will allow the application to have needed. Linux Capabilities are also used to
defects full control over the container. provide a specific functionality of the root
privileges (not all functionalities).
Network-based Enabling remote access (e.g., SSH) would Management on containers should be done
intrusions give attackers an opportunity to gain access through container runtime APIs. SSH and
over the container if not configured properly. other remote access tools should not be en-
abled [31].
Embedded Virus, Worm, Trojan, Ransomeware gaining access to a container. Monitoring the processes with anti-malware
malware Ransomeware, etc. software. Keep this software up-to-date. Run-
ning trusted apps only.
Embedded Information disclosure, Database connection parameters that are Secrets should be stored outside the image.
clear-text tampering, privacy stored in clear text in the container can be Orchestrator (e.g., Kubernetes) has native
secrets issues used by a compromised application to ac- management of secrets.
cess/edit the database.
Use of Many attacks since the Untrusted images might have a preinstalled Use only trusted images/registries, and verify
untrusted image is untrusted and backdoor inside them. the images.
images can contain various
threats such as
backdoors
Vulnerabilities Privilege escalation CVE-2017-5123 mentions a vulnerability in Container runtime should be monitored for
within and container runtime Docker runtime that allows applications to vulnerabilities and updated periodically.
container escape attack modify the capabilities.
runtime
Application Denial-of-Service A vulnerable application (e.g., Apache server Running applications with least privilege pos-
vulnerabilities (DoS) with Slowloris vulnerability) can be targeted sible to reduce the possible damage when
with different types of attacks one of which compromised. The root filesystem should be
is DoS which would target the availability of read-only. Scanning applications periodically
the container. for vulnerabilities.

solve the escape attack based on namespace status inspection addition to discussing the root causes of information leakage
during processes execution. This should help in detecting in containers, the authors proposed a two-stage defense
anomalies and further prevent escape attacks. The primary mechanism. They implemented a power-based namespace
motivation of their work is that if an adversary program to provide fine-grained consumption on the container level.
gained root access, it will try to change the namespaces. Their evaluation showed that this mechanism is effective
The proposed solution detects namespace status and flags to neutralize power attacks. However, Yu et al. [41] shows
any changes that could indicate a compromised container. that the solution presented in [39] is not very efficient as it
Gao et al. [39] studied information leakage channels makes containers heavy, similar to VMs.
within containers (this study was expanded later in [40]).
They address channels that could leak host information and b: Control Groups (CGroups)
allow adversaries to launch advance attacks against the cloud Control groups (CGroups) are Linux features that con-
service provider. The authors used Docker and LXC con- trol the accountability and limitation of resources usage
tainers as a testbed and verified the discovered information such as CPU runtime, system memory, I/O, and network
leakage channels on five major cloud services providers. bandwidth. In contrast to namespaces, CGroups limit how
They showed that those channels can increase the attacks’ many resources can be used while namespaces control what
effect and reduce their cost. One of the important attacks resources a container can see (i.e., isolation). Additionally,
that they analyzed is power attacks, wherein an adversary CGroups prevent containers from using all the available re-
can launch power-intensive workloads when the system is sources and starving other processes. A CGroup is arranged
already in high usage based on the leaked information, as a slice for each resource. Then, to specific CGroup, a
which could negatively affect the system’s performance. In task set can be attached to it. Thus, task groups are forced
VOLUME 4, 2016 7

2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2019.2911732, IEEE Access

S. Sultan et al.: Containers’ Security: Issues, Challenges, and Road Ahead

TABLE 3: Possible attack scenarios for use Case (II) (inter-container protection) and suggested solutions.

Threat Possible Attack Possible Scenario Possible Solution


Untrusted Attack all containers Untrusted images pose a serious threat to Use only trusted images/registries, and ver-
images within the host containers in the host. An untrusted image ify the images using signatures. Vulnerability
might have pre-installed vulnerability scanner scanning.
which can scan all images in the network to
find vulnerabilities and later exploit them.
Application DoS on other A vulnerable application might cause DoS Periodic vulnerability scanning for images
vulnerabilities containers attack on neighboring containers (e.g., syn and applications.
flood, ICMP flood) or using large amount of
resources from the host, in which it affects
other containers’ operation.
Poorly ARP spoofing If traffic among containers is poorly separated Containers should not be able to commu-
separated (man-in-the-middle this might allow a compromised container to nicate unless necessary. Network should be
inter-container attack) and MAC perform man-in-the-middle attack on other configured as least-necessary privilege.
traffic flooding containers [32].
DoS A compromised container might flood the Containers should not be able to communi-
network, which renders other containers use- cate unless necessary. Chelladhurai et al. [33]
less or highly degrade the performance. proposed an algorithm to prevent DoS attacks
in Docker systems via limiting container re-
sources.
Unbounded Port/vulnerability If a compromised container has access to Containers should be separated into virtual
network access scanning a network of other containers from vari- networks based on sensitivity level [31]. Net-
from ous sensitivity levels it can easily perform work monitoring for anomalies (port scan-
containers port/vulnerability scanning and discover vul- ning) should be implemented too.
nerable containers to be targeted.
Insecure Remote code CVE-2014-9357, CVE-2014-6407 are some Container runtime should be monitored for
container execution, DoS examples of remote code execution vulner- vulnerabilities and updated periodically.
runtime abilities in Docker. An attacker could use
a vulnerability or configuration error in the
runtime to target other containers (e.g., stop
other containers).

TABLE 4: Possible attack scenarios for use case (III) (protecting host from containers) and suggested solutions.

Threat Possible Attack Possible Scenario Possible Solution


Host OS attack Attacks on Print spooler service and other services are un- Use container specific OS (e.g., CoreOS,
surface unnecessary necessary on almost all servers. Hence, keeping RancherOS). If this is not possible, then follow
services them running will make the host inherit their NIST’s guidelines for securing servers [34]. Stop
vulnerabilities. Print spooler for example can be all unnecessary services.
exploited (example vulnerabilities are MS16-087
and CVE-2010-2729 ) which enables remote code
execution and privilege escalation.
Containers Container CVE-2017-5123, shocker exploit, CVE-2016- Periodic vulnerability scanning for images, ap-
share host OS escape attack 5195 (Dirty Cow) are examples of recent vulner- plications, and container runtime. Namespaces,
kernel abilities that allow containers to escape the con- capabilities, and LSMs are important to control
tainer runtime and target the host OS. This could such issues.
allow remote code execution, which eventually
leads to compromised host.
Resources DOS A container might consume most of the host Capabilities are used to control how many re-
accountability resources causing DoS on the host and other sources are allowed to be used by each container.
containers in it.
Host Tampering Mounting a local file system on the host allows Containers should run with minimal set of per-
filesystems a container with sufficient permission to cause missions, and file changes of containers should
data tampering, this is especially dangerous for persist to specific storage volumes for this pur-
sensitive directories with configuration data [31]. pose [31].

8 VOLUME 4, 2016

2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2019.2911732, IEEE Access

S. Sultan et al.: Containers’ Security: Issues, Challenges, and Road Ahead

TABLE 5: Linux provided namespaces. task. It also uses Docker features to restrict a process from
raising its priority. Then, for memory DoS protection, the
Namespace Constant Isolates
authors demonstrated experimentally that CGroups are not
IPC CLONE_NEWIPC System V IPC, POSIX mes- efficient because although they can restrict the allocated
sage queues memory bandwidth, malicious applications could still use
Network CLONE_NEWNET Network devices, stacks, ports, intensive access for that amount of memory. Hence, to
etc. protect memory from DoS attacks they used a MemGuard
Mount CLONE_NEWNS Mount points kernel module to prevent each CPU core from exceeding
PID CLONE_NEWPID Process IDs memory access.
User CLONE_NEWUSER User and group IDs
UTS CLONE_NEWUTS Hostname and NIS domain c: Capabilities
name Linux systems implement the binary option of root and non-
root dichotomy. In the context of containers those binary
PID namespace (parent) options could be troublesome. For example, a web server
(e.g., Apache) needs to bind on a specific port (e.g., TCP
1 init port 80). Without using capabilities, the web server process
should have a root access to perform its task. This poses
a great danger because if it gets compromised, an attacker
2 3
will be able to control the entire system. Capabilities turn
the root and non-root dichotomy into a fine-grained access
4 5 control [36]. Hence, containers (usually not the daemon or
containers manager) will not require to have the full root
PID Namespace (child)

6(1) privilege (assuming there is an available capability for the


required tasks). There are thirty-eight capabilities that cover
a wide variety of tasks [44].
7(2) 8(3)
Capabilities are very important to protect a container from
running applications inside it (Use case I). For our previous
9(4) example about web servers, a container can assign the
process the CAP_NET_BIND_SERVICE capability. This
FIGURE 5: PID namespace isolation. allows the container to run a version of that web server
without requiring full root access. Assuming the web server
contains a vulnerability that has been exploited by an
to use their own part of resources [42, 35]. adversary, having this capability in place will circumscribe
Inter-container protection using CGroups (Use Case II) the adversary to a single root operation (i.e., binding ports).
CGroups are vital for inter-container protection require- On the other hand, if the capability was not set, the
ments. As discussed, CGroups circumscribe the allowed compromised or malicious application can perform full root
resource usage hence, a container cannot use more resources operations on the container.
than what is designated for it. This helps protect other In addition, capabilities are important for protecting the
containers from numerous attacks such as Denial-of-Service host from containers (Use case III). In the previous example,
(DoS) attacks. For example, a container may use so much of we saw that a container can limit its applications but what
the host’s available RAM such that other containers could happens if the container itself is malicious? This pauses
not operate properly. a direct risk to the host. Thus, a set of capabilities can be
Protecting host from container using CGroups (Use Case assigned to the container which could reduce the container’s
III) root operational threats.
Similar to inter-container protection, CGroups force re-
source usage limits to containers. This helps preventing the d: Secure Computation Mode (Seccomp)
container from performing a DoS attack on the host itself. Seccomp is a Linux kernel feature that filters system calls
Additionally, CGroups give the host the power to not only to the kernel. Secomp is more fine-grained than capabilities
limit resource usage but also account for how much of the [45] since different seccomp profiles can be applied to
resource was used. This could help in implementing usage different filters. This helps decrease the number of system
quotas which can be a very important factor in the emerging calls coming from containers, which could further reduce
cloud computing delivery model CaaS. possible threats since most attacks leverage kernel exploits
Solutions that use CGroups through system calls.
Chen et al. [43] presented a real-time protection mechanism Solutions that use Seccomp
against DoS attacks called ContainerDrone. First, CPU DoS Lei et al. [46] presented Split-Phase Execution of Ap-
protection utilizes CGroups to assign a set of cores to each plication Containers (SPEAKER) aiming to differentiate
VOLUME 4, 2016 9

2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2019.2911732, IEEE Access

S. Sultan et al.: Containers’ Security: Issues, Challenges, and Road Ahead

between necessary and unnecessary system calls made by TABLE 6: Docker default capabilities.
containers. SPEAKER is based on Linux seccomp. The
Capability Description
authors observed that system calls are used in the container’s
short-term booting phase, hence they can be safely removed CHOWN Changes file owner and group.
from the long-term operation of containers. SPEAKER DAC_ OVERRIDE Discretionary Access Control (DAC), allows
reduces the number of system calls made by containers bypassing read, write, and execute permission
through differentiating between such short and long term checks.
phases. They extended Linux seccomp to automatically and FSETID Does not clear the set-user-ID and set-group-ID
dynamically update available system calls for applications bits on file modification.
when they transit from the short-term booting phase to the FOWNER Bypass permission checks on some operations,
long-term running phase. They also evaluated SPEAKER on set ACL on files.
Docker hub images for popular web servers and data store MKNOD Creates a file system node.
containers and found a reduction of system calls by more NET_RAW Use PACKET and RAW sockets, bind to any
that 35% with unimportant performance overhead. address.
Wan et al. [47] presented a solution to mine sandboxes SETGID Arbitrarily manipulate process GIDs.
for containers based on automatic testing. During the testing SETUID Arbitrarily manipulate process UIDs.
phase, the proposed solution extracts the used system calls SETFCAP Setting file capabilities. Introduced in Linux
by the container. Using Seccomp, the solution creates a 2.6.24.
profile for each application based on the seen system calls SETPCAP Has different behaviors based on CAP_SETF-
during the testing phase, and denies all other calls. There CAP.
are two primary issues with this solution. First, it takes NET_BIND_- Allows binding a socket to privileged port (i.e.,
a relatively long time to create the profile (i.e., about 11 SERVICE < 1024).
minutes). Second, a vulnerable or compromised container SYS_CHROOT Changing the root directory for a caller process.
could access the needed exploitable system calls during the KILL Send any signal to any process or process
testing phase. However, assuming the container was safe group.
during testing then the created profile should reduce the AUDIT_ WRITE Enables writing records to kernel auditing log.
attack surface considerably. Available since Linux 2.6.11.

e: Namespaces, CGroups, Seccomp, and Capabilities Use


in Docker The default seccomp profile of Docker blocks 44 out
of 300 available system calls [45]. However, Lei et al.
Docker automatically generates a set of container names- [46] claim that Docker cannot customize system calls for
paces and control groups when the container is started with a specific application.
Docker run [36]. Docker uses namespaces and CGroups
to create a safe virtual environment for its containers. For 2) Linux Security Modules (LSMs)
example, to offer a separate network for each container, the Morris et al. [51] claimed that the enhanced access control
network namespace isolates some network resources like the mechanisms are not accepted widely to maintain OSs. This
IP addresses [48]. is due to the fact that there is no consensus on the right
Docker depends on CGroups to group processes running solution in the security community. LSMs allow a wide
in the container. CGroups reveal metrics about CPU, I/O variety of security models to be implemented on Linux
block usage along with managing the resources of docker kernel as loadable modules [51]. This means that a user
such as CPU and memory. Docker resources’ configurations can select the preferred implementation rather than being
are either with hard or soft limits. Hard limits are used forced to use the one that came with the OS. LSMs focus on
to specify a specific amount of resources to the container. providing the needs for implementing a Mandatory Access
Soft limits give the container the necessary resources in the Control (MAC) [52] with minimal changes to the Kernel
machine [49]. itself.
The issue with capabilities as expressed by the Docker LSMs date back to the 2001 Linux Kernel Summit when
team in [36] is that the default set of capabilities might not the National Security Agency (NSA) proposed to include
provide complete security isolation. Docker default settings Security Enhanced Linux (SELinux) in Linux 2.5 Kernel
use capabilities listed in Table 6 [36, 50]. Docker adds the [53]. After that, the LSM project started and many modules
support for adding and removing capabilities. Additionally, were developed to support various security models. In case
users can set their own profile. We should note here that as of not specifically selecting an LSM then the default LSM
the added number of capabilities provided to the container will be the Linux capabilities system [54]. Currently there
increase there will be a higher security risk. This is because are numerous LSMs available as shown in Table 7.
the container will be able to perform more root privileged Typically LSMs are used for the first three use cases as
tasks. defined in Section III. Mattetti et al. [55] presented the LiC-
10 VOLUME 4, 2016

2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2019.2911732, IEEE Access

S. Sultan et al.: Containers’ Security: Issues, Challenges, and Road Ahead

TABLE 7: Available Linux Security Modules (LSMs), with SELinux and AppArmor being the most used LSMs.

Name Description

AppArmor Task centered policies. The profiles are created/loaded from user space.
LoadPin Ensures that all kernel-loaded files originate from the same file system, which allows the systems with verified
unchangeable file system to override restrictions on loading modules and firmware without signing the files individually.
SELinux Fine-grained access control features. For example, instead of having read, write, and execute permissions you can specify
unlink, append only, move a file and other permissions.
Smack Simplified Mandatory Access Control Kernel (SMACK) focuses on simplicity as a primary design goal. It provides
similar functionalities to SELinux.
TOMOYO Name based MAC. It allows processes to declare the resources and behaviors required to achieve its goals and restricts
the process to the declared parameters.
YAMA Collects the un-handled security protections that are not handled by the kernel itself.

Shield framework that aims to secure Linux containers and decisions made by a specific container cannot affect the host
workloads using automatic rules constructions. LiCShield or other containers. To test their method, they developed a
traces the image execution and generates profiles for LSMs namespace abstraction for AppArmor LSM. Their results
(mainly AppArmor), which reflects on the image capabilities show that security namespaces protect against several secu-
to increase host protection and narrowing containers oper- rity issues within containers with < 0.7% increased latency.
ations. The framework introduces negligible performance
overhead. A downside of LiCShield is that it does not B. HARDWARE BASED PROTECTION MECHANISMS
perform vulnerability scanning for the images, which might This section addresses solutions to protect containers from
enable dormant threats to persist. LiCShield can help in use a semi-honest or malicious host as well as other containers.
cases I and III (protecting a container from applications in These solutions target use case IV, protecting containers
it or protecting the host from containers). from host (as defined in Section III). We address two
Loukidis-Andreou et al. [56] presented an automated available mechanisms: The use of Virtual Trusted Platform
system to enhance Docker containers’ security that is based Modules (vTPMs) and the use of Intel SGX as a trusted
on AppArmor LSM called Docker-sec. Docker-sec includes platform support mechanism.
two primary mechanisms. First, when an image is created,
Docker-sec creates a static set of access rules according to 1) Virtual Trusted Platform Modules (vTPM)
the image creation parameters. Second, during runtime, the One common used technique in trusted computing is Trusted
initial set is enhanced to further restrict the image’s threats. Platform Modules (TPMs) which is hardware that is in-
According to the authors, Docker-sec can automatically tended to be used as a cryptographic processor. TPMs
protect against zero-day vulnerabilities while having min- provide hardware support for attestation, sealing data, se-
imal performance overhead. MP et al. [57] studied different cure boot, and algorithm acceleration [61, 62]. Martin [63]
LSMs and LSFs effect on Docker containers. They consid- presented detailed information about trusted computing and
ered SELinux, AppArmor, and TOMOYO and provided a TPMs. With the advent of cloud computing and virtualiza-
proof of concept that those are effective in mitigating several tion, researchers started to look for alternatives to hardware
risks such as malicious code and bugs in namespaces code. TPMs in order to be more suitable for the hypervisor. This is
Bacis et al. [58] proposed a solution to bind SELinux because the hypervisor needs to make the TPM available, at
policies with Docker container images to enhance their the same time, to a plethora of VMs [64]. Software TPMs,
security. They claim that a major threat to containers comes also known as Virtual TPMs (vTPMs) were created to match
from malicious (or compromised) containers that target these needs [64, 65].
other containers on the same host. A downside of their work vTPMs have been studied by many researchers in hard-
is that they can only prevent essential kernel vulnerabilities. ware virtualization [65, 66, 67, 68]. Wan et al. [69] exam-
However, this can still be of help in use cases I, II and ined trusted cloud computing by using vTPMs and analyzed
III (protecting a container from applications in it, inter- existing solutions that use vTPMs to better understand secu-
container protection, and protecting host from containers). rity of different implementations. We should note here that
One of the primary issues with LSMs is that they are vTPMs (or software TPMs) are not as secure as hardware
shared by all containers, wherein a single container cannot TPMs as they suffer from numerous vulnerabilities and they
use a specific LSM [59]. To ameliorate this issue, Sun cannot support protection levels as the hardware TPMs do
et al. [60] presented a novel approach to enable LSMs for [70, 71].
containers. They presented security namespaces to enable Hosseinzadeh et al. [64] presented the first study that
containers to have autonomous control over their security implements vTPMs for containers. The two proposed imple-
and allow each container to have its own security profile. mentations are discussed in the following sections (Section
They also presented a routing mechanism to make sure that IV-B1a and IV-B1b). Souppaya et al. [31] recommended the
VOLUME 4, 2016 11

2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2019.2911732, IEEE Access

S. Sultan et al.: Containers’ Security: Issues, Challenges, and Road Ahead

following pattern for attestation: start with secured/measured Containerb Containerc


boot; provide a verified system platform; build a chain of adapter1 adapter2
trust in the rooted hardware; extend the chain of trust to the
boot loader, OS kernel, system images, container runtime,
Containera
and finally container images.
vTPM Manager
a: vTPM in host OS Kernel

Container Manager
The first implementation proposed by Hosseinzadeh et al.
[64] was to place the vTPM in the host OS Kernel. This
Host OS
allows the TPM to be available to different containers. To
assign a vTPM to a new container, the container manager
TPM
asks the host OS kernel to create a new vTPM and then
assigns it to the new container. Figure 6 shows the architec- FIGURE 7: vTPM implementation in a dedicated container.
ture of this type. However, the level of protection is still less
than that of the full hypervisor approach [64]. Two possible
scenarios are available for security assurance requirements
[35]: 2) Intel Software Guard Extensions (SGX)
1) Fully Trusted Host OS: Trust can be established by In 2015, Intel created SGX that is compatible with their
extending the root of trust using TPM. Thus, the host CPUs. Intel SGX is set of extensions that allows Intel
OS will be considered trusted and any generated vTPM architecture hardware to provide confidentiality and integrity
can be trusted as well. Hence, containers can attest their guarantees when the underlying privileged software (e.g.,
state by utilizing the hash extend feature implemented hypervisor, kernel) is potentiality malicious [72]. Intel SGX
in the vTPM. seamlessly protects containers from underlying layers (e.g.,
2) Semi-trusted Host OS: This requires placing trust on cloud provider, or host machine). It supports secure enclaves
the vTPM that is generated by the host. In this case, [73] which help shield application data from other applica-
the TPM provides an endorsement key that will be tions including higher-privileged software.
extended by giving vTPMs its own instance and de- Arnautov et al. [74] presented Secure Linux Containers
ploying protocols for signing the endorsements keys with Intel SGX (SCONE) to protect containers from attacks.
of vTPMs using TPM. The design of SCONE provides smaller trust base, low
performance overhead and supports asynchronous system
calls and user-level threading. As we discussed earlier,
Containera Containerb Containerc
typically container protections employ software mechanisms
to protect containers from unauthorized access. This might
Container Manager
protect containers from other containers and outside attacks.
Host OS However, containers also need to be protected from a
vTPMa vTPMb vTPMc privileged system such as the OS kernel or hypervisor [74].
This is because adversaries usually target vulnerabilities
not in the container itself but in the virtualized privileged
TPM system/administrative [74, 75].
Hunt et al. [76] presented Ryoan which utilizes Intel
FIGURE 6: vTPM implementation in kernel. SGX to provide a distributed sandbox. It uses enclaves to
protect sandbox instances from malicious computing plat-
forms and allows it to process secret data while preventing
b: vTPM in a dedicated container leaking secret data. The authors evaluated Ryoan on some
problems such as email filtering, heath analysis, image
Figure 7 shows the architecture of this implementation. The processing and machine translation. Hardware limitations of
vTPM allows accessing the physical TPM differently. A SGX should be taken into consideration, such as not being
single interface is used for managing the vTPM, where each able to run unmodified applications. Recently, researchers
container in this interface will need a software adapter. started exploring solutions to allow SGX to run unmodified
The container that hosts the vTPM will process incoming applications [77]. Running unmodified applications is not
requests from other containers through a specific commu- efficient and introduces a considerable overhead. Modifying
nication channel (e.g., inter-process communication). This applications, on the other hand, might not be easy task in
alleviates the burden of multiple kernel modules as in the most cases, which will limit the overall use of SGX among
former implementation (Section IV-B1a). developers.
12 VOLUME 4, 2016

2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2019.2911732, IEEE Access

S. Sultan et al.: Containers’ Security: Issues, Challenges, and Road Ahead

Vaucher et al. [10] presented another solution to help 54% had critical severity issues. This shows an increase in
developers run their containers on an untrsuted cloud service vulnerabilities for Docker images compared to the former
provider. They proposed integrating SGX inside Kurbernetes study in 2015 [88]. Furthermore, Shu et al. [90] studied vul-
orchestrator. This is very important for CaaS providers. They nerabilities that exist in Docker Hub images and proposed
tested their proposed solution on a private cluster using the Docker Image Vulnerability Analysis (DIVA) framework
Google Borg traces. The authors found that the challenge to automate the process of analyzing Docker images. They
is primarily in scheduling containers to SGX machines in scanned 356,218 images and concluded that community and
priority. They observed that performance degrades when the official images contain 180 vulnerabilities on average, and
memory capacity of SGX enclaves is exhausted. The authors showed that 90% of the images suffered from high severity
claim that no orchestrators currently offer native support vulnerabilities. Table 8 summarizes those studies along
for information usage statistics about resources utilized with their strengths and weaknesses. We believe DIVA can
by containers that use SGX. They extended the Linux play in important role in discovering image vulnerabilities
SGX driver to gather information about the SGX runtime automatically, in which case it could help users to make sure
and direct them to the orchestrator. More studies on the that the downloaded image is not vulnerable before using
practicality of SGX and/or similar technologies (e.g., ARM it.
Trust Zone, AMD SEV, IBM SecureBlue++) are needed. While the works above focused on discovering vul-
SGX is used widely to protect containers and other appli- nerabilities, other researchers showed the actual effect of
cation running on untrusted hosts. However, there are several vulnerability exploitations. Martin et al. [91] presented a
attacks that target SGX that may affect container solutions vulnerability analysis for the Docker ecosystem. The authors
using this technology. Examples of the most prominent detailed some real world scenarios for the vulnerabilities
attacks against SGX are: Controlled-channel attacks [78], and how they could be exploited, and proposed possible
Stealthy page-table-based attacks [79], Branch Shadowing fixes. Lin et al. [92] created a dataset of 223 exploits that
[80], BranchScope [81], Last-level cache attacks [82], L1 are effective on containers platforms. Then, they evaluated
cache attacks without Hyperthread [83], L1 cache attacks the security of different Linux containers using a subset of
with Hyperthread [84], and TLB-based attacks [85]. Intel those exploits. The authors discovered that 56.8% of these
Transaction Synchronization Extensions SGX (T-SGX) [86] exploits are successful against the default container config-
provides better defense against traditional SGX [87]. How- urations. Similarly, Kabbe [93] presented a security analysis
ever, the effectiveness of such approaches are not yet verified of Docker containers. The author focused on showing how
for container-specific applications. vulnerabilities can be exploited in a production environment
against exploits such as DirtyCow (CVE-2016-5195), Shell-
V. OTHER ASPECTS OF CONTAINERS SECURITY sock (CVE-2014-6271), Heartbleed (CVE-2014-0160), and
Previously we discussed software and hardware-based so- Fork-bomb.
lutions. There are two other important aspects to main- Luo et al. [94] identified possible covert channels that
tain containers’ security: vulnerabilities management and target Docker. These side channels can leak information
standard guidelines. In Section V-A, we discuss studies among containers or between a container and its host,
about container vulnerabilities, exploits, and related tools. reaching a capacity larger than 700b/s. Mohallel et al. [95]
We did not use the proposed use cases for this aspect assessed the attack surface difference between a web server
because vulnerabilities do not target a specific use case installed in a container and another one installed on a base
in general. For example, some vulnerabilities could allow OS. They installed Apache, Nginx, and MySQL on three
inter-container attacks (e.g., meltdown), other could be different containers provided on Docker hub, using a Debian
used to enable hosts to attack containers (e.g., controlled- server for the base OS. They assessed the security of each
channel attacks). Then, in Section V-B, we consider the next web server using a local network vulnerability scanner.
important aspect in evaluating containers security which The results concluded that Docker containers increased the
deals with efforts towards evaluation methodologies and attack surface due to Docker image vulnerabilities. Lu and
standardization methods for secure container deployment. Chen [96] highlighted the importance of penetration testing
to assure containers’ security. They first analyzed one of
A. VULNERABILITIES, EXPLOITS, AND TOOLS the top container managers (i.e., Docker) and compared it
Some researchers show that large number of container against traditional virtualization. Then penetration testing
images suffer from security vulnerabilities. The number of was further evaluated for specific attacks such as denial of
vulnerabilities is increasing with time, which highlights an service, container escape, and side channels.
issue in remediation processes for container vulnerabilities. All these studies show that vulnerabilities constitute a
For example, in 2015, Gummaraju et al. [88] showed that serious threat to container security. To mitigate this threat,
30+% of official Docker images contained high impact Barlev et al. [97] presented Starlight, a centralized system
security vulnerabilities. Henriksson and Falk [89] scanned protection tool called which intercepts and analyzes events
the top 1000 Docker images, in 2017, and showed that to determine if the system administrator needs to be alerted.
70% of the images suffered from high severity issues and Starlight downsides might include lacking the ability to dis-
VOLUME 4, 2016 13

2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2019.2911732, IEEE Access

S. Sultan et al.: Containers’ Security: Issues, Challenges, and Road Ahead

TABLE 8: Summary of studies on Docker hub images vulnerabilities. These studies focus on image & registry risks, see
Table 9 for risk types.
Ref. Findings Strengths Weaknesses

[88], More than 30% of official • Built open source tools to automate the process • CVSS vulnerability score is referred as NVD which is
2015 Docker Hub repositories contain Banyan Collector and Banyan Insights, published the National Vulnerability Database and not the score
images that are highly on GitHub. standard itself, this might create confusion for the reader.
vulnerable. • Used standardized metrics such as CVE and • Failed to mention mitigation to these vulnerabilities. We
CVSS. believe most of the them could be eliminated by image’s
• Tested 960 unique images. update, which might be a standardized procedure when
• Performed detailed analysis to address main deploying containers.
packages that caused these vulnerabilities. • Image scanning process is not clear. False positives for
example can highly alter the results.

[89], 70% of Docker Hub images • Used standardized metrics such as CVE and • Scanning is performed using commercial scanner (Out-
2017 have high severity issues and CVSS. post). The reliability and method of this scanner was not
54% have critical severity issues • Scanned images without running them (i.e., studied.
based on 1000 images scanned static scanning). • The method for selecting the 1000 images was not clear.
using an in-house tool and a Are they unique images as in [88]?
commercial scanner.

[90], Studied 356,218 Docker images • Covered both community and official images. • The study used CoreOS Clair vulnerability scanner for
2017 and found that a Docker image • Analyzed very large number of images. Docker Hub images. Clair was mainly designed to scan
has on average 180 • Used open source vulnerability analyzer called CoreOS images deployed Quay.io registry. Another tool
vulnerabilities, many images are CoreOS Clair. was available for Docker Hub which is Docker Security
outdated, and vulnerabilities • Used standardized metrics such as CVE, CVSS. Scanner. The scope of the study was limited to Docker
usually propagate from parent to • Detailed analysis of vulnerabilities types and Hub registry, and it is not justified why to use CoreOS
child images. Also showed that severity. scanner instead of Docker Scanner at least for official
90% of the images suffer from images. We believe this would reduce false positives since
high severity vulnerabilities. Docker Scanner was designed for Docker Hub.

cover dormant threats because it does not perform scanning author discussed the threats, attack surfaces, and hardening
nor having a quarantine feature for compromised containers. tips to enhance containers security. Goyal [102] presented
These two issues were addressed by Bila et al. [98] which a comprehensive benchmark that provides guidelines for
proposed an automated threat mitigation technique (similar securing Docker (uses Docker CE 17.06 or later) through a
to [55]) using a server-less architecture based on OpenWhisk step-by-step checklist.
and Kubernetes. The main advantage of this tool is that it Efforts towards container security standardization have
performs image vulnerability scanning and provides quar- been realized since late 2017. In September 2017, the
antine for compromised containers. National Institute of Standards and Technology (NIST)
presented the first special publication about container ap-
B. ON STANDARDS, EVALUATION METHODOLOGIES, plication security guidelines [31]. It discussed security
AND RECOMMENDATIONS threats, recommendations, and countermeasures. To imple-
In this section, we discuss efforts towards container security ment these generalized recommendations and countermea-
standardization, evaluation methodologies, and implementa- sures one (or more) solutions are required. We summarized
tion guidelines. Several researchers ([99], [100]) agree that the NIST standard in Table 9, considered some other threats
there are no clear evaluation strategies and no systematic that were not covered in the standard and added studies that
ways to define, study and verify containers security. Abbott addressed each threat type. Efforts towards standardization
[14] findings are similar to the previous two works as the have been realized by the Linux Foundation, in which it led
claim is made that there are no evaluation methodologies or to the birth of the Open Containers Initiative (OCI) in June
standards for container security. 2015, with its main goal to create industry standards for
Towards this end Abbott [14] proposed a new method- container format and runtime. In September 2017, the Open
ology for assessing the security of container images, fo- Containers Initiative (OCI) published v.1.0.0 for runtime
cusing on actions to be carried out by the user to assess specifications of container image format. In October 2017,
the security of a container image. The author tested four NIST presented another special publication ([35]) focusing
popular container images: nginx, redis, google/cadvisor, on assurance requirements for container deployments and
mbabineau/cfn-bootstrap. The results showed security issues provided deployment solutions for the recommendations
in each of the tested images and provided ways to resolve made in the previous special publication ([31]).
each issue. Grattafiori [101] discussed, compared, and eval- NIST did not address container security from a research
uated different container security features. Additionally, the point-of-view as it is more targeted towards industrial uses.
14 VOLUME 4, 2016

2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2019.2911732, IEEE Access

S. Sultan et al.: Containers’ Security: Issues, Challenges, and Road Ahead

Additionally, they did not address the body of research evidence introduced by using containers and how current
behind container security which might limit the benefits investigation methods could be changed to commensurate
to researchers. Furthermore, they did not provide open containers.
research issues and future research directions. Our work Digital forensics research should answer if the current
answers the aforementioned concerns and highlights other investigation methods are sufficient for containers and what
risks that are not addressed, such as the Meltdown attack, new methods are possibly required in this domain.
that puts all containers at risk. We believe that standards
are important to provide guidelines to overcome security D. USABILITY OF VULNERABILITIES ASSESSMENT
issues in containers. However, as we saw in this survey, TOOLS
several security needs and issues are not addressed or well Several researchers showed that Docker images contain
understood (e.g., container specific namespaces, container many high risk vulnerabilities that range from 30% to 90%
specific LSMs, and Meltdown). Hence, we believe earlier [88, 89, 90], indicating a real issue with such images.
works on standardization requires more investigation. As many vulnerability assessment tools are available for
Table 10 shows a summary of selected studies addressed docker images, the question we are raising here is about
herein and the use cases that can be applied to them. the usability of such tools in the production environment
and if their use could hinder the deployment process or not.
VI. OPEN ISSUES AND FUTURE RESEARCH We believe that more work is needed to study and contrast
DIRECTIONS available container vulnerability scanners with respect to
Research on container technologies is still in a formative performance, usability, automation, and integration with cur-
stage and needs more experimental evaluation [113]. This rent deployment and orchestration tools. This would provide
section provides several future research directions based on tremendous help for developers and companies to know the
our review and other researchers’ recommendations. risks they are facing before, during, and after deploying
a specific image. We also recommend to further examine
A. MELTDOWN AND SPECTRE ATTACKS the feasibility of automatically mitigating the discovered
Meltdown exploits the out-of-order execution in modern container vulnerabilities by applying the required solutions
processors to extract information about the OS and other automatically.
containers. Containers are based on the concept of sharing
the same kernel. Recently, Lipp et al. [26] showed that E. CONTAINER ALTERNATIVES
a malicious container can leak information about other De Lucia [115] presented a review, in May 2017, on security
containers on the same host. This poses a serious threat isolation of VMs, containers, and unikernels. The study
to all cloud service providers that provide containers as a shows that VMs and unikernels provide good isolation com-
service. Spectre [27] is another serious threat to containers, pared to containers. However, VMs are inefficient because
where it tricks other application to access arbitrary locations they are large, unikernels are not optimal because they lack
in their memory. Both attacks target use case II (as defined privileges’ levels (which help separate kernel code from
in Section III). Those issues need to be addressed because application code), and containers do not provide as good
they pose a serious threat to all containerization systems and isolation as VMs or unikernels. The study concludes that
can cause big damage to cloud providers. there is no optimal solution that has been developed as yet.
It further states that an optimal solution should combine the
B. STANDARDS FOR CONTAINERS SECURITY good characteristics of VMs, containers, and unikernels.
Further investigation for standardization of container In December 2017, clear containers merged with Kata
deployment, communication protocols, and assessment containers which Intel claims to have the same security level
methodologies is required. Similar recommendations have as VMs [28]. Further analysis is required on VMs, con-
been proposed by many researchers [108, 100, 14]. The tainers, unikernels, and hybrids. As suggested by De Lucia
proposed unified models and standards should take into con- [115], studies on hybrid combination’s feasibility, benefits,
sideration different application requirements and platforms, and security are necessary. This would help identify the best
usability aspects, practicability, automation, simplicity, and technology for different scenarios.
easiness of adoption.
F. CONTAINER SECURITY AND PRIVACY FOR IOT
C. DIGITAL FORENSICS FOR CONTAINERS APPLICATIONS
Digital forensics are used to analyze security incidents. Symantec’s recent report (published March 2018) shows an
As the world is moving towards microservices that use overall increase of 600% in attacks targeting IoT for 2017.
containers, digital forensics techniques should be able to Recently, containers are used in IoT applications because
analyze security incidents related to them. According to they are lighter than VMs [4, 5, 6, 3, 7]. Celesti et al. [5]
Dewald et al. [114], Docker containers’ forensics has not underscored the importance of containers to enhance IoT
yet been addressed (as of 2018). Their study can motivate cloud service provisioning. The authors studied performance
further work in this area as they provided details on the new issues and possible advantages when containers are used for
VOLUME 4, 2016 15

2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2019.2911732, IEEE Access

S. Sultan et al.: Containers’ Security: Issues, Challenges, and Road Ahead

TABLE 9: Summary of container threats and studies addressed in each category.

Risk Countermeasure(s) Studies

Image Vulnerabilities Use vulnerability management tools and processes.


Image Configuration Defects Use tools and processes to comply with secure configuration best practices.
Image Risks

Disable SSH and remote administration tools to prevent network-based attacks.


Embedded Malware Monitor images for embedded malware by using monitoring processes that use [55, 89, 88,
malware signatures and behavioral detection. 90, 93, 96,
Embedded Cleartext Secrets Secrets should not be stored on images. Most orchestrators (e.g., Kubernetes) 103]
include support for secrets. Secrets should only be provided to images when
needed.
Use of Untrusted Images Should keep a group of trusted registries and images and not use any untrusted
images.
Registry Risks

Insecure connection to registries Configure Development tools, container runtime, and orchestrators to connect to
registries over encrypted channels.
Stale images in registries Remove any unsafe and vulnerable images from registry. Use version control on [89, 88, 90,
images to specifically access a specific version. 93, 103,
Insufficient Authentication Access to registry resources should require secure authentication and authoriza- 104, 105]
tion.
Unbounded Administrative Access Test teams only have access to test containers with limited access to containers
in production environment. In addition, orchestrators must use the least privilege
Orchestrator Risks

access model.
Unauthorized Access Access to administrative accounts should be controlled (e.g., multi-factor authen- [106, 55,
tication). 107, 104,
Poorly Separated Inter-container Separate network traffic into virtual network based on the sensitivity level of the 105]
Traffic network.
Mixing of Workload Sensitivity Isolate deployments to specific group of hosts by its sensitivity levels. Prevent
Levels placing high sensitivity workload with lower sensitivity ones.
Orchestrator Node Trust Orchestration platform should provide features to create secure environment for
applications that it runs. Ensure that all applications are introduced safely to the
cluster.
Vulnerabilities Within Runtime Monitor container runtime for vulnerabilities because vulnerable runtime exposes
all images inside it.
Container Risks

Unbounded Network Access from Control outbound network traffic from containers.
Containers [55, 94,
Comply with container runtime configuration standards (e.g., Center for Internet 108,
38, 93,
Insecure Container Runtime
93, 39, 103,
Configurations Security Docker Benchmark [102]). 109]
Application Vulnerabilities Container-aware vulnerability and instruction detection tools.
Rogue Containers Strict dichotomy among development, test, and production environments. Each
should come with the necessary controls for logging and access control.
Large Attack Surface Container-specific OS has lower threats that other OS’s because it is specifically
designed to host containers. Organizations that cannot use container specific OS
Host OS Risks

can follow Guides to General Server Security [34].


Shared Kernel Group container workloads on hosts based on their sensitivity levels. Do not mix [55, 94, 94,
containerized and non-containerized workload on the same host. 108, 39,
Host OS Component Vulnerabilities Implement management tools to validate versioning of components provided for 109]
OS.
Improper User Access Rights Authentications to the OS must be audited. Login anomalies should be monitored.
Host File System Tampering Containers should run with minimal file system permissions.
Side Channel and Information Eliminate the relationship between the leaked information and the secret data. [26, 27, 110,
Other

Leakage Attacks Meltdown [26] and Spectre [27] are high risk vulnerabilities that affected Docker, 40, 94, 39,
LXC, and OpenVZ. Meltdown overcomes memory isolation mechanisms on any 96, 82, 111,
virtualization technology and OSs. It is based on the out-of-order execution 78, 79, 80,
81, 83, 84,
in today’s processors. One countermeasure is to convert to full virtualization.
85, 86, 87]
Spectre tries to trick other applications to access arbitrary memory location in
their memory.
IAGO Attacks [112] Narrow the interface between the trusted components and the untrusted OS. [74]

16 VOLUME 4, 2016

2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2019.2911732, IEEE Access

S. Sultan et al.: Containers’ Security: Issues, Challenges, and Road Ahead

TABLE 10: Summary of selected studies and applicable use cases.

Use case (IV)


Use case (III)
Use case (II)
Use case (I)
Ref Year Summary Mechanisms

[99] 2014 Studied different container security and protection mechanisms. Showed that all 3 3 3 7 LSFs
containers rely on similar separation features to prevent various attacks.
[16] 2015 Studied different protection mechanisms for Docker containers. 3 3 3 7 LSFs
[55] 2015 Proposed a framework to automate the process of rules construction for LSMs. 3 7 3 7 LSFs and LSMs
[58] 2015 Proposed a solution to enhance Docker container image security through binding 3 3 3 7 LSMs
SELinux LSM policies to the image.
[103] 2015 Studied Docker container security and the available protection mechanisms to enhance 3 3 3 7 LSFs and LSMs
their security.
[33] 2016 Addressed security mechanisms to protect Docker containers from DoS attacks. 3 3 3 7 LSFs and LSMs
[57] 2016 Studied different hardening techniques to enhance the security of Docker containers. 3 3 3 7 LSMs and LSFs
[64] 2016 Studied vTPMs to enhance containers security for cloud computing. 7 7 7 3 vTMPs
[74] 2016 Used Intel SGX to enhance container security on untrusted host. 7 7 7 3 Intel SGX
[94] 2016 Identified covert channels for Docker, and studied capabilities configuration effect on 3 3 3 7 LSFs and LSMs
Docker container security.
[95] 2016 Conducted experiments to study the effect of Docker containers on the host’s attack 7 7 3 7 Vulnerability Scanning
surface.
[111] 2016 Presented a container management framework called MIGRATE that obfuscates 7 3 7 7 LSFs
the execution behavior of a container to defend against side-channel attacks from
neighboring tenants.
[15] 2016 Studied security issues and solutions for Docker containers using practical use cases. 3 3 3 7 LSFs and LSMs
[97] 2016 Proposed a tool called Starlight that analyze a container’s system calls to detect 3 - 3 7 System calls analysis
malicious operations.
[101] 2016 Discussed container security and protection mechanisms available. 3 3 3 7 LSFs and LSMs
[38] 2017 Presented a solution to Docker escape attacks based on namespaces status inspection. 3 3 3 7 LSFs
[46] 2017 Presented a solution called SPEAKER that is based on secomp and analyzed system 3 7 3 7 LSFs, system calls
calls. Unnecessary system calls are blocked. analysis
[47] 2017 Presented a solution to automate the creation of seccomp profiles for application based 3 7 3 7 LSFs, system calls
on a training period. Unseen system calls during that period will be blocked. analysis
[102] 2017 Presented guidelines to secure Docker containers. 3 3 3 7 LSFs and LSMs
[31] 2017 NIST guidelines for securing containers. [35] provides deployment solutions for those 3 3 3 3 LSFs, LSMs, TPMs,
guidelines. vulnerability scanning,
and SGX
[27] 2018 Presented Spectre attacks that violates several isolation mechanisms used by containers. 3 3 3 3 Speculative execution
attacks
[30] 2018 Extension for [29]. Measured the effectiveness of containers against resource drainage 7 3 3 7 LSFs, Third party tools
attacks (e.g., power drainage). (e.g., Wondershaper)
[40] 2018 Extension for [39]. Studied information leakage attacks on five major cloud service 3 3 3 7 LSFs, LSMs
providers. They proposed a solution for power-based namespace to protect against
power attacks.
[43] 2018 Presented a technique called ContainerDrone to protect against DoS attack using 3 3 3 7 LSFs, MemGuard
Cgroups to protect CPU usage and MemGuard kernel module to protect memory
access.
[10] 2018 Presented a solution that incorporates SGX with Kubernetes orchestrator to make it 7 7 7 3 SGX
easier for developers to deploy containers on untrusted cloud service providers.
[26] 2018 Presented Meltdown attack that can allow a malicious container to leak information 7 3 7 7 Exploit out-of-order
about other containers on the same host. The attack worked on Docker, LXC, and execution
OpenVZ without any restrictions.
[56] 2018 Presented a solution called Docker-sec to automate AppArmor rules creation and 3 3 3 7 LSMs
updates for Docker images.
[60] 2018 One of the issues with namespaces is that they are shared among different containers 7 - 3 7 LSFs
on the same host. This work presents a solution to provide fine-grained namespaces
to allow each container to use its own security profile.
[87] 2018 SGX is an important tool used in protecting containers from the host. This study 7 7 7 3 SGX
shows that SGX suffers from numerous side-channel attacks and shows that T-SGX
[86] provides better defense against such attacks.

VOLUME 4, 2016 17

2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2019.2911732, IEEE Access

S. Sultan et al.: Containers’ Security: Issues, Challenges, and Road Ahead

IoT cloud services. Results showed that containers intro- especially addressing profile creation for container images
duced acceptable performance overhead in real scenarios. and their applicability using current orchestration tools.
Morabito et al. [6] further showed that security issues arise
when using containers for IoT because of resource sharing. VII. CONCLUSIONS
Morabito et al. [116] analyzed containers and unikernels Containers are important for the future of cloud com-
scalability, privacy, security, performance for numerous IoT puting. Microservices and containers are closely related,
applications. The authors underscored some open issues for where containers are considered the standardized way for
integrating containers and unikernels with IoT applications microservices deployment. Containers are important for the
such as orchestrations and monitoring, security and privacy, emerging field of service meshes that relies on microser-
standards and regulations, management frameworks and vices, too. However, one of the primary adoption barriers
applications portability, data storage, and telecom indus- for container widespread deployment is the security issues
try readiness and perspectives. For security and privacy, they face. To the best of our knowledge, there are no
the authors highlighted the challenge of certification of comprehensive surveys on containers’ security; our work
applications and the need for validation mechanisms to attempted to fill this gap by looking at the literature and
identify tampered images. Morabito [117] encouraged the identifying the main threats which are due to image, registry,
development of security mechanisms that are related to orchestration, container, side channels, and host OS risks.
IoT applications such as [118]. Haritha and Lavanya [119] We thus proposed four use cases in the container-host level
presented a survey on IoT security issues and provided a set to elucidate how current solutions can be used to enhance
of open issues and challenges. Hence, we re-emphasize on containers’ security. The use cases are: (I) protecting a
the importance of studying container security, privacy, and container from applications inside it, (II) inter-container
standardization technologies for different IoT applications protection, (III) protecting host from containers, and (IV)
such as smart grids, smart vehicles, augmented reality, smart protecting containers from malicious or semi-honest host.
sensor networks, E-Health and network function virtualiza- Available solutions for the four use cases can be either
tion (NFV). (i) software solutions such as Linux namespaces, CGroups,
capabilities, seccomp, and LSMs, or (ii) hardware solutions
G. BLOCKCHAIN FOR CONTAINER VERIFICATION such as using vTPMs and utilizing trusted platform support
As we have seen earlier, many of the security issues in (e.g., Intel SGX).
containers arise from using unverified images. For exam- We further identified some open challenges and research
ple, Docker default installation does not check for image directions for containers. The directions are focused on
authenticity [104]. Towards this end, Notary can be used the importance of enhanced vulnerability management, dig-
to verify Docker images authenticity, which is however a ital investigation, container alternatives, container-specific
centralized solution. A better solution is to use a decentral- LSMs. We hope our work can shed light on the power and
ized verification that could use a blockchain. Xu et al. [104] limitations of container technologies, stimulate interactions
proposed a solution for Docker images verification using between practitioners and spawn further research in the area.
blockchain called Decentralized Docker Trust (DDT). We
believe further investigation is required for the applicability ACKNOWLEDGEMENTS
and effectiveness of decentralized attestation for container The authors would like to thank the anonymous reviewers
images. for their helpful and constructive comments that greatly
contributed to improving the final version of the paper.
H. CONTAINER SPECIFIC LSMS
One issue with LSMs is that they shared by all containers, REFERENCES
in which a single container cannot use a specific LSM [1] M. Httermann, DevOps for developers. Apress, 2012.
[2] C. Tozzi, “What do containers have to do with DevOps, any-
[59]. As we discussed earlier in Section IV-A2, LSMs play way?” https://containerjournal.com/2017/01/11/containers-devops-
a pivotal role in providing security for Linux systems in anyway/, Jan 2017.
general. However, sharing LSMs among different containers [3] K. Kaur, T. Dhand, N. Kumar, and S. Zeadally, “Container-as-a-
service at the edge: Trade-off between energy efficiency and service
can be crippling as different containers might need differ- availability at fog nano data centers,” IEEE wireless communica-
ent protection requirements. Hence, we recommend further tions, vol. 24, no. 3, pp. 48–56, 2017.
research towards container specific LSMs to enhance and [4] H. Khazaei, H. Bannazadeh, and A. Leon-Garcia, “SAVI-IoT: A
self-managing containerized iot platform,” in 2017 IEEE 5th Interna-
facilitate container security. Johansen and Schaufler [120] tional Conference on Future Internet of Things and Cloud (FiCloud).
work focuses on making LSMs available to containers and IEEE, 2017, pp. 227–234.
as they mention "To date containers access to the LSM has [5] A. Celesti, D. Mulfari, M. Fazio, M. Villari, and A. Puliafito, “Ex-
ploring container virtualization in iot clouds,” in Smart Computing
been limited but there has been work to change the situa- (SMARTCOMP), 2016 IEEE International Conference on. IEEE,
tion". The way to achieve this according to the authors is by 2016, pp. 1–6.
virtualizing the LSMs. Recently, Sun et al. [60] presented [6] R. Morabito, I. Farris, A. Iera, and T. Taleb, “Evaluating perfor-
mance of containerized iot services for clustered devices at the
a study where they provided container specific LSMs (for network edge,” IEEE Internet of Things Journal, vol. 4, no. 4, pp.
AppArmor). Further investigation is required on this topic, 1019–1030, Aug 2017.

18 VOLUME 4, 2016

2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2019.2911732, IEEE Access

S. Sultan et al.: Containers’ Security: Issues, Challenges, and Road Ahead

[7] R. Morabito, R. Petrolo, V. Loscrì, N. Mitton, G. Ruggeri, and [28] Intel, “Intel clear containers: Now part of kata containers,” https:
A. Molinaro, “Lightweight virtualization as enabling technology for //clearlinux.org/containers, 2018, [Accessed 20-03-2018].
future smart cars,” in 2017 IFIP/IEEE Symposium on Integrated [29] L. Catuogno, C. Galdi, and N. Pasquino, “Measuring the effec-
Network and Service Management (IM), May 2017, pp. 1238–1245. tiveness of containerization to prevent power draining attacks,” in
[8] P. Jamshidi, C. Pahl, N. C. Mendonça, J. Lewis, and S. Tilkov, Measurement and Networking (M&N), 2017 IEEE International
“Microservices: The journey so far and challenges ahead,” IEEE Workshop on. IEEE, 2017, pp. 1–6.
Software, vol. 35, no. 3, pp. 24–35, 2018. [30] ——, “An effective methodology for measuring software resource
[9] J. Soldani, D. A. Tamburri, and W.-J. Van Den Heuvel, “The pains usage,” IEEE Transactions on Instrumentation and Measurement,
and gains of microservices: A systematic grey literature review,” no. 99, pp. 1–8, 2018.
Journal of Systems and Software, vol. 146, pp. 215–232, 2018. [31] M. Souppaya, J. Morello, and K. Scarfone, “Application container
[10] S. Vaucher, R. Pires, P. Felber, M. Pasin, V. Schiavoni, and C. Fetzer, security guide,” NIST Special Publication, vol. 800, p. 190, 2017.
“SGX-Aware container orchestration for heterogeneous clusters,” in [32] P. Bogaerts, “Arp spoofing docker containers,” "https://dockersec.
2018 IEEE 38th International Conference on Distributed Computing blogspot.com/2017/01/arp-spoofing-docker-containers_26.html",
Systems (ICDCS), July 2018, pp. 730–741. jan 2017.
[11] R. Buyya, S. N. Srirama, G. Casale, R. Calheiros, Y. Simmhan, [33] J. Chelladhurai, P. R. Chelliah, and S. A. Kumar, “Securing docker
B. Varghese, E. Gelenbe, B. Javadi, L. M. Vaquero, M. A. Netto containers from denial of service (DOS) attacks,” in Services Com-
et al., “A manifesto for future generation cloud computing: Research puting (SCC), 2016 IEEE International Conference on. IEEE, 2016,
directions for the next decade,” arXiv preprint arXiv:1711.09123, pp. 856–859.
2017. [34] K. Scarfone, W. Jansen, and M. Tracy, “Guide to general server
[12] 451Research, “451 research says application container market to security,” NIST Special Publication, vol. 800, p. 123, 2008.
reach $2.7 billion by 2020,” https://www.enterpriseai.news/2017/ [35] R. Chandramouli, “Security assurance requirements for linux appli-
01/10/451-research-says-application-container-market-reach-2-7- cation container deployments,” IEEE, Tech. Rep., 2017.
billion-2020/, 2017, accessed: 22.10.2017. [36] D. S. Team., “Docker security,” https://docs.docker.com/engine/
[13] D. Walsh, “Are docker containers really secure?” security/security/, 2017, accessed: 13.11.2017.
https://opensource.com/business/14/7/docker-security-selinux, [37] Man7.org, “namespaces - overview of linux namespaces,”
2014, [Accessed 27-12-2017]. http://man7.org/linux/man-pages/man7/namespaces.7.html, 2017,
[14] B. M. Abbott, “A security evaluation methodology for container accessed: 13.11.2017.
images,” Master’s thesis, Brigham Young University, 2017. [38] Z. Jian and L. Chen, “A defense method against docker escape
[15] T. Combe, A. Martin, and R. Di Pietro, “To docker or not to docker: attack,” in Proceedings of the 2017 International Conference on
A security perspective,” IEEE Cloud Computing, vol. 3, no. 5, pp. Cryptography, Security and Privacy. ACM, 2017, pp. 142–146.
54–62, 2016. [39] X. Gao, Z. Gu, M. Kayaalp, D. Pendarakis, and H. Wang, “Con-
[16] A. Bettini, “Vulnerability exploitation in docker container environ- tainerLeaks: emerging security threats of information leakages in
ments,” FlawCheck, Black Hat Europe, 2015. container clouds,” in Dependable Systems and Networks (DSN),
[17] M. Pearce, S. Zeadally, and R. Hunt, “Virtualization: Issues, security 2017 47th Annual IEEE/IFIP International Conference on. IEEE,
threats, and solutions,” ACM Computing Surveys (CSUR), vol. 45, 2017, pp. 237–248.
no. 2, p. 17, 2013. [40] X. Gao, B. Steenkamer, Z. Gu, M. Kayaalp, D. Pendarakis, and
[18] G. Pék, L. Buttyán, and B. Bencsáth, “A survey of security issues in H. Wang, “A study on the security implications of information
hardware virtualization,” ACM Computing Surveys (CSUR), vol. 45, leakages in container clouds,” IEEE Transactions on Dependable
no. 3, p. 40, 2013. and Secure Computing, 2018.
[19] F. Zhang, G. Liu, X. Fu, and R. Yahyapour, “A survey on virtual [41] D. Yu, Y. Jin, Y. Zhang, and X. Zheng, “A survey on security issues
machine migration: Challenges, techniques, and open issues,” IEEE in services communication of microservices-enabled fog applica-
Communications Surveys Tutorials, vol. 20, no. 2, pp. 1206–1243, tions,” Concurrency and Computation: Practice and Experience, p.
Secondquarter 2018. e4436, 2018.
[20] W. Gentzsch and B. Yenier, “Novel software containers for engineer- [42] R. Inam, J. Slatman, M. Behnam, M. Sjödin, and T. Nolte, “Towards
ing and scientific simulations in the cloud,” International Journal of implementing multi-resource server on multi-core linux platform,” in
Grid and High Performance Computing (IJGHPC), vol. 8, no. 1, pp. Emerging Technologies & Factory Automation (ETFA), 2013 IEEE
38–49, 2016. 18th Conference on. IEEE, 2013, pp. 1–4.
[21] M. G. Xavier, M. V. Neves, F. D. Rossi, T. C. Ferreto, T. Lange, [43] J. Chen, Z. Feng, J.-Y. Wen, B. Liu, and L. Sha, “A container-based
and C. A. De Rose, “Performance evaluation of container-based DoS attack-resilient control framework for real-time UAV systems,”
virtualization for high performance computing environments,” in arXiv preprint arXiv:1812.02834, 2018.
Parallel, Distributed and Network-Based Processing (PDP), 2013 [44] Man7.org, “Linux capabilities,” http://man7.org/linux/man-pages/
21st Euromicro International Conference on. IEEE, 2013, pp. 233– man7/capabilities.7.html, 2017, accessed: 5.12.2017.
240. [45] RedHat, “Chapter 8. linux capabilities and seccomp,”
[22] M. Stuart, “Evolving container architectures,” https://wikibon.com/ https://access.redhat.com/documentation/en-us/red_hat_enterprise_
evolving-container-architectures/, 2015, accessed: 13.11.2017. linux_atomic_host/7/html/container_security_guide/linux_
[23] R. Peinl, F. Holzschuher, and F. Pfitzer, “Docker cluster management capabilities_and_seccomp, may 2018, [Accessed 16-05-2018].
for the cloud-survey results and own solution,” Journal of Grid [46] L. Lei, J. Sun, K. Sun, C. Shenefiel, R. Ma, Y. Wang, and Q. Li,
Computing, vol. 14, no. 2, pp. 265–282, 2016. “SPEAKER: Split-phase execution of application containers,” in
[24] N. Dragoni, S. Giallorenzo, A. L. Lafuente, M. Mazzara, F. Montesi, International Conference on Detection of Intrusions and Malware,
R. Mustafin, and L. Safina, “Microservices: yesterday, today, and and Vulnerability Assessment. Springer, 2017, pp. 230–251.
tomorrow,” in Present and Ulterior Software Engineering. Springer, [47] Z. Wan, D. Lo, X. Xia, L. Cai, and S. Li, “Mining sandboxes for
2017, pp. 195–216. linux containers,” in Software Testing, Verification and Validation
[25] B. Golden, “3 reasons why you should always run microservices (ICST), 2017 IEEE International Conference on. IEEE, 2017, pp.
apps in containers,” https://techbeacon.com/app-dev-testing/3- 92–102.
reasons-why-you-should-always-run-microservices-apps- [48] D. Merkel, “Docker: lightweight linux containers for consistent
containers, 2016, accessed: 11.11.2017. development and deployment,” Linux Journal, vol. 2014, no. 239,
[26] M. Lipp, M. Schwarz, D. Gruss, T. Prescher, W. Haas, A. Fogh, p. 2, 2014.
J. Horn, S. Mangard, P. Kocher, D. Genkin et al., “Meltdown: [49] Y. Al-Dhuraibi, F. Paraiso, N. Djarallah, and P. Merle, “Autonomic
Reading kernel memory from user space,” in 27th USENIX Security vertical elasticity of docker containers with ELASTICDOCKER,”
Symposium (USENIX Security 18), 2018, pp. 973–990. in 2017 IEEE 10th International Conference on Cloud Computing
[27] P. Kocher, D. Genkin, D. Gruss, W. Haas, M. Hamburg, M. Lipp, (CLOUD), June 2017, pp. 472–479.
S. Mangard, T. Prescher, M. Schwarz, and Y. Yarom, “Spec- [50] Docker, “Docker default capabilities,” https://github.com/moby/
tre attacks: Exploiting speculative execution,” arXiv preprint moby/blob/master/oci/defaults.go, 2017, accessed: 1.12.2017.
arXiv:1801.01203, 2018. [51] J. Morris, S. Smalley, and G. Kroah-Hartman, “Linux security

VOLUME 4, 2016 19

2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2019.2911732, IEEE Access

S. Sultan et al.: Containers’ Security: Issues, Challenges, and Road Ahead

modules: General security support for the linux kernel,” in USENIX J. Lind, D. Muthukumaran, D. O’Keeffe, M. Stillwell et al.,
Security Symposium, 2002, pp. 17–31. “SCONE: Secure linux containers with intel SGX.” in OSDI, 2016,
[52] H. Lindqvist, “Mandatory access control,” Master’s Thesis in Com- pp. 689–703.
puting Science, Umea University, Department of Computing Sci- [75] K. Zetter, “NSA hacker chief explains how to keep him out of your
ence, SE-901, vol. 87, 2006. system,” Wired (Jan. 2016), 2016.
[53] S. Smalley, T. Fraser, and C. Vance, “Linux security modules: [76] T. Hunt, Z. Zhu, Y. Xu, S. Peter, and E. Witchel, “Ryoan: A
General security hooks for linux,” 2001. distributed sandbox for untrusted computation on secret data.” in
[54] Kernel.org, “Linux security module usage,” https://www.kernel. OSDI, 2016, pp. 533–549.
org/doc/html/v4.13/admin-guide/LSM/index.html, 2017, accessed: [77] C.-C. Tsai, D. E. Porter, and M. Vij, “Graphene-SGX: A practical
7.12.2017. library OS for unmodified applications on SGX,” in 2017 USENIX
[55] M. Mattetti, A. Shulman-Peleg, Y. Allouche, A. Corradi, S. Dolev, Annual Technical Conference (USENIX ATC), 2017.
and L. Foschini, “Securing the infrastructure and the workloads of [78] Y. Xu, W. Cui, and M. Peinado, “Controlled-channel attacks: Deter-
linux containers,” in Communications and Network Security (CNS), ministic side channels for untrusted operating systems,” in Security
2015 IEEE Conference on. IEEE, 2015, pp. 559–567. and Privacy (SP), 2015 IEEE Symposium on. IEEE, 2015, pp.
[56] F. Loukidis-Andreou, I. Giannakopoulos, K. Doka, and N. Koziris, 640–656.
“Docker-Sec: A fully automated container security enhancement [79] J. Van Bulck, N. Weichbrodt, R. Kapitza, F. Piessens, and R. Strackx,
mechanism,” in 2018 IEEE 38th International Conference on Dis- “Telling your secrets without page faults: Stealthy page table-based
tributed Computing Systems (ICDCS). IEEE, 2018, pp. 1561–1564. attacks on enclaved execution,” in Proceedings of the 26th USENIX
[57] A. R. MP, A. Kumar, S. J. Pai, and A. Gopal, “Enhancing security of Security Symposium. USENIX Association, 2017.
docker using linux hardening techniques,” in Applied and Theoret- [80] S. Lee, M.-W. Shih, P. Gera, T. Kim, H. Kim, and M. Peinado,
ical Computing and Communication Technology (iCATccT), 2016 “Inferring fine-grained control flow inside sgx enclaves with branch
2nd International Conference on. IEEE, 2016, pp. 94–99. shadowing,” in 26th USENIX Security Symposium, USENIX Secu-
[58] E. Bacis, S. Mutti, S. Capelli, and S. Paraboschi, “Dockerpolicy- rity, 2017, pp. 16–18.
modules: mandatory access control for docker containers,” in Com- [81] D. Evtyushkin, R. Riley, N. C. Abu-Ghazaleh, D. Ponomarev
munications and Network Security (CNS), 2015 IEEE Conference et al., “BranchScope: A new side-channel attack on directional
on. IEEE, 2015, pp. 749–750. branch predictor,” in Proceedings of the Twenty-Third International
[59] J. Johansen, “Making linux security modules available to con- Conference on Architectural Support for Programming Languages
tainers,” https://archive.fosdem.org/2018/schedule/event/containers_ and Operating Systems. ACM, 2018, pp. 693–707.
lsm/, 2018, [Accessed 20-03-2018]. [82] M. Schwarz, S. Weiser, D. Gruss, C. Maurice, and S. Mangard,
[60] Y. Sun, D. Safford, M. Zohar, D. Pendarakis, Z. Gu, and T. Jaeger, “Malware guard extension: Using sgx to conceal cache attacks,” in
“Security namespace: making linux security frameworks available International Conference on Detection of Intrusions and Malware,
to containers,” in 27th USENIX Security Symposium (USENIX and Vulnerability Assessment. Springer, 2017, pp. 3–24.
Security 18), 2018, pp. 1423–1439. [83] M. Hähnel, W. Cui, and M. Peinado, “High-resolution side channels
[61] T. Morris, “Trusted platform module,” in Encyclopedia of cryptog- for untrusted operating systems,” in 2017 USENIX Annual Techni-
raphy and security. Springer, 2011, pp. 1332–1335. cal Conference (USENIX ATC 17), 2017, pp. 299–312.
[62] E. W. Felten, “Understanding trusted computing: will its benefits [84] F. Brasser, U. Müller, A. Dmitrienko, K. Kostiainen, S. Capkun, and
outweigh its drawbacks?” IEEE Security & Privacy, vol. 99, no. 3, A.-R. Sadeghi, “Software grand exposure: SGX cache attacks are
pp. 60–62, 2003. practical,” arXiv preprint arXiv:1702.07521, p. 33, 2017.
[63] A. Martin, “The ten-page introduction to trusted computing,” Oxford [85] W. Wang, G. Chen, X. Pan, Y. Zhang, X. Wang, V. Bindschaedler,
University Computing Laboratory, 2008. H. Tang, and C. A. Gunter, “Leaky cauldron on the dark land:
[64] S. Hosseinzadeh, S. Laurén, and V. Leppänen, “Security in Understanding memory side-channel hazards in SGX,” in Proceed-
container-based virtualization through vtpm,” in Proceedings of ings of the 2017 ACM SIGSAC Conference on Computer and
the 9th International Conference on Utility and Cloud Computing. Communications Security. ACM, 2017, pp. 2421–2434.
ACM, 2016, pp. 214–219. [86] M.-W. Shih, S. Lee, T. Kim, and M. Peinado, “T-SGX: Eradicating
[65] R. Perez, R. Sailer, L. van Doorn et al., “vtpm: virtualizing the controlled-channel attacks against enclave programs,” in Proceed-
trusted platform module,” in Proc. 15th Conf. on USENIX Security ings of the 2017 Annual Network and Distributed System Security
Symposium, 2006, pp. 305–320. Symposium (NDSS), San Diego, CA, 2017.
[66] P. England and J. Loeser, “Para-virtualized tpm sharing,” Trusted [87] M.-W. Shih, “TSX-based defenses against SGX side-channel at-
Computing-Challenges and Applications, pp. 119–132, 2008. tacks,” https://gts3.org/2018/tsgx-defense.html, june 2018, [Ac-
[67] B. Danev, R. J. Masti, G. O. Karame, and S. Capkun, “Enabling cessed 16-01-2019].
secure vm-vtpm migration in private clouds,” in Proceedings of the [88] J. Gummaraju, T. Desikan, and Y. Turner, “Over 30% of official
27th Annual Computer Security Applications Conference. ACM, images in docker hub contain high priority security vulnerabilities,”
2011, pp. 187–196. Technical report, BanyanOps, Tech. Rep., 2015.
[68] P. Fan, B. Zhao, Y. Shi, Z. Chen, and M. Ni, “An improved vtpm- [89] O. Henriksson and M. Falk, “Static vulnerability analysis of docker
vm live migration protocol,” Wuhan University Journal of Natural images,” Master’s thesis, Blekinge Institute of Technology, 2017.
Sciences, vol. 20, no. 6, pp. 512–520, Dec 2015. [90] R. Shu, X. Gu, and W. Enck, “A study of security vulnerabilities
[69] X. Wan, Z. Xiao, and Y. Ren, “Building trust into cloud computing on docker hub,” in Proceedings of the Seventh ACM on Conference
using virtualization of tpm,” in Multimedia Information Networking on Data and Application Security and Privacy. ACM, 2017, pp.
and Security (MINES), 2012 Fourth International Conference on. 269–280.
IEEE, 2012, pp. 59–63. [91] A. Martin, S. Raponi, T. Combe, and R. D. Pietro, “Docker
[70] F. Stumpf and C. Eckert, “Enhancing trusted platform modules with ecosystem vulnerability analysis,” Computer Communications,
hardware-based virtualization techniques,” in Emerging Security vol. 122, pp. 30 – 43, 2018. [Online]. Available: http:
Information, Systems and Technologies, 2008. SECURWARE’08. //www.sciencedirect.com/science/article/pii/S0140366417300956
Second International Conference on. IEEE, 2008, pp. 1–9. [92] X. Lin, L. Lei, Y. Wang, J. Jing, K. Sun, and Q. Zhou, “A
[71] TrustedComputingGroup, “Trusted platform module (TPM) 2.0: measurement study on linux container security: Attacks and coun-
A brief introduction,” https://www.trustedcomputinggroup.org/wp- termeasures,” in Proceedings of the 34th Annual Computer Security
content/uploads/TPM-2.0-A-Brief-Introduction.pdf, 2016, accessed: Applications Conference. ACM, 2018, pp. 418–429.
9.12.2017. [93] J.-A. Kabbe, “Security analysis of docker containers in a production
[72] V. Costan and S. Devadas, “Intel SGX explained.” IACR Cryptology environment,” Master’s thesis, NTNU, 2017.
ePrint Archive, vol. 2016, p. 86, 2016. [94] Y. Luo, W. Luo, X. Sun, Q. Shen, A. Ruan, and Z. Wu, “Whispers
[73] M. Hoekstra, R. Lal, P. Pappachan, V. Phegade, and J. Del Cuvillo, between the containers: High-capacity covert channel attacks in
“Using innovative instructions to create trustworthy software solu- docker,” in Trustcom/BigDataSE/I SPA, 2016 IEEE. IEEE, 2016,
tions.” HASP ISCA, vol. 11, 2013. pp. 630–637.
[74] S. Arnautov, B. Trach, F. Gregor, T. Knauth, A. Martin, C. Priebe, [95] A. A. Mohallel, J. M. Bass, and A. Dehghantaha, “Experimenting

20 VOLUME 4, 2016

2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2019.2911732, IEEE Access

S. Sultan et al.: Containers’ Security: Issues, Challenges, and Road Ahead

with docker: Linux container and base os attack surfaces,” in “Consolidate IoT edge computing with lightweight virtualization,”
Information Society (i-Society), 2016 International Conference on. IEEE Network, vol. 32, no. 1, pp. 102–111, Jan 2018.
IEEE, 2016, pp. 17–21. [117] R. Morabito, “Virtualization on internet of things edge devices with
[96] T. Lu and J. Chen, “Research of penetration testing technology in container technologies: A performance evaluation,” IEEE Access,
docker environment,” in 5th International Conference on Mechatron- vol. 5, pp. 8835–8850, 2017.
ics, Materials, Chemistry and Computer Engineering (ICMMCCE [118] E. Brown, “The future of IoT: Containers aim to solve security
2017), 2017. crisis,” https://www.linux.com/news/future-iot-containers-aim-solve-
[97] S. Barlev, Z. Basil, S. Kohanim, R. Peleg, S. Regev, and A. Shulman- security-crisis, 2016, [Accessed 28-12-2017].
Peleg, “Secure yet usable: Protecting servers and linux containers,” [119] A. Haritha and A. Lavanya, “Internet of things: Security issues,”
IBM Journal of Research and Development, vol. 60, no. 4, pp. 12–1, Internation Journal of Engineering Science Invention, vol. 6, no. 11,
2016. pp. 45–52, 2017.
[98] N. Bila, P. Dettori, A. Kanso, Y. Watanabe, and A. Youssef, “Lever- [120] J. Johansen and C. Schaufler, “Namespacing and stacking the LSM,”
aging the serverless architecture for securing linux containers,” in in Linux Plumbers Conference 2017. Linux Plumbers Conference,
Distributed Computing Systems Workshops (ICDCSW), 2017 IEEE 2017, pp. 1–5.
37th International Conference on. IEEE, 2017, pp. 401–404.
[99] E. Reshetova, J. Karhunen, T. Nyman, and N. Asokan, “Security
of os-level virtualization technologies,” in Nordic Conference on
Secure IT Systems, Springer. Springer International Publishing,
2014, pp. 77–93.
[100] L. Catuogno and C. Galdi, “On the evaluation of security properties SARI SULTAN is an Excellence Scholarship MSc
of containerized systems,” in Ubiquitous Computing and Commu- student at Kuwait University. He received his BSc
nications and 2016 International Symposium on Cyberspace and from the Hashemite University. His research in-
Security (IUCC-CSS), International Conference on. IEEE, 2016, terests include security, privacy, digital forensics,
pp. 69–76. and artificial intelligence. He is a Certified Eth-
[101] A. Grattafiori, “Understanding and hardening linux containers,” ical Hacker C|EH, Computer Hacking Forensics
Whitepaper, NCC Group, 2016. Investigator C|HFI, and ISO 27001 Information
[102] P. Goyal, “CIS docker community edition benchmark v1.1.0,” Security Management System Lead Auditor.
https://www.cisecurity.org/benchmark/docker/, 2017, [Online; ac-
cessed 10-12-2017].
[103] T. Bui, “Analysis of docker security,” arXiv preprint
arXiv:1501.02967, 2015.
[104] Q. Xu, C. Jin, M. F. B. M. Rasid, B. Veeravalli, and K. M. M. Aung,
“Blockchain-based decentralized content trust for docker images,”
Multimedia Tools and Applications, vol. 77, no. 14, pp. 18 223– PROF. IMTIAZ AHMAD received his B.Sc. in
18 248, 2018. Electrical Engineering from University of En-
[105] A. Brinckman, D. Luc, J. Nabrzyski, G. L. Neidig, J. Neidig, T. A. gineering and Technology, Lahore, Pakistan, a
Puckett, S. K. Radha, and I. J. Taylor, “A comparative evaluation M.Sc. in Electrical Engineering from King Fahd
of blockchain systems for application sharing using containers,” in University of Petroleum and Minerals, Dhahran,
e-Science (e-Science), 2017 IEEE 13th International Conference on. Saudi Arabia, and a Ph.D. in Computer Engi-
IEEE, 2017, pp. 490–497. neering from Syracuse University, Syracuse, New
[106] D. Sæther, “Security in docker swarm: orchestration service for York, in 1984, 1988 and 1992, respectively. Since
distributed software systems,” Master’s thesis, The University of September 1992, he has been with the Department
Bergen, 2018.
of Computer Engineering at Kuwait University,
[107] N. Paladi, A. Michalas, and D. Hai-Van, “Towards secure cloud
Kuwait, where he is currently a professor. His research interests include
orchestration for multi-cloud deployments,” in EuroSys-CrossCloud,
2018. design automation of digital systems, high-level synthesis, distributed
[108] M. A. Babar and B. Ramsey, “Understanding container isolation computing, and software defined networks.
mechanisms for building security-sensitive private cloud,” Technical
Report, CREST, University of Adelaide, Adelaide, Australia, vol. 2,
2017.
[109] Y. Li, B. Dolan-Gavitt, S. Weber, and J. Cappos, “Lock-in-Pop:
securing privileged operating system kernels by keeping on the DR. TASSOS DIMITRIOU is currently affiliated
beaten path,” in 2017 USENIX Annual Technical Conference with the Department of Computer Engineering at
(USENIXATC 17). USENIX Association, 2017, pp. 1–13. Kuwait University and the Research and Aca-
[110] R. Sprabery, K. Evchenko, A. Raj, R. B. Bobba, S. Mohan, and demic Computer Technology Institute, Greece.
R. Campbell, “Scheduling, isolation, and cache allocation: A side-
Prior to that he was an Associate Professor at
channel defense,” in Cloud Engineering (IC2E), 2018 IEEE Inter-
national Conference on. IEEE, 2018, pp. 34–40. Athens Information Technology, Greece, where
[111] M. Azab and M. Eltoweissy, “Migrate: Towards a lightweight he was leading the Algorithms and Security
moving-target defense against cloud side-channels,” in Security and group, and adjunct Professor in Carnegie Mellon
Privacy Workshops (SPW), 2016 IEEE. IEEE, 2016, pp. 96–103. University, USA, and Aalborg University, Den-
[112] S. Checkoway and H. Shacham, “Iago attacks: Why the system call mark. Dr. Dimitriou conducts research in areas
API is a bad untrusted rpc interface,” SIGPLAN Not., vol. 48, no. 4, spanning from the theoretical foundations of cryptography to the design
pp. 253–264, mar 2013. and implementation of leading edge efficient and secure communication
[113] C. Pahl, A. Brogi, J. Soldani, and P. Jamshidi, “Cloud container protocols. Emphasis is given in authentication and privacy issues for
technologies: a state-of-the-art review,” IEEE Transactions on Cloud various types of networks (adhoc, sensor nets, RFID, smart grid, etc.),
Computing, 2017. security architectures for wireless and telecommunication networks and
[114] A. Dewald, M. Luft, and J. Suleder, “Incident analysis and forensics the development of secure applications for networking and electronic
in docker environments,” https://static.ernw.de/whitepaper/ERNW_ commerce. Dr. Dimitriou is a senior member of IEEE, ACM, a Fulbright
Whitepaper64_IncidentForensicDocker_signed.pdf, 2018. fellow and Distinguished Lecturer of ACM. More information about him
[115] M. J. De Lucia, “A survey on security isolation of virtualization, con- can be found in the web page http://tassosdimitriou.com/
tainers, and unikernels,” US Army Research Laboratory Aberdeen
Proving Ground United States, Tech. Rep., 2017.
[116] R. Morabito, V. Cozzolino, A. Y. Ding, N. Beijar, and J. Ott,

VOLUME 4, 2016 21

2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

You might also like