峰会系列回顾 | 从内核到容器:云原生技术栈安全分析

admin 2023年2月9日09:40:13评论42 views字数 2714阅读9分2秒阅读模式

峰会系列回顾 | 从内核到容器:云原生技术栈安全分析

《峰会系列回顾|云原生新安全体系建设思路与探索》一文中,介绍了云原生背景、云原生安全风险、云原生安全建设思路以及云原生应用保护平台等。本篇文章将带大家回顾浙江大学百人计划研究员、博士生导师申文博的主题演讲——《从内核到容器:云原生技术栈安全分析》,申文博的分享从云原生介绍、云原生技术栈、云原生技术栈攻防和云原生技术安全展望四个方面展开,以学术视角深入剖析云原生技术安全。


峰会系列回顾 | 从内核到容器:云原生技术栈安全分析

美国北卡罗莱纳州立大学计算机博士,浙江大学百人计划研究员、博士生导师。研究方向为系统安全、软件供应链安全和云原生安全,发表安全领域四大顶级会议论文及CCF-A类论文30余篇,覆盖全部计算机安全四大国际会议,获得3项杰出论文奖,包含四大顶级会议之一的NDSS的杰出论文奖。




何谓云原生


申文博首先指出云计算的定义:云计算是一种分布式计算,用户可以通过网络获得海量计算能力。云计算就像自来水厂一样,我们可以随时接水,并且不限量,按照自己家的用水量,付费给自来水厂就可以。云计算近年来获得广泛应用,已经成为关键信息基础设施。


接着,申文博介绍了云原生的定义:云原生全称为云计算原生,软件设计的时候即考虑在云上进行分布式运行,而非传统的在PC设备运行,云原生可以大幅度提高云计算资源使用效率。云原生系统的实际部署量增长快,绝对比例大,已成为云环境上部署最广的系统,云原生系统已然成为云计算的技术基石。


峰会系列回顾 | 从内核到容器:云原生技术栈安全分析

图 《云原生计算基金会调研报告》中国容器使用现状




云原生技术栈


申文博指出,容器技术作为支撑云原生系统的关键技术,与宿主机共享相同的内核,效率高、启动快,并利用宿主机内核提供的机制来进行资源隔离和资源限制。接着,他对云原生技术栈的概念作了阐述:从底层的操作系统内核层(包括命名空间、控制组、安全计算模式),到中间层的容器层(包括底层运行时、容器引擎&高层运行时),再到顶层的编排层以及容器镜像。


操作系统内核层处于整个云原生系统的底层,直接管理节点的硬件资源;容器层调用内核特性创建并限制容器实例,接收来自用户的指令和负责管理容器镜像;编排层用于自动化创建容器,分配更多计算资源;容器镜像则负责存储应用以及应用运行所需的所有软件。




云原生技术栈攻防


云原生技术为云计算带来新的机遇,同时也带来了新的安全挑战。在这一部分,申文博重点剖析了云原生技术栈各个层次所面临的安全挑战和保护现状。


峰会系列回顾 | 从内核到容器:云原生技术栈安全分析

图 云原生技术栈总览


操作系统内核层


面临的安全风险包括内核漏洞、资源限制和数据保护。


● 内核漏洞内核是共享的,内核中的漏洞并没有被有效隔离;内核中的漏洞会影响所有运行在同一内核上的容器。

● 资源限制内核对资源使用的记录限制集中在有限几种硬件资源上;然而内核同样包含抽象资源,其使用没有被限制。

● 数据保护内核中某些的全局状态可以由所有容器读取;然而这些状态往往包含敏感数据,导致进一步的复杂攻击。


内核层的保护现状:


一是引入新的命名空间最新引入的命名空间包括安全命名空间,CPU命名空间;引入抽象资源命名空间,防护抽象资源攻击。

二是沙箱/虚拟化容器:已有的gVisor和Kata容器都使用不同程度的虚拟化技术,部分或者完全隔离了每个容器运行的内核。

三是对内核特性进行系统性分析:对命名空间、控制组以及安全计算模式等特性进行系统性分析,采用静态分析定位、动态分析打靶的模式,全面、精确地挖掘潜在风险。


