云原生安全威胁分析与 能力建设白皮书 中国联通研究院 中国联通网络安全研究院 1 下一代互联网宽带业务应用国家工程研究中心2023年11月 版权声明 本报告版权属于中国联合网络通信有限公司研究院,并受法律保护。转载、摘编或利用其他方式使用本报告文字或者观点的,应注明“来源:中国联通研究院”。违反上述声明者,本院将追究其相关法律责任。 目录 一、云原生安全概述9 1.1云原生及云原生安全9 1.1.1云原生10 1.1.2云原生安全12 1.2云原生安全发展14 1.3云原生安全风险17 二、云原生关键技术威胁全景19 2.1云原生安全威胁分析19 2.2路径1:镜像攻击21 2.2.1镜像投毒攻击21 2.2.2镜像仓库攻击22 2.2.3中间人攻击22 2.2.4敏感信息泄露攻击22 2.2.5针对镜像不安全配置的攻击22 2.3路径2:容器攻击23 2.3.1守护进程攻击23 2.3.2容器提权和逃逸攻击24 2.3.3拒绝服务攻击25 2.3.4容器网络攻击26 2.4路径3:编排工具攻击26 2.4.1k8s组件攻击27 2.4.2服务对外暴露攻击27 2.4.3业务pod攻击28 2.4.4集群环境下的横向攻击29 2.4.5k8s管理平台攻击29 2.4.6第三方组件攻击29 2.5路径4:微服务攻击29 2.5.1API攻击30 2.5.2API网关攻击32 2.5.3微服务应用攻击32 2.6路径5:Serverless攻击33 2.6.1事件注入攻击34 2.6.2敏感数据泄露攻击34 2.6.3身份认证攻击35 2.6.4权限滥用攻击35 2.6.5拒绝服务攻击36 2.6.6针对函数供应链的攻击36 三、典型攻击场景分析37 3.1镜像投毒攻击37 3.1.1攻击场景介绍37 3.1.2攻击过程复现38 3.2挂载DockerSocket导致容器逃逸攻击38 3.2.1攻击场景介绍38 3.2.2攻击过程复现39 3.3k8s权限提升攻击40 3.3.1攻击场景介绍40 3.3.2攻击过程复现41 3.4Istio认证策略绕过攻击43 3.4.1攻击场景介绍43 3.4.2攻击过程复现45 四、云原生应用保护能力建设47 4.1制品安全能力建设47 4.1.1代码安全48 4.1.2镜像安全49 4.1.3制品环境安全50 4.1.4安全检测52 4.2运行时安全能力建设53 4.2.1Web应用和API安全54 4.2.2云原生运行时安全56 4.2.3网络微隔离58 4.3基础设施安全能力建设59 4.3.1基础设施即代码安全59 4.3.2权限管理60 4.3.3云原生安全态势60 五、总结与展望62 六、参考文献64 图目录 图1云原生四要素10 图2云原生四要素的基本含义11 图3云原生安全框架13 图4云原生安全能力体系16 图5云原生关键技术威胁全景19 图6容器镜像安全风险21 图7容器运行时安全风险23 图8针对k8s进行攻击的路径分析27 图9针对微服务进行攻击的路径分析30 图10针对Knative进行攻击的路径分析33 图11镜像投毒攻击路径分析37 图12反弹shell攻击结果展示38 图13容器逃逸结果展示40 图14k8s权限提升攻击路径41 图15利用CVE-2018-1002105窃取高权限凭证42 图16未授权访问结果45 图17绕过IstioJWT认证访问结果45 图18云原生应用保护能力建设架构图47 图19制品安全能力建设48 图20运行时安全能力建设54 图21基础设施安全能力建设59 表目录 表1云原生安全相关标准15 前言 在数字化转型的大潮中,云计算作为实现创新和提高运营效率的关键技术,成为了新一代信息技术的核心引擎。随着云计算的飞速发展和广泛应用,以及万千企业数字化转型换挡提速,企业对云计算的使用效能提出新的需求。云原生以其独特的技术特点,很好地契合了云计算发展的本质需求,正在成为驱动云计算质变的技术内核。 云原生作为云计算深入发展的产物,已经开始在5G、人工智能、大数据等各个技术领域得到广泛应用。中国联通研究院一直从事云原生及其安全技术的研究,致力于推动云原生在通信行业落地实践,全面落实好“大安全”主责主业,以实际行动践行“国家队、主力军、排头兵”的责任担当。2022年,我们在“联通合作伙伴大会”发布了《中国联通云原生安全实践白皮书》,该书系统阐述了云计算所面临的新型安全问题,介绍了云原生安全防护体系,并给出了云原生安全防护体系建设实践。 过去一年来,我们持续深耕云原生安全领域,联合多家单位共同编写了《云原生安全威胁分析与能力建设白皮书》。白皮书从攻击者视角介绍了云原生所面临的安全威胁,通过具体的实例展现攻击过程,给出云原生应用保护能力建设思路,以期与行业同仁共同推动云原生安全落地发展。 最后,白皮书内容难免有疏漏,敬请读者批评指正。 编写单位: 中国联合网络通信有限公司研究院、联通数字科技有限公司、中国联通福建省分公司、北京神州绿盟科技有限公司、北京小佑网络科技有限公司、中兴通讯股份有限公司 专家顾问: 叶晓煜、张建荣、徐雷、潘松柏、冯强、张曼君、傅瑜、葛然、张小梅、徐积森、滕开清 编写成员: 丁攀、郭新海、王戈、刘安、蓝鑫冲、牛金乐、李安坤、王琦、汤旭、雷新、浦明、张小勇、白黎明、左伟震、范璟玮、许秀莉 一、云原生安全概述 近年来,云计算技术一直处于高速发展的过程中,并且随着公有云和私有云的广泛应用,利用云计算作为承载业务运行的基础设施,已经成为了企业的首选。“十四五”时期,中国的信息化进入加快数字发展、建设数字中国的新阶段,在数字化转型的浪潮中,云计算作为新型数字基础设施和新一代信息技术的核心引擎,在推动人工智能、5G、工业互联网、物联网等技术的发展和应用方面发挥着越来越重要的作用。云计算的普遍应用和相关技术发展,使其已经经历了云计算1.0虚机时代、云计算2.0原生时代,目前正在朝着云计算3.0智能时代迈进。 因此,在当前云计算2.0时代,云原生技术日趋成熟,并因大语言模型的推 动助力朝着云计算3.0智能时代迈进的背景下,分析云原生安全的发展情况和面临的威胁,并研究云原生安全能力,能够为企业整体的云安全防护体系建立提供帮助,从而保障企业业务和数据更安全的在云上运转。 1.1云原生及云原生安全 过去十年,企业数字化转型加速推进,相继经历了服务器、云化到云原生化三个阶段。在云化阶段,云主机是云计算的核心负载之一,云主机安全是云安全的核心;在云原生阶段,容器和无服务器计算成为核心工作负载,容器安全、Serverless安全、DevSecOps成为云安全的核心。自开源Docker容器和k8s编排引擎出现以来,云原生生态不断扩大。当前,云原生作为云计算深入发展的产物,已经开始在5G、人工智能、大数据等各个技术领域得到广泛应用。云原生技术的广泛应用,带来了一系列云原生安全问题,因此,要保障云原生的安全, 使云原生技术更好的赋能企业数字化发展,需要明确云原生和云原生安全。 1.1.1云原生 2015年,Pivotal的高级产品经理MattStine发表新书《迁移到云原生应用架构》,探讨了云原生应用架构的5个主要特征:符合12因素应用、面向微服务架构、自服务敏捷架构、基于API的协作和抗脆弱性。同一年,Google作为发起方成立CNCF,指出云原生应该包括容器化封装、自动化管理、面向微服务。到了2018年,CNCF又更新了云原生的定义,把服务网格和声明式API给加了进来。后来,随着云计算的不断发展,云原生的簇拥者越来越多,这一体系在反复的修正与探索中逐渐成熟。VMware关于云原生的介绍提出了四个核心要点,包括DevOps、微服务、容器和持续集成,如图1、图2所示。 图1云原生四要素 图2云原生四要素的基本含义 2020年,云原生产业联盟发布《云原生发展白皮书》[1],指出云原生是面向云应用设计的一种思想理念,充分发挥云效能的最佳实践路径,帮助企业构建弹性可靠、松耦合、易管理可观测的应用系统,提升交付效率,降低运维复杂度,代表技术包括不可变基础设施、服务网格、声明式API及Serverless等。云原生技术架构的典型特征包括:极致的弹性能力,不同于虚拟机分钟级的弹性响应,以容器技术为基础的云原生技术架构可实现秒级甚至毫秒级的弹性响应;服务自治故障自愈能力,基于云原生技术栈构建的平台具有高度自动化的分发调度调谐机制,可实现应用故障的自动摘除与重构,具有极强的自愈能力及随意处置性;大规模可复制能力,可实现跨区域、跨平台甚至跨服务的规模化复制部署。 由此可见,云原生作为一种新兴的安全理念,是一种构建和运行应用程序的技术体系和方法论,以DevOps、持续交付、微服务和容器技术为代表,符合云原生架构的应用程序应该:采用开源堆栈(k8s+Docker)进行容器化,基于微服务架构提高灵活性和可维护性,借助敏捷方法、DevOps支持持续迭代和运维自动化,利用云平台设施实现弹性伸缩、动态调度、优化资源利用率。 1.1.2云原生安全 云原生安全作为云原生的伴生技术,旨在解决云原生技术面临的安全问题,其作为一种新兴的安全理念,强调以原生的思维实现云上安全并推动安全与云计算深度融合。我们在2022年发布的中国联通云原生安全实践白皮书中[2],对比分析了不同的组织和企业对云原生安全理念的理解,其中包括CNCF认为云原生安全是一种将安全构建到云原生应用程序中的方法[3]、k8s提出的云原生4C安全模型[4]、腾讯所理解的云原生安全指云平台安全原生化和云安全产品原生化 [5],并给出我们对于云原生安全的理解,即云原生安全是云原生理念的延伸,旨 在解决云原生技术面临的安全问题。 CSA发布的《云原生安全技术规范》中给出了云原生安全框架[6],如图3所示。其中,横轴是开发运营安全的维度,涉及需求设计(Plan)、开发(Dev)、运营(Ops),细分为需求、设计、编码、测试、集成、交付、防护、检测和响应阶段;而纵轴则是按照云原生系统和技术的层次划分,包括容器基础设施安全、容器编排平台安全、微服务安全、服务网格安全、无服务计算安全五个部分,二维象限中列举安全机制(蓝色标注部分)已经基本覆盖全生命周期的云原生安全能力。此外,DevSecOps涉及的能力范围几乎覆盖了横轴和纵轴的各个阶段,如图中的紫色部分。最后,云原生安全体系中还包括了一些通用技术能力(黄色部分),这一部分能力主要体现在检测和响应阶段,并会同时覆盖DevSecOps中运营阶段的能力。 图3云原生安全框架 由此可见,云原生安全可以简要归纳为两个方面,一是面向云原生环境的安全,其目标是防护云原生环境中的基础设施、编排系统、微服务、无服务和服务网格等安全。二是具有云原生特征的安全,指具有云原生的弹性敏捷、轻量级、可编排等特性的各类安全机制。在此基础上,未来云原生环境必将与云原生技术的安全互相融合,成为统一的整体,并且将经历如下三个发展阶段: (1)安全赋能于云原生体系,构建云原生的安全能力。当前云原生技术发 展迅速,但相应的安全防护匮乏,最基础的镜像安全和安全基线都存在很大的安全风险。因此,应该将现有的安全能力,如隔离、访问控制、入侵检测、应用安全等,应用于云原生环境,构建安全的云原生系统; (2)安全产品具有云原生的新特性,如轻/快/不变的基础设施、弹性服务 编排、开发运营一体化等。通过软件定义安全架构,构建原生安全架构,从而提供弹性、按需、云原生的安全能力,提高“防护—检测—响应”闭环的效率; (3)在安全设备或平台云原生化后,提供云原生的安全能力,不仅适用于 通用云原生、5G、边缘计算等场景,还可以独立部署在大型电商等需要轻量级、高弹性的传统场景,最终成为无处不在的安全。 1.2云原生安全发展 云原生在改变了企业上云及构建新一代基础设施的同时,作为一项新兴技术也带来了一系列新的问题,对企业原有的信息安全防护模式提出了新的挑战,例如,微服务、容器运行时的短生命周期