云攻防课程系列(一):云计算基础与整体安全

一. 概述

近日,绿盟科技星云实验室与北京豪密科技有限公司联合推出了一项云攻防技术培训课程。该课程旨在根据客户需求,为客户提供专题培训,帮助客户熟悉常见的云安全架构,并提供云攻防技术理解,同时结合模拟攻击实验提升攻防能力。该课程参与学员涵盖了特殊行业的单位、国企等十多家单位。课程共分为六个章节,分别就云计算基础、云上攻击路径、云上资产发现与信息收集、云服务安全攻防、云原生安全攻防以及虚拟化安全攻防进行了详细介绍。

本系列文章旨在以科普为目的面向各位读者推出,本文是该系列的第一篇,涵盖了云计算基础架构和云计算安全的核心内容。文章首先从云计算的基本概念和体系架构入手,方便读者理解云计算的基本定义、特征以及常见的云计算部署模型,如公有云、私有云、社区云、混合云和云原生等。然后,文章从云化风险分析、云安全概念模型以及范围和职责等角度出发,帮助读者深入了解云计算整体安全。最后,笔者对云安全能力发展趋势进行展望并介绍了星云实验室的一些主要工作。

二. 云计算基础与整体安全

2.1

云计算基础

2.1.1

云计算基本定义

关于云计算的定义,NIST 以及 ISO/IEC 这两大机构都给出了权威定义。NIST 主张云计算是一种支持无处不在、便捷、按需、广泛网络访问的公共计算资源池。通俗地说,使用者只需要具备连接上云的能力,就可以通过在公共资源池中调配、部署、扩充、缩减、回收,以按需提供的、类似于效用计算的分配和消费模式。ISO/IEC也强调云计算需要具备网络可访问、可扩展、弹性,可共享的资源池。

NIST对云计算的定义中包含了五个基本特征、三个云服务模型、以及四个云部署模型,如下图所示:

图1. NIST对云计算的定义

云服务具有五大特征,包括广泛的网络访问、可测量的服务、按需自服务、快速弹性和可扩展性以及资源池化。云服务也可分为三种类型,包括服务即软件 (SaaS)、平台即服务 (PaaS) 和基础设施即服务 (IaaS)。云部署模型包括公共云、私有云和社区云,以及混合云和多云。其中,混合云是公有云、私有云的混合,而多云则是多个公有云服务商的组合,以满足不同的需求。

2.1.2

云计算参考架构

图2. NIST提出的云计算参考架构

云计算参考架构,笔者仍然以NIST提出的标准进行解释,这个标准主要确定了云计算中的主要参与者以及对应的功能,下面这张图描述了一个通用架构,其中定义了5个参与者,分别为云消费者,云提供者,云载体,云审计者和云代理。

云提供者是向云消费者提供云服务的个人、组织或实体。他们负责安装、管理和维护云基础设施中的软件应用程序、平台和 IT 基础设施。云消费者是使用云提供者服务的个人或组织。他们在 SaaS 层面使用应用程序,在 PaaS 层面开发、部署和管理托管于云平台中的应用程序,在 IaaS 层面创建、安装、管理和监控作为 IT 基础设施操作的服务。云代理是协调云提供者和云消费者关系的实体。他们的目的是提供更加贴合需求的服务,通过简化和提升服务和契约、集合多重云服务或提供有附加价值的服务器来实现。云审计者是中立评估云服务栈性能和安全性的机构或实体,并保证相应的服务水平协议是完整的。云载体是云服务提供商向云消费者提供云服务时所使用的连接和传输媒介。

2.1.3

共享职责模型

云计算是一种共享技术模式,不同的组织通常会承担实施和管理不同部分的责任。因此,安全职责也由不同的组织分担,云计算自然形成了共享责任模型,清晰的划分出了云提供商和消费者的边界,右边这张图我们可以清晰的看出在IaaS、PaaS、SaaS三个云计算模型中,云提供商和云服务商的责任

图3. 云计算共享责任模型

云服务参与者需要承担相应职责,以确保云安全和合规性。在 SaaS、PaaS 和 IaaS 模式下,云服务提供商、云消费者和云代理等各方的责任范围是不同的。云服务提供商主要负责基本安全、周边安全、日志/监控/审计和应用安全性,而云消费者则需要负责在平台上部署的应用的安全配置。云代理则负责协调云服务提供商和云消费者之间的关系,并提供安全服务等。在云服务全过程中,安全职责是与任何角色对于架构堆栈的控制程度相对应的。

2.2

云计算安全

2.2.1

云化风险分析

我们知道,云计算带来高效、弹性、便捷的同时,新的风险也在增加,但原有的安全问题也并没有消除。由于数据的重要性加上云用户对数据的掌控权丢失,那么如何让用户放心地使用云,就必须解决云计算本身面临的各种安全问题。云计算的风险包括通用风险与具体场景的特有风险。