容器层


面临的安全风险包括组件漏洞和配置不当。


● 组件漏洞几乎所有的容器层组件都出现过CVE漏洞,其中某些漏洞甚至能导致容器逃逸的问题,并在真实攻击中被攻击者利用。

● 配置不当最常见的安全风险之一。管理员可能误将物理节点的文件系统挂载到容器内,甚至授予容器整个系统的根用户权限。这种风险存在着隐蔽性强、危害性大的特点,直接导致数据泄露甚至提权攻击。


峰会系列回顾 | 从内核到容器:云原生技术栈安全分析

图 容器层安全风险


容器层的保护现状:


一是及时更新安全补丁,采用最小权限原则配置云原生容器。

二是最大化利用内核提供的安全特性,比如基于强制访问控制(Mandatory access control)的SELinux。

三是自动化配置分析正成为云原生安全的研究热点和重点。


编排层


峰会系列回顾 | 从内核到容器:云原生技术栈安全分析

图 编排层架构


编排层面临的安全挑战包括组件漏洞、配置不当和缺乏网络隔离。


 组件漏洞:编排层的所有组件均可能包含安全漏洞,形成巨大的可攻击面。

 配置不当:编排层的配置比容器层更繁杂,不仅要配置容器,还要配置存储、网络以及用户权限,不当的配置可能导致集群控制权被窃取。

 缺乏网络隔离:集群内部的网络缺乏有效隔离机制。在控制某个数据平面节点的情况下,攻击者能轻易嗅探内网通讯,或将控制权横向扩展到其他节点。



编排层的保护现状:


一是遵从最佳实践来配置编排层,尤其是用户权限和认证机制的配置。

二是自动化配置以及配置的自动化验证,编排层作为云的控制中心这一角色,其配置的复杂性和重要性高于容器层。

三是在网络传输层配置安全策略,使用eBPF等最新技术监控集群内的网络活动已经成为当下的研究热点。


容器镜像


面临两种安全风险:纵向传播风险和横向传播风险。


 纵向传播风险:是指容器镜像由多层文件系统组成,高层的应用依赖于低层的库和运行时环境,因此低层的安全漏洞通过文件层次传播影响高层组件,造成风险纵向传播。

 横向传播风险:是指容器镜像可以一键上传、一键拉取,使用非常便捷,也为风险的风向传播提供渠道,恶意用户将伪装的挖矿、木马镜像传至镜像仓储,用户在不知情的情况下运行这些镜像,造成风险横向传播。


容器镜像的保护现状:


一是镜像扫描:对容器镜像中存在的漏洞以及病毒、木马等恶意程序进行扫描,这种方法已经得到较大规模的落地,在国内外云原生安全的解决方案中得到广泛应用。

二是镜像签名:像安卓包管理一样,将签名机制应用于容器镜像可以有效避免被容器镜像篡改以及识别可疑的镜像发布者。

三是镜像瘦身:根据最小功能性原则去除容器镜像中非必要的依赖库和应用,或者把复杂容器镜像拆分成多个子镜像以减少供给面,这种方法近年来正受到学术界的持续关注。




云原生技术安全展望


谈到云原生技术的安全展望,申文博认为需要对云原生技术栈的各个层次开展新型防护。具体措施包括:在操作系统内核层,研发新型资源漏洞隔离机制;在容器层,对现有容器引擎进行安全性分析;在编排层,自动化配置生成和安全验证工具;在镜像层,建立新型的镜像验证和签名机制。


申文博最后总结道,云原生系统因其资源利用率高、配置灵活的特点,近年来获得了广泛应用,成为云计算的关键技术支撑,但云原生技术栈各个层次依然存在安全问题,需要在操作系统层、容器层、编排层和镜像层各个层次部署安全防护。


峰会系列回顾 | 从内核到容器:云原生技术栈安全分析

原文始发于微信公众号(默安科技):峰会系列回顾 | 从内核到容器:云原生技术栈安全分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年2月9日09:40:13
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   峰会系列回顾 | 从内核到容器:云原生技术栈安全分析https://cn-sec.com/archives/1541572.html

发表评论

匿名网友 填写信息