云环境风险评估技术*
2022-07-12牛作元张锋军曾梦岐李庆华
牛作元,张锋军,陈 捷,曾梦岐,李庆华,许 杰
(中国电子科技集团公司第三十研究所,四川 成都 610041)
0 引言
随着云计算的快速发展,云环境作为基础设施承载了越来越多的业务系统和用户数据,重要程度日益增加,与此同时,云环境也成为网络攻击的重点目标,如何保障其安全性成为亟待解决的问题。
面对日趋复杂的云安全环境和攻击威胁,单靠基于检测的防御手段在攻击发生后被动响应防护,已无法从根源上解决安全问题。因此,国内外学者纷纷致力于研究主动的网络安全分析与评估方法,主动发现系统中存在的脆弱性,预测可能的攻击行为,评估系统脆弱性被利用后的负面影响,并根据评估结果提出针对性防护措施来主动降低系统的安全风险。
云环境的安全问题可以抽象为攻击者和防御者双方的攻防,是一场攻击者与防御者之间的博弈,在这种博弈关系中,攻击者将采取各种策略攻击云环境的设备、服务、数据,以破坏服务或窃取重要信息,而防御者则需要针对攻击者的行为,制定有效的策略来保证云环境正常运行,保障数据安全。博弈双方都会根据自身对云环境信息的掌握和对方行为的估计来选择自己的行为。正是由于攻防双方策略交互影响、相互制约,所以博弈论将成为网络安全评估中的重要分析工具。
因此,本文将博弈思想引入到云环境的风险评估中[1,2],充分考虑云环境各类攻防策略的动态性和时效性,通过不断的攻防博弈和演化,在智能化模型算法的决策支持下,预测最大攻击意图,实时动态地评估云环境系统整体所面临的风险,选取最优防御策略,提高云环境风险评估的准确性和有效性,从而主动地提高云环境的安全性,保障云环境运行的业务系统和数据的安全可靠。
1 评估架构
云环境风险评估主要是面向云环境的网络、设备、软件、服务、应用、数据、用户等防护对象,先采集各类数据,通过建立评估指标体系、构建评估模型,并通过攻防博弈的方式对指标体系和模型进行动态更新和完善,进而对云环境中的各类风险进行综合评估,生成风险评估结果。
云环境风险评估架构如图1所示。
图1 云环境风险评估架构
1.1 架构组成
云环境风险评估架构主要包括基础环境、攻击模拟、安全防护、数据采集、风险评估等。
基础环境是进行风险评估的主体,也是实施攻防博弈的载体,主要包括云环境中的各类物理设备、虚拟设备、软件系统、应用服务等,是数据采集的主要数据来源。
攻击模拟用于模拟攻击方,提供各类模拟攻击工具,制定攻击策略,对云环境的各类基础设施实施模拟攻击,为风险评估的各类指标体系和模型的完善提供支撑,从而促进云环境的防御体系完善。
安全防护是采用一系列安全防护手段对云环境进行防护,并根据风险评估结果智能生成和选取最优安全防护策略,主动调度各类安全资源,对云环境的基础设施进行安全加固和防护,保障云环境安全可靠运行。
数据采集是整个评估架构的基础,是各类评估数据的来源,通过数据接口、日志分析、流量引接、漏洞扫描等方式获取风险评估所需要的各类原始数据,实现多源数据的采集和汇聚。
风险评估主要是基于用户需求,建立评估指标体系和博弈模型,然后对采集的各类攻防数据进行综合分析,生成风险评估结果,下发给安全防护模块进行后续处理,支撑主动的安全防护。
本文提出的云环境风险评估架构在传统网络风险评估的基础上,引入了攻防博弈,通过实时采集云环境的攻防数据智能调整攻防策略,动态生成风险评估结果,提高风险评估的精准化、自动化水平。一方面,在整个运行过程中,需要及时根据云环境中各类设备的通联关系、脆弱性信息、攻击威胁信息、安全事件信息等对云环境的风险情况进行综合评估,及时掌握云环境的风险情况,生成风险评估报告。另一方面,攻防双方需要根据实时数据采集和探测,做出智能决策,制定相应策略,保障效益最大化,更新完善指标体系和博弈模型,进入新一轮博弈。
1.2 评估流程
云环境风险评估具体流程如下文所述。
(1)建立风险评估指标体系。基于用户需求,综合考虑云环境的安全风险以及实际安全防护要求,形成全面完备的评估指标体系,根据评估内容自适应选取,为攻防收益量化提供支撑。
(2)根据资产信息、漏洞信息、攻击知识库、防御知识库、历史数据信息等,基于评估内容,构建博弈模型。
(3)攻击模拟。攻击方持续刺探云环境的各类数据,或者基于合作方式,获取云环境的相关信息后,根据需要提取目标系统攻击面,穷举攻击面中存在的漏洞,按照漏洞级别,对漏洞进行评估筛选,基于漏洞利用策略,发起模拟攻击。
(4)数据采集。通过多种方式采集云环境的各类资产信息、攻防数据、日志信息等数据,经过初步整理后,上报给风险评估模块进行处理。
(5)风险评估。基于指标体系和博弈模型,对采集的数据进行量化分析处理,求解博弈均衡值,预测最大攻击意图,选取最优防护策略,生成风险评估结果。
(6)风险评估结果生成后,下发给安全防护模块,智能调度安全资源,对云环境中的重大风险进行及时处理,下发到基础设施执行。
(7)云基础设施执行防护策略后,攻防双方的平衡有可能被打破,攻防双方会重新进行新一轮博弈,进入下一轮风险评估过程。
2 云环境安全风险因素分析
由于云计算引入虚拟化、多租户、资源池化管理、数据权限分离等一系列新的特性,因此云计算环境除了具有传统信息系统的安全风险,还面临一系列新的安全风险,包括虚拟化安全风险、资源共享与边界模糊的安全风险、用户数据与所有权分离的安全风险[3]。
目前,大部分网络安全分析主要包括网络脆弱性分析、网络攻击风险分析,但在实际的网络环境中,对攻击起抑制作用的防御因素也是网络安全分析的一个重要方面。因此,在云环境中,系统安全风险的因素主要包括防护对象、防护对象的脆弱性、攻击方的攻击威胁以及防御方的安全防护能力[4],具体如图2所示。
图2 云环境安全风险因素
2.1 防护对象
在进行安全风险评估过程中,云环境中的基础资产信息,以及防护对象之间的物理承载关系、通信互联关系、业务访问关系等都是进行风险分析的基础,无论是防御方进行安全防护,还是攻击方进行信息刺探,均是在此基础上进行的。
云环境的防护对象涵盖了设备(网络设备、存储设备、计算设备、终端、虚拟机、容器等)、软件(操作系统、虚拟机软件、中间件、数据库等)、服务(通用服务、云服务、应用服务)、应用(Web应用、应用系统等)、数据(日志、应用数据、文件等)以及用户(各类用户以及相应的权限等)。
在进行云安全风险分析的时候,首先,需要全面梳理掌握信息资产基础态势,包括资产类型、数量、IP地址、开放端口、联网状态、资产通联关系、业务访问关系等;其次,在众多的防护对象中,防护对象的位置、功能等决定了防护对象的重要程度不同,资产越重要,一旦出现安全风险,影响程度就越大。因此,在进行风险评估的时候,需要根据资产之间的通联关系,着重考虑重要程度高的资产。
2.2 防护对象的脆弱性
防护对象的脆弱性包括防护对象的各类漏洞、设计缺陷、管理问题等。攻击者可以利用系统中存在的脆弱性达到自己的目的,如获取系统权限以及用户重要信息或者使目标系统瘫痪等。
因此,在进行云环境安全风险评估时,需要通过多种手段,如漏洞扫描工具扫描、已公开漏洞整理、业务流程分析等,对云环境中所有资产的漏洞情况尽可能梳理,构建漏洞指纹库。一方面,需要利用漏洞库对当前系统的漏洞进行及时封堵,提前避免漏洞利用的可能性;另一方面,分析挖掘目标信息系统脆弱点以及用户行为特征和关系,整理信息系统漏洞,综合漏洞利用难易程度、漏洞威胁程度等原则,对存在的漏洞进行筛选,预测被利用可能性最大、危害程度最高的漏洞,做到知己知彼,提前做好防护预案。
2.3 攻击方的攻击威胁
攻击方利用攻击工具和防护对象的脆弱性对云环境进行攻击,从而获得相应的收益,攻击包括历史攻击、正在进行的攻击以及可能的攻击。
通过分析与系统相关的入侵检测日志、防火墙日志、安全事件历史记录等对各种类型的攻击信息进行学习,建立攻击知识库,尽可能掌握各种攻击的特征知识,如攻击目的、攻击方式、攻击对象、攻击利用的漏洞、攻击难易程度、攻击影响程度、多步攻击间的顺序和关系等,进而根据采集的各类信息预测攻击方对云环境发起攻击的可能性、攻击成功的概率以及攻击威胁的破坏程度,从而为提前采取防御措施提供相应支撑。
2.4 防御方的安全防护能力
基于防护对象的脆弱性,防御方会综合利用各种防护手段对防护对象进行全方位防护,减小云环境的安全风险,包括各种防护装备的使用,如防火墙、云监管、身份认证、加密设备等,以及通过管理手段,制定各种规章制度和流程,规范各种操作,减少误操作或违规操作的风险,如定期打补丁、减少弱口令、安全配置合规性等。
防御方的防护设备和防护策略会制约攻击方对攻击手段和攻击策略的选择,也是攻防双方进行博弈的关键,因此,防御方的安全防护能力是进行云环境风险评估必须考虑的重要因素。
3 风险分析关键技术
3.1 多源数据采集
多源数据采集是进行云环境风险评估的基础,在云环境中,存在许多与安全风险相关的数据,包括各类资产、资产的关联关系、资产的各类漏洞、安全防护设备、安全日志、安全事件、安全配置、攻击数据等。一方面,这些数据存在于不同的设备中,采集的方式不同;另一方面,为了使用上述数据进行风险分析,需对多源异构数据建立统一数据模型,对数据进行预处理。
在数据采集方式方面,将统筹利用应用程序编程接口(Application Programming Interface,API)、数据代理、日志分析、流量引接、漏洞扫描等方式采集各种数据。
在数据模型方面,基于云环境的各类攻防博弈相关的业务及需求、被管资源、资源配置信息、资源运行信息、态势数据、攻击数据、安全策略等海量历史和实时数据建立以用户、服务、资源为核心的统一的信息模型。其中,用户包括攻击者、防御者、云租户等。服务主要描述用户和业务需求的相关数据,直接对用户可用,包括各类云服务、攻击服务、防御服务。资源主要用于组网要素的描述,方便云管理人员在屏蔽具体设备细节的情况下,从全局上对云环境网络组织方式和组网质量进行清晰描述,包括资源配置、资源安全等数据模型。资源域模型设计的思路是利用物理资源模型来描述系统中的各种物理可见实体及其相互关系,以纯物理角度进行描述,包括各类网络设备、计算设备、存储设备、虚拟机、安全设备、攻击设备等硬件设备,以及操作系统、数据库、中间件、虚拟机软件、云管理平台、业务系统等软件。利用逻辑资源模型来描述系统及系统中看不见、摸不着的实体及其相互关系,以纯逻辑角度进行描述,如IP地址、端口等,再用复合资源将物理资源和相应的逻辑资源结合为一个整体来行使功能。复合资源是真正能行使功能的资源,物理资源和逻辑资源都是从不同角度来描述复合资源,从而形成系统资源清晰而完整的视图。
3.2 威胁识别
随着攻击技术的演变,越来越多的复杂和组合式攻击模式出现,这些攻击行为结合了多种复杂攻击手段并具有多阶段性的特征,在这种情况下,攻击者大部分是通过一系列攻击步骤实现其攻击目标,攻击步骤的时空顺序和跨度与攻击者的技术水平、弱点利用类型、先验知识、攻击位置等因素相关,因此需要精确识别攻击行为模式,建立攻击行为与漏洞的关联关系,准确把握在不同攻击场景中网络可能面临的最大风险。
在云环境的攻防博弈过程中,对于云环境中的各类攻击识别,可以分为两步,即攻击检测和攻击识别。攻击检测用于从数据流中检测出攻击事件,对数据流进行初步过滤。攻击识别则是对攻击事件进一步识别,确定攻击类型。
在确定攻击类型前,首先需要梳理云环境中已知的可利用漏洞和常见攻击的攻击特征,构建标准化的攻击分类知识库,统一按照对抗战术、技术和常识框架(Adversarial Tactics,Techniques,and Common Knowledge,ATT&CK),建立攻防知识图谱模型,从而对攻击进行响应处置。
对于典型的、常见的单步攻击,通过攻击特征即可快速定位和处理,而对于复杂组合攻击,则需要通过机器学习等方式自动学习攻击步骤之间的关联关系,建立攻击行为模型,进一步对攻击的目标、威胁程度、漏洞利用等进行关联分析,从而为后续的风险评估建议提供支撑。
3.3 评估模型构建
云环境中攻防对抗的本质是攻防双方不断利用脆弱性知识进行的对抗,攻击者的目标是通过各种手段发现云环境的漏洞并利用其发动攻击,以期对云环境的服务、数据、应用等造成最大危害,而防御者的目标就是尽最大努力去发现和修补漏洞以免遭受攻击或减轻损失。在上述过程中,攻防双方在同一防护对象上实施攻防策略,同时必须考虑对方策略的影响。因此,为了准确体现云环境的安全状况,针对云环境的安全建模应该从攻防双方的角度分析,不仅要考虑传统攻击图中攻击动作和系统状态变化情况[5,6],还需要从防御者角度,将各个攻击动作相应的防御策略及其攻防策略成本估计等信息纳入,从而更加准确全面地体现云环境安全的攻防本质。
根据安全风险评估的目的,云平台攻防博弈可以分为两种情况:一种是通过模拟攻击对云环境的安全状况进行优化,此时攻防双方信息共享,攻击者和防御者之间的博弈关系是合作、动态、完全信息的;另一种情况是针对恶意攻击者发起的真实攻击,此时攻防双方信息不对称,而且由于攻防双方在采取各自的行动之前并不知道对方所采取的行为,因此攻击者和防御者之间的博弈关系是非合作、动态、不完全信息的。因此,需要根据不同的应用场景,建立不同的动态博弈模型,描述攻击和防御之间的关系和行为,进行攻击策略预测和防御策略决策。
在具体的研究中,首先通过攻防双方达到纳什均衡时的状态,找出攻击者的最大攻击意图和攻击策略;其次,假设系统在遭受最大攻击意图的攻击情况下,对云环境的系统进行风险评估,得出系统风险评估值,以此确定系统的可能风险。通过上述两步,缩小了攻击方式和风险范围,最后,再一次对攻防双方进行博弈,通过纳什均衡选取最优防御策略,给出相对精准化的安全处置建议,供管理人员在攻击发生之前进行风险处理,从而减少系统安全风险,提升主动防御能力。
此外,随着攻防手段和技术的发展,攻防形势将随之不断变化,因此,任何一方采用了新的技术和方法,均有可能打破攻防平衡,使整个系统进入下一轮攻防双方博弈。
4 结语
本文基于博弈思想研究了云环境风险评估,提出了云环境风险评估的评估架构和评估流程,并通过建立不同应用场景下的动态博弈模型,帮助用户预先识别网络系统脆弱性以及所面临的潜在安全威胁,根据安全需求预测最大攻击意图,选取符合最优成本效应的主动安全防御策略,可有效提高安全风险评估的精准性和防御策略的有效性,从而避免危险事件的发生及其对系统的损害,增强云环境主动防御能力。