2.2.1.1

通用风险

云计算平台面临着多种安全风险,包括平台安全风险、虚拟化安全风险、云应用安全风险、数据与隐私泄露风险、法律与合规性风险、制度管理风险等。其中,平台安全风险是云计算平台最普遍存在的风险之一,由于云计算规模庞大,承载各类服务,平台安全风险被利用所造成的后果和破坏性远超传统应用平台。虚拟化安全风险是虚拟化技术所特有的安全风险,包括虚拟化层引入的新安全风险和新的虚拟化特有的安全风险。云应用安全风险需要分析云应用自身的安全风险,包括 API、Web 应用等面临的安全风险,同时还需要考虑整个网络体系的安全,特别是底层计算与网络架构。数据与隐私泄露风险是由于云上数据泄露所引发的风险,其原因是没有对云上的服务、数据访问进行认证授权,或访问凭证暴露在代码仓库、镜像或网站页面中,导致攻击者能够非授权地通过凭证访问云上数据。法律与合规性风险是指云服务商声明的 SLA 协议以及服务内容在法律意义上存在的违反规定的风险,如网络安全法提出的安全保护要求等。制度管理风险是由于云服务商或用户部署、使用、运营云服务的过程中的制度不完备所带来的风险[2]。

2.2.1.2

云计算应用场景安全风险

除了通用安全风险外,笔者认为还存在一些应用场景安全风险[2]:

1. 公有云安全风险

主要为云应用的安全风险与云服务商的安全风险。公有云上应用的主要安全风险有两种:漏洞利用和弱密码爆破。攻击者利用漏洞利用或弱密码爆破入侵部分云主机后,一般利用多种黑客工具进行扩散传播,最终攻击手段为挖矿、勒索、窃密、DDoS攻击完全取决攻击者的喜好和目的。

2. 私有云/行业云安全风险

相比公有云,私有云/行业云因其业务差异大有较大的定制需求,在应对用户业务本身安全问题也是私有云安全重要的一部分。如金融行业云面临欺诈风险,攻击者利用猫池、手机墙,修改手机硬件的模拟器,模仿正常用户的注册、认证、使用等流程从而不正当获利

3. 多云/混合云安全风险

企业将业务部署在公有云上,其安全能力建设重度依赖云服务商,而各云厂商安全能力差异性较大且水平参差不齐,无法直接使用一套安全方案。此外,Gartner分析得出99%以上的云安全事件其根本原因将是最终用户在云上的错误配置,在多云或混合云的场景下,用户无法保证在所有环境中保持统一、正确的安全策略,从而引发数据泄露或被攻击者渗透攻击。

4. 云原生安全风险

云原生可称为云计算的下半场,近年兴起的容器和编排技术凭借其弹性敏捷的特性和活跃强大的社区支持,成为了云原生生态的重要支撑技术。容器化部署形态也在改变云端应用的设计、开发、部署和运行,从而重构云上业务模式。从IT基础设施的视角看,云原生系统底层是容器,其基于操作系统虚拟化技术,跟其他的虚拟化云计算平台一样,存在逃逸和云内横向移动的风险;上层是以微服务为中心的容器编排、服务网格、无服务器计算(Serverless Computing)等系统,其API、业务存在被攻击的风险。此外,从DevOps的视角看,云原生系统所包含的软件供应链(如第三方软件库、容器镜像等、第三方厂商非授权发布软件仓库等)也存在被投毒或恶意攻击的风险;整个开发环节,如CI/CD,也存在被攻击的风险。

5. 5G/MEC安全风险

5G/MEC也是赋能工业生产的重要通信和计算基础设施,它们的底层均是以云计算为支撑技术,例如虚拟化、SDN和NFV等。5G/MEC系统对时延、可靠性和安全性有很高的要求。很多生产业务对延迟有严格要求,如远程塔吊控制信息流的端到端延迟要小于 18ms一方面,5G网元和MEC系统都是基于云计算技术构建的,其存在云计算本身的风险;另一方面,5G/MEC系统还受到泛终端接入、本地安全管理、MEC平台漏洞、攻击企业云、攻击核心网等安全问题的困扰。

2.2.2

云安全体系架构

图4. 云安全体系架构

云计算整体安全体系包括技术架构、安全流程和人员。从技术架构角度,进而可细分为四层,自底向上分别为基础云安全能力、场景化复合云安全能力、云安全框架方法论和架构,以及领域行业级安全解决方案[3]。其中:

基础云安全能力

云领域较基础的安全能力,只应对某单一类型的安全风险,如入侵检测、URL过滤等。

复合云安全能力

即产品级解决方案,为多种基础安全能力的聚合,并且基于业务场景做一些变形,旨在应对某单一场景下的多种安全风险,如Gartner提出CWPP、CSPM等。

云安全框架/方法论/架构

