Professional Documents
Culture Documents
1 Abstract— While the use of containerization technologies for for even small security cracks within the container software 37
2 virtual application deployment has grown at an astonishing rate, ecosystem to produce hugely destructive impacts. Tripwire’s 38
3 the question of the robustness of container networking has not container security report [4] found that 60% of organiza- 39
4 been well scrutinized from a security perspective, even though
5 inter-container networking is indispensable for microservices. tions already had experiences of security incidents in 2018, 40
6 Thus, this paper first analyzes container networks from a assessing that these incidents arose primarily due to the 41
7 security perspective, discussing the implications based on their pressures to achieve deployment speed over the risks from 42
8 architectural limitations. Then, it presents Bastion+ , a secure deploying insecure containers. Also, container hijacking for 43
9 inter-container communication bridge. Bastion+ introduces (i) cryptocurrency mining [5] has emerged as one of the recent 44
10 a network security enforcement stack that provides fine-grained
11 control per container application and securely isolates inter- plagues in which computing resources, rather than user data, 45
12 container traffic in a point-to-point manner. Bastion+ also sup- are being harvested en masse across the Internet. In recognition 46
13 ports (ii) selective security function chaining, enabling various of such risks, several efforts [6], [7], [8] have arisen to help 47
14 security functions to be chained between containers for further identify and warn of possible vulnerabilities in containers. 48
15 security inspections (e.g., deep packet inspection) according to In addition, the shared kernel-resource model used by 49
16 the container’s network context. Bastion+ incorporates (iii) a
17 security policy assistant that helps an administrator discover containers also introduces critical security concerns regarding 50
18 inter-container networking dependencies correctly. Our evalu- the ability of the host OS to maintain isolation once a single 51
19 ation demonstrates how Bastion+ can effectively mitigate several container is infected. Indeed, many researchers (and industry) 52
20 adversarial attacks in container networks while improving the have proposed strategies to address the issue of container 53
21 overall performance up to 25.4% within single-host containers isolation. For example, AppArmor [9], Seccomp [10], and 54
22 and 17.7% for cross-host container communications.
SELinux [11] can provide much stronger isolation of contain- 55
23 Index Terms— Container security, network sandboxing, policy ers by preventing various system resource abuses. 56
24 enforcement, security function chaining, XDP/eBPF. However, while a variety of approaches to secure container- 57
27
28
A MONG the leading trends in virtualization is
containerized application deployment at industrial
scales across private and public cloud infrastructures.
network. Specifically, there has been significant adoption of
containers as microservices [12], in which containers are used
60
61
Manuscript received 16 October 2021; revised 22 March 2022 Host-OS-based networking features to manage the communi- 71
and 23 August 2022; accepted 10 September 2022; approved by IEEE/ACM cations of container ecosystems as they are deployed today. 72
T RANSACTIONS ON N ETWORKING Editor Y. Liu. This work was supported Informed by these existing limitations, we then introduce 73
by the National Research Foundation of Korea (NRF) Grant through the Korea
Government, Ministry of Science, ICT (Information and Communication Bastion+ , a new inter-container communication bridge. First, 74
Technology) and Future Planning (MSIP), under Grant 2022R1C1C1006093. Bastion+ instantiates a security network stack per container, 75
(Corresponding author: Seungwon Shin.) offering isolation, performance efficiency, and a fine-grained 76
Jaehyun Nam is with the Department of Computer Engineering,
Dankook University, Yongin 16890, South Korea (e-mail: jaehyun. network security policy enforcement that implements each 77
Phillip Porras and Vinod Yegneswaran are with the SRI International, Second, Bastion+ supports a security function chaining mech- 81
Menlo Park, CA 94025 USA (e-mail: porras@csl.sri.com; vinod@csl.sri.com). anism that allows an administrator to deploy various security 82
Seungwon Shin is with the School of Electrical Engineering, KAIST,
Daejeon 34141, South Korea (e-mail: claude@kaist.ac.kr). functions on-demand and forces inter-container network traffic 83
Digital Object Identifier 10.1109/TNET.2022.3206781 to selectively pass through the security functions according to 84
1558-2566 © 2022 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.
See https://www.ieee.org/publications/rights/index.html for more information.
Authorized licensed use limited to: GUANGZHOU UNIVERSITY. Downloaded on April 12,2023 at 02:32:40 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
103 • The security assistant for the policy enforcement between container and application configurations. 142
104 the containers, which helps administrators recognize (3) Run-time Threat Detection. Several commercial 143
105 inter-container networking dependencies. products [19], [20], [21] have introduced container security 144
106 II. BACKGROUND AND M OTIVATION runtime policy violations, and conduct anomaly detection. 146
107 Here, we introduce the state of container security. We then This paper aims to complement the above services’ protec- 147
108 provide the background of container networks and identify tions by addressing a fourth significant aspect of container 148
109 how the underlying architectural limitations of current con- security enforcement: network security enforcement during 149
110 tainer networks impact container environments. inter-container communications. The primary service used to 150
111 A. Today’s Container Security Solutions through ACL-based IP rules. We will discuss the limitations 152
116 ious security solutions have been explored, broadly focusing We provide a brief overview of how current container net- 156
117 on three aspects of the container ecosystem. works are structured using two of the most prevalent container 157
118 (1) Container Image Integrity. A container image is a systems used today: Docker [22] and Kubernetes [23]. 158
119 self-contained package of software that includes everything Docker Platform: Docker [22] is a platform for distrib- 159
120 needed to run an application (e.g., code, libraries, and con- uting and running containers. In Docker, bridge networks are 160
121 figurations). Image management, tamper resistance, and con- used as default container networks. Independent Docker con- 161
122 figuration validation are foundational services upon which all tainers are, by default, connected to a bridge called Docker0. 162
123 other subsequent security features must rely. Here, two forms However, when multiple containers are created using docker- 163
124 of image protection services have been released. One form is compose [24], a new bridge (network) is automatically created 164
125 that of solutions like Docker Content Trust (DCT) [13], which and assigned to manage the traffic for those containers. As an 165
126 verifies container images at image repositories (e.g., Docker example, Figure 1 illustrates the architecture of two microser- 166
127 Hub [14]) with the digital signatures of image owners. The vices. The microservice chains that compose a network service 167
128 second form is represented by security scanning solutions [6], are shown in the upper panel, while the logical networking 168
129 [7], [8], which inspect known vulnerabilities in container of the microservice containers, which are networked under 169
130 images using CVE databases. separate bridges, is depicted in the lower panel. To provide 170
131 (2) Container Isolation. Once a container is deployed, network flow control, Docker applies network and security 171
132 three Host OS security mechanisms are used to implement policies into bridge networks using iptables [25]. 172
133 application isolation and enforce least privilege access on the Kubernetes Orchestration System: Kubernetes [23] is 173
134 container application: namespace, cgroups, and capabilities. an open-source container orchestration system that manages a 174
135 Since multiple containers share the same host kernel, AppAr- large number of containers across multiple nodes and enables 175
136 mor [9], Seccomp [10], and SELinux [11] are used for further them to work together logically. Thus, while containers in 176
137 restrictions on system resources (e.g., kernel calls). Also, Docker bridge networks operate within the same host (node), 177
138 there are several solutions (e.g., Lic-Sec [15] for AppArmor, containers in Kubernetes are located across multiple nodes. 178
139 Udica [16] for SELinux, Speaker [17], and Confine [18] for Kubernetes uses various overlay networks (e.g., Flan- 179
140 Seccomp) to automatically generate the security profiles of nel [26], Weave [27], Calico [28]) to provide inter-container 180
Authorized licensed use limited to: GUANGZHOU UNIVERSITY. Downloaded on April 12,2023 at 02:32:40 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
are then required whenever containers are spun up and down. 231
either case since these policies must be updated when con- 233
Fig. 2. Five critical challenges in container networks: (1) Limitation of tainers are re-created. Even though operators enforce various 234
packet-based source verification, (2) Limitations of IP-based access controls, security policies with high-level labels for containers instead 235
(3) Lack of application-level security inspections, (4) Unrestricted host
accesses, and (5) No restriction on network-privileged containers. of specific IP addresses, such labels are eventually converted to 236
181 connectivity across multiple nodes. For example, in the Weave container networks are still vulnerable to layer-2 attacks due 238
182 overlay network, each node has a special bridge interface, to the limited scope of the IP-based access control mechanism. 239
183 named weave, to connect local containers, and the weave (3) Lack of application-level security inspections: 240
184 bridges in all nodes are logically linked as a single net- Although the IP-based access control can restrict malicious 241
185 work. While Kubernetes uses Docker Containers, it does network connectivity among containers, it cannot control mali- 242
186 not utilize Docker networking features to manage network cious contents among benign containers, which raises signif- 243
187 flow control. Rather, it separately applies network policies icant concerns as a malicious container can conduct lateral 244
188 using iptables. Calico [28] similarly applies network and attacks against dependent containers without any restriction. 245
189 security policies using iptables. If operators want further In addition, unlike legacy networks where we can deploy 246
190 security enforcement, they may use Cilium [29], a security various middleboxes or virtualized network functions (VNFs) 247
191 extension that conducts API-aware access control (e.g., HTTP between networked entities (e.g., switches and hosts), contain- 248
192 method) by redirecting network traffic to its security container. ers communicate in multiple networks logically created using 249
193 Network-privileged Containers: Besides the typical use OS-level networking features within the same host. Thus, 250
194 of containers, there are special cases in which an operator applying security functions (e.g., deep packet inspections) per 251
195 wants to expose containerized services directly using the logical network inside a host is difficult. 252
196 host IP address (e.g., HAProxy [30], OpenVPN [31], and (4) Unrestricted host access: Each container network has 253
197 MemSQL [32]). In such cases, by sharing the host namespace a gateway interface for external accesses connected to the host 254
198 with a container, the container is provided access to the host network, as shown in Figure 2. Unfortunately, an inherent 255
199 network interfaces and directly exposes its services. In this security concern arises as a container can thus access a service 256
200 work, we refer to such cases as network-privileged containers. launched at the host-side through the gateway IP address. 257
202 While current container platforms utilize OS-level net- a malicious container can exploit the service in a manner that 260
203 working features provided by the Linux kernel to support can subvert/harm the host’s availability. 261
204 inter-container connectivity and IP-based access control (e.g., (5) No restriction on network-privileged containers: 262
205 iptables) to enforce container network security policies, While a network-privileged container can gain a performance 263
206 there are significant limitations in their ability to constrain advantage as its traffic does not pass through additional 264
207 the communication privileges of today’s container topologies. network stacks (e.g., container networks), such a container 265
208 The following are five concerns that arise from these current also raises significant concerns for operational isolation. 266
209 OS-level architectural limitations. Since network-privileged containers share the same network 267
210 (1) Limitation of packet-based source verification: namespace with the host, they can access not only the host 268
211 Figure 2 shows that each container has its virtual interface, network interfaces but can also monitor all network traffic 269
212 but this interface is only visible in the container’s network from deployed containers in the host (through the virtual inter- 270
213 namespace. Thus, container platforms effectively create a twin faces for the containers) and are unrestrained in their ability to 271
214 virtual interface corresponding to it on a host. This virtual inject malicious packets into container networks. Furthermore, 272
215 interface is connected to the bridge, enabling connectivity current security solutions do not consider security policies for 273
216 with others. such containers; hence, operators must design and specify a 274
217 However, one security-relevant problem of this design is that security policy configuration for the containers by themselves. 275
220 into the host networking namespace. Hence, all decisions This section explores the attack surfaces in container net- 277
221 for further security inspection and packet forwarding would works and introduces an example scenario that illustrates the 278
222 be solely made based on the information in packet headers. viability of the network threats abusing the attack surfaces. 279
Authorized licensed use limited to: GUANGZHOU UNIVERSITY. Downloaded on April 12,2023 at 02:32:40 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
280 A. Assumptions and Threat Model a bridge interface to integrate different network namespaces, 336
281 Assumptions: Consider the case of containers connected and an attacker can abuse this bridge to access the host. 337
282 to operate as microservices using Docker or Kubernetes net- In the traffic visibility attacks, first, the ARP poisoning 338
283 work configurations. Let us assume that an attacker possesses attack can overwrite ARP caches in the containers. By sending 339
284 enough skill (e.g., gaining a remote shell to execute arbitrary fake ARP responses, the attacker can redirect network traffic 340
285 commands inside a container [34], [35]) to perform a remote between a target container and the gateway of the target net- 341
286 hijacking of an Internet-accessible container application oper- work (or another target container) to their containers. Second, 342
287 ating as part of a microservice using published container the attacker can capture the network traffic between a container 343
288 vulnerabilities [36], [37], [38]. Note that there is no particular and the gateway (or another container) through packet sniffing 344
289 difference between typical and containerized applications. The and extract sensitive information (e.g., user credentials, tokens, 345
290 only difference is that containerized applications are the typical and even confidential files). Third, the attacker can inject 346
291 applications packaged by containerization techniques, meaning malicious packets into a target container (IP spoofing attack). 347
292 that any vulnerabilities in typical applications are also in the The two remaining cases involve TCP session manipulation. 348
293 corresponding containers. With this fact, we consider what an In the fourth attack, one can disrupt existing sessions by 349
294 attacker may do after getting into the subverted container. injecting fake packets with proper SEQ and ACK numbers 350
295 Threat Model: The scope of threat models considered in because one can observe the SEQ and ACK numbers of the 351
296 this work focuses on network-based lateral attacks launched sessions through sniffing TCP packets. Even when an attacker 352
297 from a compromised container rather than system-based does not know the SEQ and ACK numbers, such an attack 353
298 attacks that may occur within a container. Unlike network- remains possible using a predictive attack [42]. An attacker 354
299 based attacks, system-based attacks have been actively can terminate existing sessions by injecting a TCP packet with 355
300 explored in other work, such as abusing privileged and unpriv- the RST flag (TCP reset attack). Fifth, attackers can create 356
301 ileged containers [39] and modifying Linux capabilities within fake sessions with other containers or external entities (fake 357
302 a container [40], and defense techniques based on status session attack). An attacker can observe network traffic toward 358
303 inspection of namespaces [41]. Thus, we believe that an oper- a target container and then reverse the injected packet target to 359
304 ator would properly deploy containers with system-wide secu- the external connection point rather than the victim container. 360
308 promised container is employed “as is” as the launching network interface plugins. Table I presents the feasibility of 363
309 point for these lateral attacks, where no privilege escalation network threats discussed in Section II-C. 364
310 is required within the container to conduct further exploita- Docker, Flannel, WeaveNet: Docker [22], Flannel [26], 365
311 tion. Also, an attacker can acquire a base understanding WeaveNet [27] operate on bridge-based L2 forwarding, which 366
312 of the compromised container’s network configuration by is tightly coupled with the networking features and the 367
313 investigating several system files (e.g., /proc/net/arp, IP-based access control provided by the host OS. Hence, they 368
314 /proc/net/route) and environment variables and may have the same security challenges discussed in Section II-C 369
315 download malicious binaries to the /tmp directory in a and are vulnerable to all network threats in Table I. 370
316 container, as this directory has global read or write permissions Calico: Calico [28] employs IP-in-IP-based L3 routing 371
317 for all processes. and uses a single MAC address (EE:EE:EE:EE:EE:EE) for 372
319 Attacks against container networks can be categorized into Calico mainly focuses on packet routing and IP-based access 376
320 two main classes: (i) attacks that reveal topology information control while paying less attention to security mechanisms 377
321 of the container networks (topology visibility attacks) and (ii) that protect against L3/4 spoofing attacks. In addition, while 378
322 attacks that perform illicit monitoring or modifying of network the host-service abuse is infeasible because Calico uses a 379
323 traffic within container networks (traffic visibility attacks). virtual gateway IP address (169.254.1.1) for all containers, 380
324 In the topology visibility attacks, network probing and host it does not provide security mechanisms that guard against the 381
325 exploit attacks are possible in current container networks. host network namespace abuse. 382
326 Network probing attacks are performed by probing containers Open vSwitch: Open vSwitch (OVS) [33] provides more 383
327 using TCP/IP packets (e.g., TCP-flag-based scans) or via ARP flexible networking features than the host OS; thus, it might 384
328 requests. Although an operator can adopt IP-based access be viewed as an alternate solution for bolstering container net- 385
329 controls to avoid scanning, an attacker may still employ an work security. OVS can derive which virtual port a container is 386
330 ARP scan method (bypassing iptables-like protections). The connected to, which could be used to prevent spoofing attacks. 387
331 host exploit attack accesses the host upon which the compro- However, one critical concern is that OVS does not support a 388
332 mised container runs. Accessible host services are scanned for, NOT operation. It means that we need to install all possi- 389
333 which may later be exploited to compromise the host further. ble flow rules from each container to other containers, which 390
334 Container systems employ different network namespaces to at least contain (the virtual port and the MAC/IP addresses 391
335 isolate different networks. However, container systems also use of a source container, the IP address and the service port of 392
Authorized licensed use limited to: GUANGZHOU UNIVERSITY. Downloaded on April 12,2023 at 02:32:40 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
TABLE I
P OTENTIAL OF N ETWORK T HREATS A CROSS C ONTAINER N ETWORK I NTERFACE P LUGINS . F EASIBLE (●): N ETWORK ATTACK C AN B E S UCCESSFULLY
E XECUTED OVER THE C ONTAINER N ETWORK I NTERFACE P LUGIN . P ROBABLE (▲): N ETWORK ATTACK R EMAINS P OSSIBLE , BUT M AY B E
B LOCKED W ITH A PPROPRIATE N ETWORK S ECURITY P OLICIES . I NFEASIBLE (✕): N ETWORK ATTACK I S A LWAYS B LOCKED
instead of the original ones (Figure 4-(d)). In the end, the user 450
422 D. Attack Scenario Example receives the forged contents as the attacker intended. 451
425 ronment. One is a service for legitimate users, and the other This section introduces a new inter-container communi- 453
426 is a service for guest users. These services use the official cation bridge, Bastion+ , and discusses how its components 454
427 Nginx [45] and Redis [46] container images retrieved from address the limitations discussed in Section II-C. 455
Authorized licensed use limited to: GUANGZHOU UNIVERSITY. Downloaded on April 12,2023 at 02:32:40 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
Fig. 5. Bastio+ Architecture Overview. Orange box: Bastio+ network security enforcement stack for containers. Red box: manager that maintains the global
view of container networks and security policy assistant that discovers network policy misconfigurations. Green box: selective security function chaining that
enables application-level security inspections against inter-container network flows. Blue box: Bastio+ network stack for inter-host communications.
456 A. Architectural Overview (1) Container Network Information Collection. The 495
457
+
As illustrated in Figure 5, Bastion is composed of three manager has a global container network map and an 496
458 parts: a manager, which maintains the global network view inter-container dependency map for all containers. It directly 497
459 of all containers with their inter-container dependencies, per- communicates with container platforms to retrieve the net- 498
460 container network stacks where all Bastion+ security enforce- work information (virtual network interface, IP and MAC 499
461 ment occurs before a container’s packets are delivered into the addresses) for all containers and to build the inter-container 500
462 container network and chained security functions, which are dependency map by extracting the dependencies (source → 501
463 deployed to enable further security inspections (e.g., content- protocol://destination:{port | any}) among containers based 502
464 based access controls) against inter-container network traffic. on the retrieved information and their ingress/egress security 503
465 When packets arrive at the Bastion+ network stack, it proac- policies. In addition, as containers can be dynamically spun 504
466 tively filters any discovery processes of irrelevant containers up and down, the manager watches any changes in container 505
467 by dealing with ARP requests based on the container net- platforms (event-driven) and updates the maps in run-time. 506
468 work map. It restricts the communications between containers (2) Network Stack Management. The manager maintains 507
469 according to security policies specified in the inter-container the Bastion+ secure network stack for each container. For 508
470 dependency map. In addition, it restricts unauthorized access newly spawned containers, it installs the network stacks at 509
471 to special IP addresses (e.g., gateway IP addresses). Also, their network interfaces and updates the container network and 510
472 it conducts secure packet-forwarding between containers by inter-container dependency maps in the network stacks. Each 511
473 directly passing packets from source containers to destination container only requires a part of the network information to 512
474 containers while verifying if the packets are forged. If pack- communicate with dependent neighbors with respect to map 513
475 ets need to pass through security functions (e.g., network size. Thus, to reduce the size of security services, The manager 514
476 intrusion detection/prevention systems and web application filters irrelevant information per container. Then, whenever 515
477 firewalls), Bastion+ forwards them into the corresponding there are changes in inter-container dependencies, it automat- 516
478 security functions. Then, once the security functions do deep ically updates the maps for the corresponding containers. 517
479 packet inspections, the packets are delivered to the destination (3) Security Function Management. The manager deploys 518
480 containers. Since all direct packet forwarding occurs at the various security functions (e.g., intrusion detection and preven- 519
481 network interface level, packets are not passed through the tion systems and web firewalls) per host and attaches Bastion+ 520
482 container network (host-side), eliminating any chance for network stacks for those security functions. Then, according 521
483 unauthorized network traffic exposure. to function chaining policies (i.e., the order of functions 522
484 In terms of inter-container communications across hosts according to the network context (e.g., protocol and destination 523
485 (nodes), a specialized Bastion+ network stack is utilized at the port)), the manager updates the container network map in the 524
486 external interface of each node, conducting a secure forward- Bastion+ network stacks of containers and security functions 525
487 ing from the external interface to destination containers as all to keep passing inter-container network traffic through the 526
488 security decisions are already made at each container. Bastion+ security functions. We will explain the details in Section IV-D. 527
492 The Bastion+ manager performs three primary roles: con- sary connectivity among containers and between containers 532
493 tainer network information collection, network stack manage- and external hosts. For traffic visibility, it provides point-to- 533
494 ment, and security function management. point integrity and confidentiality among container network 534
Authorized licensed use limited to: GUANGZHOU UNIVERSITY. Downloaded on April 12,2023 at 02:32:40 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
on this fact, the gateway-IP handler blocks any direct host 577
they are connected to the host network. Hence, the gateway-IP 581
database. maintains a service map in each Bastion+ network stack. Then, 591
535 flows. Here, we present each component that addresses those port, the service-IP handler overwrites the service IP address 593
536 points. and port to an actual container IP address and port according 594
537 1) Container Discovery: For inter-container networking, to the service map. As a result, the other security components 595
538 container discovery is the first step to identify other containers can process packets as intended. 596
539 (communication targets). Containers use ARP requests to 4) Source Verification: One problem within the current 597
540 identify target containers’ necessary network information (i.e., network stack is that all security enforcement and packet for- 598
541 MAC addresses). Unfortunately, this discovery process can warding rely on packet-header information. Thus, a malicious 599
542 be exploited to scan all containers connected to the same container can submit packets that match the identity of target 600
543 network by malicious containers, as current network stacks containers. Doing so can redirect traffic of a target container to 601
544 do not prevent ARP scans. Indeed, they offer no mechanism itself (e.g., ARP spoofing attack). Also, the malicious container 602
545 to control non-IP-based communications. can modify the traffic passing through it (e.g., Man-In-the- 603
546 Bastion+ filters out any unnecessary container discovery that Middle attack) or inject forged packets to disrupt another 604
547 does not pertain to the present container’s dependency map. container’s existing sessions (e.g., TCP RST attack). 605
548 When a container sends an ARP request, the handler intercepts Considering those cases, Bastion+ leverages the predefined 606
549 the request before it is broadcasted, verifying if the source network information in each network stack and a network 607
550 container has a dependency on the destination container. This session map to precisely track the actual source of inter- 608
551 analysis is done using the inter-container dependency map. container traffic. The Bastion+ network stack of each con- 609
552 If accessible, the handler generates an ARP reply with the tainer statically contains the corresponding container’s network 610
553 MAC address of the destination container and sends the reply information (i.e., IP/MAC addresses), and Bastion+ verifies the 611
554 back to the source container. If not, it drops the request. incoming traffic by comparing its packet header information to 612
555 2) Container-Aware Network Isolation: Even though the container’s information embedded in the Bastion+ network 613
556 container discovery prevents containers from performing stack. If the packet header information is not matched with 614
557 unbounded topology discovery, its coverage is limited to the container’s network information, Bastion+ identifies the 615
558 container-level isolation. It does not address malicious incoming traffic as spoofed and drops it. Furthermore, since 616
559 accesses among dependent containers. Hence, Bastion+ imple- network-privileged containers can inject spoofed packets into 617
560 ments container-aware network isolation to restrict the reach- other containers, Bastion+ maintains the session information 618
561 ability of containers further. of the incoming traffic in the network session map, which 619
562 When packets arrive at the Bastion+ network stack of is globally maintained across Bastion+ network stacks. Thus, 620
563 a source container, as shown in Figure 6, Bastion+ first if some packets arrive at the Bastion+ network stack and 621
564 checks the dependency between the source and its destination their session information is not in the global network session 622
565 by examining the inter-container dependency map using the map, Bastion+ considers them spoofed packets and drops them 623
566 destination IP address as a key. If any policies exist in the immediately. As a result, Bastion+ can effectively eliminate the 624
567 map, it concludes that the source has a dependency on the spectrum of disruption and spoofing threats. 625
568 destination. Then, Bastion+ matches the packets to the policies 5) End-to-End Direct Forwarding: Current network stacks 626
569 for the destination container, and the connection is allowed if cannot prevent the exposure of inter-container traffic from 627
570 matched. Otherwise, the packets are dropped. other containers. If a malicious container can redirect the 628
571 3) Gateway and Service-IP Handing: In container environ- traffic of a target container to itself, it can monitor the traffic 629
572 ments, a subverted container can exploit the gateway to probe without restriction. In the case of network-privileged contain- 630
573 services within the host OS. To address this concern, Bastion+ ers, they have the full visibility of all container networks: they 631
574 filters direct host accesses. When a network connection targets can monitor the traffic of others without any traffic redirection. 632
575 non-local container addresses, it includes the gateway MAC To implement least-privilege traffic exposure, as shown in 633
576 address and the IP address of the actual destination. Based Figure 7, Bastion+ performs direct packet delivery between 634
Authorized licensed use limited to: GUANGZHOU UNIVERSITY. Downloaded on April 12,2023 at 02:32:40 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
654 As discussed in Section II-C, current security solutions for Container A sends a packet to Container B, Bastion+ directly 698
655 container networks have limitations in security inspections at forwards the packet to Container B. However, the packet flows 699
656 the level of applications. Here, we introduce security function differently when chaining policies are applied. 700
657 chaining for further application-level inspections. Let us assume that an administrator applies two chaining 701
658 1) Challenges in Security Function Chaining: While policies to Container A: (i) make the TCP/80 sessions toward 702
659 network service chaining has been widely used in Container B pass the IDS and the Web Firewall and (ii) make 703
660 software-defined networking (SDN) and network function the TCP/3306 sessions toward Container B pass the IDS. Then, 704
661 virtualization (NFV) because of the flexibility of network Bastion+ updates the interface information for Container B in 705
662 flow controls, it has not been well adopted into container the container network and dependency maps of Container A 706
663 networks due to their architectural limitations. Multiple and the security functions according to those chaining policies. 707
664 microservices are deployed inside hosts, and they have their First, Bastion+ updates the destination interface for both 708
665 logical networks with different IP address spaces. Hence, it is TCP/80 and TCP/3306 toward Container B to the inbound 709
666 difficult to either deploy security services per microservice interface of the IDS in the maps of Container A. Second, in the 710
667 due to the resource limits of hosts or deploy shared security outbound-side network stack for the IDS, Bastion+ updates 711
668 service instance per host due to the unreachability among the the interface for the TCP/80 to the inbound interface of the 712
669 different microservices. Web Firewall while it updates the interface for the TCP/3306 713
670 To address those challenges, Bastion+ introduces a way to to that of Container B. Lastly, in the outbound-side network 714
671 deploy common security functions per host, while providing stack for the Web Firewall, Bastion+ updates the interface of 715
672 resource efficiency. Then, to address the network unreacha- the TCP/3306 to that of Container B. As a result, packets can 716
673 bility issue, Bastion+ directly leverages the kernel features pass through either the IDS and the Web Firewall or the IDS 717
674 rather than implementing these services as extension to the only according to the protocol and port information. 718
675 network processing pipeline. By utilizing the end-to-end direct In the case of the opposite direction (from Container B to 719
676 forwarding, Bastion+ forces network flows through security Container A), most of the map updates are similar. The only 720
677 functions at the kernel side, bypassing the reachability issue. difference is the direction. First, Bastion+ updates the interface 721
678 2) Security Function Deployment: Bastion+ provides two for the TCP/80 from Container B to the outbound interface of 722
679 templates for inline and passive security functions, as shown in the Web Firewall for the session management in the network 723
680 Figure 8. Each function has two network interfaces for inbound stack of Container B while it updates the interface for the 724
Authorized licensed use limited to: GUANGZHOU UNIVERSITY. Downloaded on April 12,2023 at 02:32:40 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
security policies. For example, the network policies for large 760
operators may overlook policies that are broader than required. 762
In such cases, the security policy assistant can offer an iterative 763
IDS and the web firewall while the TCP/3306 session passes through the IDS
only. V. I MPLEMENTATION 767
+
We implement a prototype of Bastion with 2.1K lines of C 768
725 TCP/3306 from Container B to the inbound interface of the
code and 12.5K lines of Go code on the Linux kernel v4.16. 769
726 IDS as the IDS is a passive function. Then, in the inbound-
Bastion+ Manager: For container network information
side network stack of the Web Firewall, Bastion+ updates the
770
727
collection, the manager watches the attribute changes (e.g., 771
728 interface for the TCP/80 from Container B to the inbound
NetworkSettings) of active containers from the Docker engine 772
729 interface of the IDS. Lastly, in the outbound-side network
and the Kubernetes API server. In addition, Bastion+ uses 773
730 stack of the IDS, it updates the interface for TCP/80 and
the label-based configurations for container deployments and 774
731 TCP/3306 to that of Container A.
ingress/egress network security policies in Kubernetes to gen- 775
732 E. Security Policy Assistant Network Security Enforcement Stack: Each container’s 777
733
+
While Bastion restricts the ability of attackers through its security enforcement network stack is implemented using 778
734 security components, no container network can be made secure eBPF [47] and XDP [48], [49]. During the inspection, the 779
735 without proper security policies that restrict communications network stack looks up two hash maps (i.e., the container 780
736 to the minimum required access. network and inter-container dependency maps), which are 781
737 Bastion+ provides a security policy assistant that can synchronized with the Bastion+ manager. Then, they employ 782
738 help identify the security policies that a container operator XDP actions to send a packet back to the incoming container, 783
739 should consider, as illustrated in Figure 10. Bastion+ pro- inject a packet into a destination, and drop a packet. 784
740 duces flow monitoring statistics that automatically capture the Security Function Chaining: Bastion+ deploys security 785
741 observed container accesses during the inter-container traffic applications (for evaluation, we deployed Snort IDS [50] and 786
742 flow control. In parallel, it compares these statistics with the Suricata IDS/IPS [51]) by using its templates and as daemon 787
743 inter-container dependency map, classifying them into three containers for each host according to the types of the applica- 788
744 cases: legitimate accesses, missing policies, and excessive tions (i.e., inline vs. passive). For passive functions, Bastion+ 789
745 policies. If the two containers are in both the inter-container internally configures the traffic controls (using “tc qdisc” 790
746 dependency map and there are connections between them, and “tc filter”) to mirror incoming traffic to the outbound 791
748 the operator may consider either a missing security policy or Security Policy Assistant: To monitor the network flows 793
749 an excess policy, which differs from the actual flow statistics. between containers, Each security stack maintains an eBPF 794
750 The security policy assistant effectively directs the operator map shared with the security policy assistant and increments 795
751 to review specific flows to determine whether to produce the counters for network flows after removing the random- 796
752 missing network security policies in the current operating ness (e.g., a source port) of the network flows. Whenever 797
753 configuration. In addition, it identifies policies for which no a container is terminated, the corresponding eBPF map is 798
754 flows have been encountered. Such cases may represent an removed. 799
757 While the security policy assistant does not directly correct This section demonstrates how Bastion+ mitigates network 801
758 security policies, its feedback can be used as vital insights to attacks based on the attack scenario, shown in Section III-D, 802
759 help the operator confirm (or improve) the current network that abuses the security holes in the current container network. 803
Authorized licensed use limited to: GUANGZHOU UNIVERSITY. Downloaded on April 12,2023 at 02:32:40 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
Fig. 11. An illustration of neighbor container discovery: upper panel - an Fig. 12. Restricting traffic visibility: upper panel - an attacker can see the
attacker can discover all peer containers, lower panel - our container discovery traffic of the spoofed target container without end-to-end forwarding, lower
and container-aware flow control only allow the inter-dependent containers to panel - the attacker cannot see response traffic with end-to-end forwarding.
be shown.
source verification. To illustrate its impact, we demonstrate 845
804 A. Container Discovery before and after cases from the attacker and victim perspec- 846
805 When a compromised container is used to conduct peer tives. In the following example, we enable source verification 847
806 discovery to locate other containers, as shown in Figure 11-(a), only and allow an attacker to conduct ARP spoofing attacks. 848
807 the current container network stack allows an attacker to Figure 13-(A) illustrates cases without source verification. 849
808 discover all neighboring containers. On the other hand, The attacker spoofs the Nginx-User (in Figure 3) and receives 850
809 as shown in Figure 11-(b), Bastion+ ’s container discovery and the traffic of the Nginx-User. Further, the attacker injects RST 851
810 container-aware network isolation reduce the reachability of packets to terminate the session of the Nginx-User. As soon 852
811 each container based on its inter-container dependencies. The as the attacker injects the RST packets, as shown in panel 853
812 infected container (i.e., Nginx-Guest in Figure 3) has only a (A-2), the Nginx-User receives the injected RST packets (see 854
813 limited number of dependent containers (i.e., Redis-Guest in the received times of the RST packets), causing its session 855
814 Figure 3), and Bastion+ ensures that the container observes to be immediately terminated. This situation is remedied with 856
815 only its gateway and the dependents. In sum, our container explicit source verification. Although the attacker tries to inject 857
816 discovery can protect containers from L2 attacks by limiting RST packets, as shown in panel (B-2), the RST packets are 858
817 the topology visibility and controlling all L2 packets (i.e., rejected by the source verification component and prevented 859
818 no broadcast to containers and no response from containers). from reaching the Nginx-User. In sum, the source verification 860
819 B. Passive Packet Monitoring and TCP session hijacking attacks) even though these attacks 862
820 As discussed previously, a compromised container may are initiated from host-privileged containers. 863
823 container, the attacker is provided access to all network traffic This section summarizes our measurement results of 865
824 with no restriction. Bastion+ mitigates these concerns by Bastion+ ’s performance overhead with respect to latencies and 866
825 implementing end-to-end direct container traffic forwarding. throughputs between containers under various conditions. 867
826 Figure 12 illustrates the utility of Bastion+ ’s direct forward- Test Environment: We used three machines to construct 868
827 ing. The upper panel, Figure 12-(a), shows the visible network a Kubernetes cluster with the WeaveNet overlay network and 869
828 traffic of a target container (i.e., Nginx-User in Figure 3) evaluate the Bastion+ prototype. One system served as the 870
829 after spoofing the container without direct forwarding. The Kubernetes master node, while the others acted as container- 871
830 lower panel, Figure 12-(b), demonstrates the use of direct hosting nodes. Each system was configured with an Intel Xeon 872
831 forwarding. When direct forwarding is applied, the only visible E5-2630v4 CPU, 64 GB of RAM, and an Intel 10 Gbps 873
832 traffic from a given interface is traffic involving the container NIC. netperf [52] and iperf [53] were used to measure 874
833 itself. To highlight the differences, we intentionally make the round-trip latencies and TCP stream throughputs. 875
836 no longer observe the traffic in the reverse direction. If we We compared the matching overheads with both 877
837 entirely apply end-to-end forwarding for all traffic, the attacker iptables-based access control and Bastion+ , and Figure 14 878
838 will see no traffic between them. In sum, Bastion+ does not shows the TCP throughputs with different numbers of security 879
839 allow containers and even host-privileged containers that abuse policies. For a fair comparison on a best-effort basis, we used 880
840 the host network namespace to eavesdrop third-party traffic. the same number of policies for each container. 881
842 Network-based attacks frequently rely on spoofed packet packets arrive from containers, iptables first looks up the 884
843 injection techniques to send malicious packets to target con- policies for the corresponding containers and inspects them 885
844 tainers. Bastion+ prevents these attacks by performing explicit individually with the incoming packets. Also, iptables 886
Authorized licensed use limited to: GUANGZHOU UNIVERSITY. Downloaded on April 12,2023 at 02:32:40 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
Fig. 13. Restriction of packet injection. Panel A-1 shows the attacker
injecting RST packets, and A-2 shows the victim session terminated by
attacker’s RST packet. Panel B-1 shows the trials of RST packet injections,
and B-2 shows the failure of RST packet injection due to source verification.
packets and 120.3µs for UDP packets) as all network traffic 917
Fig. 14. Throughput variations with the increasing number of security level). In addition, all overheads for parsing packets and 920
policies. inspecting payloads increased the latencies. Note that the per- 921
887 requires a large number of field matches (at least source and this work. Then, when we chained both functions, the overall 923
888 destination IP addresses and ports for each policy) since it is latencies increased up to 9.5 times compared to the baseline 924
889 designed for general access control. As a result, as shown in (no chain). However, despite significant overheads with the 925
890 Figure 14, the throughput degraded by 23.3% with 100 policies security functions, Bastion+ provides selective security func- 926
891 and 64.0% with 500 policies. This trend points to a funda- tion chaining; thus, the overheads can be highly reduced by 927
892 mental scaling challenge with the current policy enforcement inspecting specific packets only while for non-critical packets 928
893 approach for container networks. In contrast, the throughput bypassing the function chains. 929
898 lookup for specific destinations and their port matches (no tainers hosted in the same node to measure the overhead of 932
899 need to match source IP addresses and ports). Bastion+ . Figure 16 provides the round-trip latency compari- 933
son of four test cases within a single node. The base case pro- 934
901 We measured the overheads coming from function chaining. and 18.2µs for TCP and UDP packets, respectively. When 937
902 For this, we deployed two open-source intrusion detection and we applied Bastion+’s policy matching components (i.e., con- 938
903 prevention systems (i.e., SnortIDS [50] and SuricataIPS [51]). tainer discovery and container-aware network isolation), the 939
904 We used the official rules in Snort 2.9 (4K rules) for Snort latencies slightly increased by 5.7% and 9.3% due to the 940
905 IDS and the ET Open rules [54] (4K rules) for Suricata IPS. newly applied security enforcement requiring additional packet 941
906 Figure 15 shows the inter-container latencies with different processing to derive the reachability check between containers. 942
907 combinations of security functions. With no chaining, the When we applied Bastion+ ’s end-to-end direct forwarding, 943
908 latencies of inter-container communications within a host were the overall latencies were noticeably improved by 26.3% 944
909 17.5µs and 14.5µs for TCP and UDP packets, respectively. because it directly fed inter-container traffic into destination 945
910 When we added the Snort IDS between the containers, the containers while bypassing the existing container networks. 946
911 overall latencies slightly increased (+10µs on average) as the Finally, we observed the overall performance improvement 947
912 network traffic needed to pass through the SnortIDS container. with respect to the base case of 23.0% and 25.4% for TCP 948
913 However, no additional overhead for deep packet inspections and UDP packets when all Bastion+ security functions were 949
914 was included except for the overhead of packet mirroring by fully applied. Figure 17 also shows that the overall throughput 950
915 traffic controls (kernel-level). When we added the Suricata of Bastion+ was improved by 20.6% compared to that of the 951
916 IPS, the overall latencies highly increased (130.2µs for TCP base case. 952
Authorized licensed use limited to: GUANGZHOU UNIVERSITY. Downloaded on April 12,2023 at 02:32:40 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
time. However, while measuring the CPU usage during the 990
are done in the kernel space and Bastion+ (user-space) only 994
Fig. 18. Latency measurements with Bastio+ components across hosts. manages Bastion+ components. Lastly, the security policy 995
953 D. Performance: Cross-Host Deployment result, we ascertain that Bastion+ can provide further network 997
954 Next, we measured the latencies and throughputs for isolation and security enforcement and better performance 998
955 cross-host container deployments. Figure 18 illustrates the with minimal overhead costs. 999
958 ments, the overall latencies significantly increased due to Container Security Analysis. Several efforts [39], [40], 1001
959 the physical link traversal and tunneling overheads between [41], [55], [56], [57] have analyzed the security issues of con- 1002
960 hosts; thus, the latency of the base case became 100.1µs tainer implementations. For example, Dua et al. [55] analyzed 1003
961 and 91.5µs for TCP and UDP packets, respectively. Also, various container implementations, concluding that they are 1004
962 given the network impact, the overhead caused by Bastion+ ’s yet insecure from filesystem, network, and memory isolation 1005
963 policy matching components receded (less than 1%). Next, perspectives. More specifically, Jian et al. [41] demonstrated a 1006
964 when we introduced Bastion+’s end-to-end direct forwarding, Docker escape attack, which allows an adversary to break out 1007
965 the latencies were reduced by 21.3% because our secure of the isolation of a Docker container by exploiting a Linux 1008
966 forwarding directly passed network packets from the source kernel vulnerability. Another research area [36], [37], [58], 1009
967 to the destination via the external interfaces. Finally, when [59], [60] of container security focuses on container images. 1010
968 we applied all security components, the latencies decreased Shu et al. [58] and Tak et al. [59], [60] have performed a 1011
969 by 17.7%, significantly improving compared to the base case. large-scale vulnerability assessment of Docker images on 1012
970 These improvements translated to a cross-host throughput Docker Hub and shown that many images were outdated and 1013
971 improvement of 12.9%, as shown in Figure 17. vulnerable. While these studies broadly point out the security 1014
issues of containers, their goals differ from our work. Instead, 1015
973 Lastly, we compared the throughput variations in different Container Security and Isolation. Bacis et al. introduced 1017
974 types of container networks with/without Bastion+ . Figure 19 DockerPolicyModules (DPM) [61] that allow Docker image 1018
975 shows the TCP-stream throughputs between intra-host and maintainers to specify and ship SELinux policies within their 1019
976 inter-host containers in three container networks (i.e., Flannel, images. Sun et al. [62] proposed security namespaces that 1020
977 WeaveNet, and Calico). The results show that the intra-host enable containers to independently define security policies and 1021
978 throughputs are improved 16.0% in the Flannel network, apply them to a limited scope of processes. SCONE [63] 1022
979 20.6% in the Weave network, and 20.7% in the Calico network presented a secure container mechanism for Docker containers 1023
980 by deploying Bastion+ . Regarding the inter-host throughputs, by isolating them inside SGX enclaves. LightVM [64] wraps 1024
981 we also see the performance improvements (9.4%, 12.9%, and containers in lightweight VMs. X-Containers [65] isolate con- 1025
982 4.9%, respectively) with Bastion+ . tainers that have the same concerns together on top of separate 1026
984 Here, we evaluated the resource usage of Bastion+ . For this, Container Network Security. Most container network 1030
985 we divide the overall workflow into three parts: stack installa- solutions [66], [67] have focused on container network 1031
986 tion, run-time, and security policy analysis. First, we measured performance, with little attention to fine-grained policy 1032
987 the CPU usage while creating 100 containers. The result shows enforcement. A few recent studies investigated the security 1033
Authorized licensed use limited to: GUANGZHOU UNIVERSITY. Downloaded on April 12,2023 at 02:32:40 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
1034 issues in container networks. Bui [68], Comb et al. [69], and [9] AppArmor. AppArmor Project. Accessed: Sep. 20, 2022. [Online]. 1094
1035 Chelladhurai et al. [70] analyzed Docker container security. Available: https://apparmor.net 1095
[10] Seccomp. Accessed: Sep. 20, 2022. [Online]. Available: 1096
1036 Our work extends these results by identifying the broader class http://man7.org/linux/man-pages/man2/seccomp.2.html 1097
1037 of attacks, and we present system extensions that address these [11] SELinux Project. Accessed: Sep. 20, 2022. [Online]. Available: 1098
1041 and Romana [71]) have adopted iptables-based access Available: https://docs.docker.com/engine/security/trust/content_trust 1103
[14] Docker. Docker Hub. Accessed: Sep. 20, 2022. [Online]. Available: 1104
1042 control, Cilium [29] provides API-aware security mechanisms https://hub.docker.com 1105
1043 using eBPF for L3/4 policies, employing its security container [15] H. Zhu and C. Gehrmann. “Lic-Sec: An enhanced AppArmor Docker 1106
1044 for L7 policies. While Bastion+ and Cilium share the use security profile generator,” J. Inf. Secur. Appl., vol. 61, Sep. 2021, 1107
Art. no. 102924. 1108
1045 of eBPF in their implementations, their design objectives [16] Udica. SELinux Policy Generation for Containers. Accessed: 1109
1046 are different. Cilium pursues API-level network security fil- Sep. 20, 2022. [Online]. Available: https://github.com/containers/udica 1110
1047 tering to define and enforce both network and application [17] L. Lei et al., “Speaker: Split-phase execution of application containers,” 1111
in Proc. Int. Conf. Detection Intrusions Malware, Vulnerability Assess-
1048 layer security policies. In contrast, Bastion+ fundamentally ment, 2017, pp. 230–251.
1112
1113
1049 redesigns a secure network stack per container to construct [18] S. Ghavamnia, T. Palit, A. Benameur, and M. Polychronakis, “Confine: 1114
1050 an inherently secure container networking system while also Automated system call policy generation for container attack surface 1115
1051 providing substantially more security features than Cilium. reduction,” in Proc. Int. Symp. Res. Attacks, Intrusions Defenses, 2020, 1116
pp. 443–458. 1117
[19] Aqua Security. Accessed: Sep. 20, 2022. [Online]. Available: 1118
https://www.aquasec.com 1119
1052 IX. C ONCLUSION [20] StackRox. Accessed: Sep. 20, 2022. [Online]. Available: 1120
1056 adoption could be stifled by critical security issues, which https://www.docker.com 1125
[23] Kubernetes. Accessed: Sep. 20, 2022. [Online]. Available: 1126
1057 remain understudied. We have analyzed the security challenges https://kubernetes.io 1127
1058 involved in the current container networks and addressed these [24] Docker. Compose. Accessed: Sep. 20, 2022. [Online]. Available: 1128
1062 and traffic visibilities of containers with per-container fine- https://coreos.com/flannel 1133
[27] Weaveworks. Weave Net. Accessed: Sep. 20, 2022. [Online]. Available: 1134
1063 grained network control and container-to-container network https://www.weave.works/oss/net 1135
1064 isolation. Also, Bastion+ enabled selective security function [28] Tigera. Project Calico. Accessed: Sep. 20, 2022. [Online]. Available: 1136
1069 R EFERENCES [32] MemSQL. MemSQL. Accessed: Sep. 20, 2022. [Online]. Available: 1144
https://hub.docker.com/_/memsq 1145
1070 [1] Google. Everything at Google Runs in Containers. Accessed: [33] O. vSwitch. Production Quality, Multilayer Open Virtual Switch. 1146
1071 Sep. 20, 2022. [Online]. Available: https://cloud.google.com/containers Accessed: Sep. 20, 2022. [Online]. Available: https://www.openvswitch. 1147
1072 [2] Yelp. How Yelp Runs Millions of Tests Every Day. Accessed: org 1148
1073 Sep. 20, 2022. [Online]. Available: https://engineeringblog.yelp. [34] A. Bettini. Vulnerability Exploitation in Docker Container 1149
1074 com/2017/04/how-yelp-runs-millions-of-tests-every-day.html Environments. Accessed: Sep. 20, 2022. [Online]. Available: 1150
1075 [3] Netflix Technical Blog. Titus, the Netflix Container Management Plat- https://www.blackhat.com/eu-15/briefings.html#vulnerability- 1151
1076 form, is Now Open Source. Accessed: Sep. 20, 2022. [Online]. Avail- exploitation-in-docker-container-environments 1152
1077 able: , [Online]. Available: https://netflixtechblog.com/titus-the-netflix- [35] LunaSec. Accessed: Sep. 20, 2022. [Online]. Available: https://www. 1153
1078 container-management-platform-is-now-open-source-f868c9fb5436 lunasec.io/docs/blog/log4j-zero-day 1154
1079 [4] Tripwire. State of Container Security Report. Accessed: [36] TwistLock. A Busybox AutoCompletion Vulnerability. Accessed: 1155
1080 Sep. 20, 2022. [Online]. Available: https://www.tripwire.com/state- Oct. 16, 2021. [Online]. Available: https://www.twistlock. 1156
1081 of-security/devops/organizations-container-security-incident com/2017/11/20/cve-2017-16544-busybox-autocompletion-vulnerability 1157
1082 [5] Security Boulevard. Stealing Infrastructure: Cryptomining Attacks [37] StackRox. Breaking Bad: Detecting Real World Container Exploits. 1158
1083 on Container Environments. Accessed: Sep. 20, 2022. [Online]. Accessed: Oct. 16, 2021. [Online]. Available: https://www.stackrox. 1159
1084 Available: https://securityboulevard.com/2018/03/stealing-infrastructure- com/post/2018/03/breaking-bad-detecting-real-world-container-exploits 1160
1085 cryptocurrency-mining-attacks-container-environments/ [38] Synk. Hacking Docker Containers by Exploiting Imagemagick 1161
1086 [6] CoreOS. Clair. Accessed: Sep. 20, 2022. [Online]. Available: Vulnerabilities. Accessed: Sep. 20, 2022. [Online]. Available: https:// 1162
1087 https://coreos.com/clair/docs/latest snyk.io/blog/hacking-docker-containers-by-exploiting-base-image- 1163
1088 [7] Docker. Docker Security Scanning. Accessed: Oct. 16, 2021. [Online]. vulnerabilities 1164
1089 Available: https://docs.docker.com/v17.12/docker-cloud/builds/image- [39] Abusing Privileged and Unprivileged Linux Containers, NCCGroup, 1165
1090 scan London, U.K., 2016. 1166
1091 [8] RedHat. Atomic Scan—Container Vulnerability Detection. [40] TwistLock. Escaping Docker Container Using Waitid. Accessed: 1167
1092 Accessed: Sep. 20, 2022. [Online]. Available: https://github.com/ Oct. 16, 2021. [Online]. Available: https://www.twistlock.com/2017/12/ 1168
1093 projectatomic/atomic 27/escaping-docker-container-using-waitid-cve-2017-5123 1169
Authorized licensed use limited to: GUANGZHOU UNIVERSITY. Downloaded on April 12,2023 at 02:32:40 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
1170 [41] Z. Jian and L. Chen, “A defense method against Docker escape attack,” [71] Romana. Romana V2.0. Accessed: Oct. 16, 2021. [Online]. Available: 1246
1171 in Proc. Int. Conf. Cryptogr., Secur. Privacy, 2017, pp. 142–146. https://romana.io 1247
1172 [42] Z. Qian, Z. M. Mao, and Y. Xie, “Collaborative TCP sequence number
1173 inference attack: How to crack sequence number under a second,” in
1174 Proc. Conf. Comput. Commun. Secur., 2012, pp. 593–604.
1175 [43] Instana. Stan Robot Shop, A Sample Microservice Application. Accessed:
1176 Sep. 20, 2022. [Online]. Available: https://github.com/instana/robot-shop Jaehyun Nam received the B.S. degree in com- 1248
1177 [44] Weaveworks. Sock Shop—A Microservices Demo Application. Accessed: puter science and engineering from Sogang Uni- 1249
1178 Sep. 20, 2022. [Online]. Available: https://microservices-demo.github.io versity, South Korea, and the M.S. and Ph.D. 1250
1179 [45] Nginx. Nginx. Accessed: Sep. 20, 2022. [Online]. Available: degrees in information security from the School 1251
1180 https://hub.docker.com/_/nginx of Computing, KAIST. He is an Assistant Profes- 1252
1181 [46] Redis. Redis. Accessed: Sep. 20, 2022. [Online]. Available: sor with the Department of Computer Engineer- 1253
1182 https://hub.docker.com/_/redis ing, Dankook University, South Korea. His research 1254
1183 [47] IO Visor Project. Extended Berkeley Packet Filter. Accessed: interests include networked systems and security, 1255
1184 Sep. 20, 2022. [Online]. Available: https://www.iovisor.org/ and security issues in cloud and edge computing sys- 1256
1185 technology/ebpf tems, including SDN, NFV, the IoT, and containers. 1257
1186 [48] T. Høiland-Jørgensen et al., “The eXpress data path: Fast programmable
1187 packet processing in the operating system kernel,” in Proc. Int. Conf.
1188 Emerg. Netw. EXperiments Technol., 2018, pp. 54–66.
1189 [49] IO Visor Project. eXpress Data Path. Accessed: Sep. 20, 2022. [Online].
1190 Available: https://www.iovisor.org/technology/xdp Seungsoo Lee received the B.S. degree in computer 1258
1191 [50] M. Roesch, “Snort: Lightweight intrusion detection for networks,” in science from Soongsil University, South Korea, and 1259
1192 Proc. Large Installation Syst. Admin. Conf., 1999, pp. 229–238. the M.S. and Ph.D. degrees in information security 1260
1193 [51] Suricata. Threat Detection Engine. Accessed: Sep. 20, 2022. [Online]. from KAIST. He is an Assistant Professor with the 1261
1194 Available: https://suricata.io Department of Computer Science and Engineering, 1262
1195 [52] Hewlett Packard Enterprise. NetPerf: Network Performance Bench- Incheon National University. His research interests 1263
1196 mark. Accessed: Sep. 20, 2022. [Online]. Available: https://github. include network systems, network security, software- 1264
1197 com/HewlettPackard/netperf defined networking (SDN), network function virtu- 1265
1198 [53] iPerf. Network Bandwidth Measurement Tool. Accessed: Sep. 20, 2022. alization (NFV), and cloud security. 1266
1199 [Online]. Available: https://iperf.fr
1200 [54] proofpoint. Emerging Threat Ruleset. Accessed: Sep. 20, 2022. [Online].
1201 Available: https://www.proofpoint.com/us/threat-insight/et-pro-ruleset
1202 [55] R. Dua, A. R. Raja, and D. Kakadia, “Virtualization vs containerization
1203 to support PaaS,” in Proc. Int. Conf. Cloud Eng., 2014, pp. 610–614.
1204 [56] X. Gao, Z. Gu, M. Kayaalp, D. Pendarakis, and H. Wang, “Container- Phillip Porras received the M.S. degree in com- 1267
1205 Leaks: Emerging security threats of information leakages in container puter science from the University of California, 1268
1206 clouds,” in Proc. Int. Conf. Dependable Syst. Netw., 2017, pp. 237–248. Santa Barbara, CA, USA, in 1992. He is a SRI 1269
1207 [57] A. A. Mohallel, J. M. Bass, and A. Dehghantaha, “Experimenting with Fellow and the Program Director of the Internet 1270
1208 Docker: Linux container and BaseOS attack surfaces,” in Proc. Int. Conf. Security Group, Computer Science Laboratory, SRI 1271
1209 Inf. Soc., 2016, pp. 17–21. International, Menlo Park, CA, USA. He has partic- 1272
1210 [58] R. Shu, X. Gu, and W. Enck, “A study of security vulnerabilities ipated on numerous program committees and edito- 1273
1211 on Docker hub,” in Proc. Conf. Data Appl. Secur. Privacy, 2017, rial boards, and participates on multiple commercial 1274
1213 [59] B. Tak, C. Isci, S. Duri, N. Bila, S. Nadgowda, and J. Doran, “Under- to publish and conduct technology development on 1276
1214 standing security implications of using containers in the cloud,” in Proc. numerous topics including intrusion detection and 1277
1215 Annu. Tech. Conf., 2017, pp. 313–319. alarm correlation, privacy, malware analytics, active and software defined 1278
networks, and wireless security. 1279
1216 [60] B. Tak, H. Kim, S. Suneja, C. Isci, and P. Kudva, “Security analysis of
1217 container images using cloud analytics framework,” in Proc. Int. Conf.
1218 Web Services, 2018, pp. 116–133.
1219 [61] E. Bacis, S. Mutti, S. Capelli, and S. Paraboschi, “DockerPolicyMod-
1220 ules: Mandatory access control for Docker containers,” in Proc. Conf. Vinod Yegneswaran received the A.B. degree from 1280
1221 Commun. Netw. Secur., 2015, pp. 749–750. the University of California, Berkeley, CA, USA, 1281
1222 [62] Y. Sun, D. Safford, M. Zohar, D. Pendarakis, Z. Gu, and T. Jaeger, in 2000, and the Ph.D. degree from the University of 1282
1223 “Security namespace: Making Linux security frameworks available to Wisconsin, Madison, WI, USA, in 2006, all in com- 1283
1224 containers,” in Proc. Secur. Symp., 2018, pp. 1423–1439. puter science. He is a Senior Computer Scientist with 1284
1225 [63] S. Arnautov et al., “SCONE: Secure Linux containers with Intel SGX,” SRI International, Menlo Park, CA, USA, pursuing 1285
1226 in Proc. Symp. Operating Syst. Design Implement., 2016, pp. 689–703. advanced research in network and systems security. 1286
1227 [64] F. Manco et al., “My VM is lighter (and safer) than your container,” in His current research interests include SDN security, 1287
1228 Proc. Symp. Operating Syst. Princ., 2017, pp. 218–233. malware analysis, and anti-censorship technologies. 1288
1229 [65] Z. Shen et al., “X-containers: Breaking down barriers to improve He has served on several NSF panels and program 1289
1230 performance and isolation of cloud-native containers,” in Proc. Int. committees of security and networking conferences, 1290
1231 Conf. Architectural Support Program. Lang. Operating Syst., 2019, including the IEEE Security and Privacy Symposium. 1291
Authorized licensed use limited to: GUANGZHOU UNIVERSITY. Downloaded on April 12,2023 at 02:32:40 UTC from IEEE Xplore. Restrictions apply.