开源容器技术安全分析

2026-04-08 国家保密科技测评中心

【摘   要】 随着容器技术的快速发展和广泛应用,其面临的安全问题也越来越突出。本文在分析开源容器技术典型代表Docker和Kubernetes应用过程中面临的安全问题及挑战的基础上,提出应对建议。

【关键词】 容器技术 Docker Kubernetes 容器安全

1 引言

高德纳(Gartner)预测,到2023年,70%的组织将在生产中运行3个或更多容器化应用程序。容器、容器编排技术(Kubernetes,K8S)和微服务应用模式是企业IT创新和数字化转型的三大驱动力,很多公司已经采用这些技术,发挥其在应用程序开发和部署方面的优势。随着容器技术的快速发展和广泛应用,其面临的安全问题也越来越突出。本文在分析开源容器技术典型代表Docker和K8S应用过程中面临的安全问题及挑战的基础上,提出应对建议。

2 开源容器技术发展应用分析

相比于系统级虚拟化,容器技术是进程级别的,具有启动快、体积小等优势,为软件开发、应用部署带来了诸多便利。如使用开源容器Docker技术,应用程序打包推送到镜像中心后,使用时拉取直接运行,实现了“一次打包,到处运行”,非常方便、快捷;使用开源容器编排技术K8S能够实现应用程序的弹性扩容和自动化部署,满足企业灵活扩展信息系统的需求。但是,随着Docker和K8S应用的日益广泛和深入,安全问题也越来越凸显。

2.1 容器技术发展迅速且应用广泛

2013年,Docker公司提出Docker开源容器项目,随后发布了一系列工具链来支持容器使用;到2020年,Docker容器官方镜像仓库Docker Hub的镜像中心累计下载了1300亿次,用户创建了约600万个容器镜像库。Docker开源技术能实现对容器的治理和编排,已成为容器管理领域事实上的行业标准。根据云原生计算基金会于2020年3月发布的最新调查,在亚马逊公司云计算平台(Amazon Web Services,AWS)和谷歌公司云平台(Google Cloud Platform,GCP)的托管服务中,K8S的生产使用率从58%跃升至78%。

2.2 开源技术推动了容器技术发展

Docker技术和K8S技术之所以能够快速发展和广泛应用,除了技术本身的优势之外,重要的原因就是由于开源社区管理和支持。开源社区具有限制少、交付快捷、迭代快速、参与人员多、大公司支持等优势,大大促进了容器技术的演进。开源容器技术生态体系日趋完善,已贯穿现代化软件工程的整个生命周期,其复杂度也在不断提升。

2.3 基于容器技术的敏捷开发模式日趋流行

在移动应用、互联网背景下,企业竞争日趋激烈,应用程序快速迭代、持续交付显得尤为重要。容器技术的应用大大推动了软件交付模式的革新,基于容器的敏捷开发模式DevOps(开发运维一体化)大大提高了软件的交付速度、部署频率。常见的DevOps流程,包括拉取代码、代码构建、项目打包、Docker构建、拉取镜像和Docker运行6个步骤,通过多种工具的集成,构成了自动化DevOps开发运维流水线,开发人员提交的代码能够自动部署到生产环境,如图1所示。

DevOps生命周期是以下各项工作的反复迭代:计划、编码、构建、测试、发布、部署、运维、监控。从开发人员提交代码开始,直到在生产环境中运行,形成自动流水线过程;一旦运行,就反复迭代、循环运行。任一环节出现安全问题,就会影响开发、交付,同时也增加了安全控制的复杂度和难度。

基于容器技术的DevOps各个阶段都可能存在安全漏洞,应该实施安全控制措施,如构建时安全、基础镜像的安全、Docker基础设施安全、运行时安全等,要加强容器镜像扫描、容器编排

配置错误控制、网络身份访问管理、检测和事件响应等。

3 开源容器技术面临的安全挑战分析

2020年,Prevasio公司发布Docker容器官方镜像仓库Docker Hub分析报告:通过对400万容器镜像的扫描发现51%的镜像存在高危漏洞,6432个镜像包含病毒或恶意程序。

Docker容器技术应用中可能存在的技术性安全风险分为镜像安全风险、容器虚拟化安全风险、网络安全风险等类型。

Docker Hub中的镜像可由个人开发者上传,其数量丰富、版本多样,但质量参差不齐,甚至存在包含恶意漏洞的恶意镜像,因而可能存在较大的安全风险。具体而言,Docker镜像的安全风险分布在创建过程、获取来源、获取途径等方方面面。

与传统虚拟机相比,Docker容器不拥有独立的资源配置,且没有做到操作系统内核层面的隔离,因此可能存在资源隔离不彻底与资源限制不到位所导致的容器虚拟化安全风险。

网络安全风险是互联网中所有信息系统所面临的重要风险,不论是物理设备还是虚拟机,都存在难以完全规避的网络安全风险问题。而在轻量级虚拟化的容器网络和容器编排环境中,其网络安全风险较传统网络而言更为复杂严峻。

3.1 开源容器技术Docker面临的安全隐患

Docker的安全问题主要可能来源于3个方面。

3.1.1 Docker自身漏洞

Docker作为一款软件,自然也跟软件一样,技术实现上会有代码缺陷。MITRE公司共发布了134项Docker安全漏洞(截至2020年12月28日)。 编号CVE-2020-35467的安全漏洞显示,2020年12月14日之前的Docker Docs映像包含根用户的空白密码。使用受影响的Docker Docs容器版本部署的系统可能允许远程攻击者使用空白密码来实现根用户访问。该安全漏洞实际就是根用户的访问控制漏洞,攻击者很容易利用该漏洞实现越权访问。

正文暂未发布

当前稿件尚未补充正文内容,后续可在后台完善内容后自动恢复显示。你也可以先返回栏目页浏览其他资讯。

上一篇
下一篇