基于业务系统的风险分析和一定方法论,指导如何利用人、流程和技术应对安全风险。

领域/行业级安全解决方案

应对某领域或行业场景集的整体安全解决方案,如:政务云安全解决方案、多云安全解决方案等。以安全框架方法论和架构为理论指引,将人、流程和技术(云基础能力或场景化复合云安全能力)进行有机的结合。

更多相关内容可参考《绿盟科技云安全纲领中》[3]一文,此处不做赘述。

2.2.3

云安全能力发展趋势展望

2.2.3.1

云上攻防

从驱动力的角度看,云计算安全也在发生巨大的变化。当前云计算安全建设的驱动力主要是合规性要求。其中最大的动力是满足等级保护2.0标准中云计算安全的要求,以及相关主管机构所颁布的云计算安全条例,这期间的云计算安全主要是各类安全能力的建设。

然而能力建设只是过程,并非目标。事实上,安全的本质是对抗,安全能力的运营,抵御各类威胁,才是云安全的最终目标。云计算已经得到了广泛应用,可预见国家支持的威胁、大型攻防对抗活动,以及各种网络犯罪会瞄准部署在云计算平台之上的各类服务。

星云实验室提出了高效、沉淀、自动化的理念,从以攻促防的角度结合自研云原生攻防靶场Metarget,实现了攻击技术演进推动防守升级,加速攻击研究、培养对抗技能,加速防御能力验证三个主要目的,靶场方面,Metarget目前已开源,支持云原生核心组件如Docker、containerd、runC、Kubernetes漏洞复现,相关CVE漏洞覆盖面全,Metarget(https://github.com/Metarget/metarget)还于近期入选了CNCF的Sandbox项目。

图5. Metarget入选CNCF Sandbox项目

2.2.3.2

云安全态势与安全能力评估

云安全方案虽然再不断创新,但我们对业务上云是否安全、云环境是否安全、云安全平台是否可靠无从得知,因而笔者认为对应安全评估的能力是迫在眉睫的,目前BAS(入侵与攻击模拟平台)是云安全的一个发展趋势。

图6. 绿盟云原生BAS

星云实验室对此孵化了一款云原生BAS平台,CNBAS,主要目的是对用户的云原生环境以及安全能力项进行评估,利用各种攻击手段发现风险,更侧重于漏洞和情报的利用,攻击的链路组合,最终可以输出安全风险报告,给出安全建议,从而帮用户早于对手发现威胁,规避风险。

2.2.3.3

云上风险发现

从监管部门的角度,对云上风险进行治理,有助于确保重要数据和关键数据不外泄、重要基础设施(包括政府站点服务、智能网联车、工业互联网等)正常运行不造成社会危害,以及避免各类伴生网络攻击和地缘政治冲突,是非常必要的。但云上安全治理在未来一段时间内,涉及到云上资产与风险测绘、梳理云上资产归属,以及相关的治理体系和技术建设,将是一个较为长期、体系化的过程。

从机构的角度,对自身相关的云上风险进行管理和缓解,则是非常必要和可行的。Gartner在云安全框架中将配置和管理面的安全统称为云安全态势管理(Security Posture Management, CSPM) ,其中最重要的是各类云服务对外暴露的管理面服务是否存在错误配置或弱访问凭证等风险。如果再把数据面服务暴露的风险防护加上,即云上的整体暴露的攻击面进行管理,Gartner又把这部分安全技术合称为外部攻击面管理(External Attack Surface Management, EASM) ,并将该技术列入了2022年安全与风险管理趋势中,可见其重要程度,而外部攻击面管理,主要就是持续测绘互联网上各类资产与服务的暴露面,分析其面临的攻击面,特别是在攻击者利用之前,及时发现并缓解潜在的风险。

星云实验室借助测绘技术对云上数据泄露进行风险测绘,从而可以了解具体是“谁”在“哪里”泄露了“多少”,“什么”,以及有什么“后果”,从而实现发现、分析、治理的闭环。

图7. 云上风险发现

2.2.3.4

API与服务类安全

在市场上已存在大量云基础设施安全设备、容器安全产品、云安全解决方案后,可以预见到的是,云应用安全是目前能看到云计算的未来,API作为云应用交互的媒介,其自身的安全必然是需要研究和探索的。星云实验室孵化出了云原生API安全解决方案,主要用于解决云原生环境下资产理不清、链路看不见、滥用防不住、信息会泄漏等问题,实现防护粒度基于每个微服务,并且可对云原生环境下的东西向流量进行威胁防护。

图8. API安全

三. 总结

本文作者根据课程内容,简要介绍了云计算和云安全的基本概念、理论框架以及发展趋势,旨在科普相关知识,帮助更多读者深入了解云计算和云安全。由于文中可能存在错误或不当之处,欢迎读者批评指正,以使得文章更加准确和完善。