Traditionally, applications that are used in large and small enterprises were deployed on "bare metal" servers installed with operating systems. Recently, the use of multiple virtual machines (VMs) on the same physical server was adopted due to cost reduction and flexibility. Nowadays, containers have become popular for application deployment due to smaller footprints than the VMs, their ability to start and stop more quickly, and their capability to pack the application binaries and their dependencies in standalone units for seamless portability. A typical container ecosystem includes a code repository (e.g., GitHub) where the container images are built from the codes and libraries and then pushed to the image registry (e.g., Docker Hub) for subsequent deployment as application containers. However, the pervasive use of containers also leads to a wide-range of security breaches, such as stealing credentials and sensitive data from image registry and code repository, carrying out DoS attacks, and gaining root access to the underlying host. In this paper, we first perform threat modeling on the containers ecosystem using the popular threat modeling framework, called STRIDE. Using STRIDE, we identify the vulnerabilities in each system component, and investigate potential security threats and their consequences. Then, we conduct a comprehensive survey on the existing countermeasures designed against the identified threats and vulnerabilities. In particular, we assess the strengths and weaknesses of the existing mitigation strategies designed against such threats. We believe that this work will help researchers and practitioners to gain a deeper understanding of the threat landscape in containers and the state-of-the-art countermeasures. We also discuss open research problems and future research directions in containers security, which may ignite further research to be done in this area.
翻译:传统上,大型和小型企业使用的应用程序是安装在操作系统安装的“白金属”服务器上的。最近,由于降低成本和灵活性,在同一物理服务器上采用了多种虚拟机器(VMs),最近,由于成本降低和灵活性,在同一个物理服务器上采用了多种虚拟机器(VMs)。如今,集装箱由于比VMs的足迹小,其启动和停止能力以及其将应用程序的二进制及其依赖性包装在无缝可移动性独立单位中的能力,在大型和小型企业中使用了应用应用软件。典型的集装箱生态系统包括一个代码储存库(如GitHub),集装箱图象从代码和图书馆建立起来,然后被推到图像登记册(例如Docker Huher),以便随后作为应用容器的容器。然而,集装箱的普遍使用也导致了广泛的安全漏洞的部署,例如从图像登记处和代码库中窃取证书和敏感数据,进行攻击,并获得基本宿主的根部。在本文中,我们首先使用大众威胁模拟框架,称为STRIDE的集装箱生态系统的模型进行威胁模型。我们利用斯特赖IDE,查明每个系统内部的弱点,我们所设计的安全弱点和现有安全弱点研究,然后在评估中,我们所设计的安全弱点和研究中的弱点和研究中进行这种危险和研究。我们所设计的弱点。