一种基于软件定义安全和云取证趋势分析的云取证方法

2019-10-21 05:44刘雪花丁丽萍刘文懋李彦峰吴敬征
计算机研究与发展 2019年10期
关键词:日志定义趋势

刘雪花 丁丽萍 刘文懋 郑 涛 李彦峰 吴敬征

1(中国科学院软件研究所并行软件与计算科学实验室 北京 100190) 2(中国科学院大学计算机科学与技术学院 北京 100049) 3(广州中国科学院软件应用技术研究所电子数据取证实验室 广州 511458) 4(广东中科实数科技有限公司 广州 511458) 5(北京神州绿盟信息安全科技股份有限公司 北京 100089) 6(中国联合网络通信有限公司 北京 100033) 7(中国科学院软件研究所智能软件研究中心 北京 100190)

随着云计算的发展与普及,云计算环境下的安全问题日益突出.国家互联网应急中心发布的《2018我国互联网网络安全态势综述》[1]中提到云计算平台成为发生网络攻击的重灾区,云计算平台上的分布式拒绝服务攻击(distributed denial of service, DDoS)次数、被植入后门的网站数量、被篡改网站数量在各类型网络安全事件中占比均超过50%.国内主流云计算平台上承载的恶意程序、木马和僵尸网络在境内互联网上占比超过50%,可见目前国内云计算平台上的安全形势异常严峻,云安全问题成为阻碍云计算发展的关键因素.然而,无论事前防护做得多么完备,云安全问题都不可能杜绝,为了维护云服务提供商、云用户的正当权益,威胁打击云计算环境下各类违法犯罪活动,除了常见的安全防护手段,更需要云取证技术手段来进行事后追责和惩治.

电子数据取证是指科学地运用提取和证明方法,对于从电子数据源提取的电子证据进行保护、收集、验证、鉴定、分析、解释、存档和出示,以有助于进一步的犯罪事件重构或者帮助识别某些与计划操作无关的非授权性活动[2].云取证是对云计算环境中各类违反犯罪活动进行电子数据取证的过程,是电子数据取证技术在云计算环境这样一个特定的场景下的应用[3],云取证可以细分为网络取证、云计算平台取证和云终端取证.网络取证是抓取、记录和分析网络事件以发现安全攻击或安全事件的来源,网络取证的目的是保护用户和资源、防范因网络连接和数据传输而产生的被非法利用、入侵以及其他犯罪行为[4].云计算平台取证按照云服务模式可分为基础设施即服务(infrastructure as a service, IaaS)取证、平台即服务(platform as a service, PaaS)取证和软件即服务(software as a service, SaaS)取证,主要是对被攻击的云用户系统所在虚拟机进行取证,目的是维护云服务提供商、云用户的正当权益,威胁打击云计算环境下各类违法犯罪活动.云终端取证是对云用户客户端的取证,客户端存有一些缓存数据和离线数据,这些数据也有助于案情分析,一般作为云取证的一种补充手段,目的是尽可能多地提取涉案电子证据.本文从云服务商的角度出发,在下文中提及的云取证主要涉及云网络取证和云计算平台取证.总之,云取证需要云网络取证与云计算平台取证相结合才能最大限度地保证电子证据的完整性.

云取证技术发展尚不完善,云取证技术面临诸多难题:

1) 云计算环境中80%的网络流量是云计算环境内部的东西向流量,部署在外部交换机上的网络取证设备无法捕获东西向流量,导致网络取证设备提取的电子数据不完整.

2) 云计算环境下数据采用分布式存储,数据可能分散存储于不同的物理数据中心,而这些数据中心可能位于不同的司法管辖范围内,这种情况下针对物理设备的事后取证方法面临数据定位和提取困难[5].

3) 虚拟化技术会频繁的回收和再分配各类资源,导致云计算平台中的数据成为易失性数据,一旦被释放回收,将难以恢复,导致传统事后取证方法提取的电子数据不完整[5].

4) 由于云计算中资源的所有权、管理权和使用权的分离使得云用户失去了对物理资源的直接控制,这其中也包括对网络环境的控制与访问,导致云用户无法在网络层进行取证[5].

5) 云计算环境的证据提取技术智能化程度较低,大多靠手动取证,人力成本大、效率低下,使得云取证技术在实际应用中更加困难.

可以看出,云计算环境为取证带来的难题主要来自数据获取和取证效率等方面.本文针对这些难题,提出一种基于软件定义安全和云取证趋势分析的智能云取证方法,主要贡献有4个方面:

1) 提出基于软件定义安全的云取证架构(soft-ware defined security based cloud forensics frame-work, SDS-CF),借鉴软件定义安全的分层理念,将取证分为数据层、控制层与应用层.一方面通过分层实现入侵检测和云取证等安全服务的集中管理,在此基础上实现云网络与云计算平台的协同实时取证,在安全事件发生的第一时间进行在线电子证据提取、保全与存证,从而有效规避事后取证方法面临的种种难题.一方面通过对软件定义网络(software defined network, SDN)网络控制器的引流控制,实现云网络东西向流量的取证.一方面通过分层实现可定制化云网络取证服务,满足云用户网络取证需求.

2) 提出了云取证趋势的概念并进行形式化定义,云取证趋势是指在云网络环境中获取并理解云网络安全事件告警信息,从而实时预测云取证趋势,为实现智能云取证提供了理论支持.

3) 提出了基于隐Markov模型(hidden Markov model, HMM)的云取证趋势分析算法和基于改进告警质量的入侵检测系统(intrusion detection system, IDS)告警选择算法,将该算法运用于SDS-CF中进行取证策略智能决策和取证资源智能调度,实现智能云取证.同时,为了对取证趋势分析算法的效果进行量化评估,提出了取证能力和取证开销2个指标.

4) 在仿真云计算平台上基于林肯实验室的经典数据集LLDOS1.0进行取证实验,通过实验结果证明基于软件定义安全和云取证趋势分析的智能云取证方法取证能力相比单独的网络取证或者云计算平台取证提高至91.6%,取证开销则介于两者之间,在取证能力与取证开销之间取得较好平衡.该方法对云服务商提供云取证服务具有广泛的借鉴意义.

1 相关工作

本文从云服务商的角度出发,云取证主要涉及网络取证和云计算平台取证.本节将对这2方面的工作进行概述.

网络取证技术出现在云计算以前,研究相对比较成熟,提出的研究方法也很多,文献[6-7]中均有较为详细的综述.其中与本文相关的研究工作包括基于入侵检测的网络取证技术研究和网络攻击溯源取证技术研究.

在进行网络取证时,何时触发取证系统进行数据的提取非常关键,决定网络取证是否满足电子证据的完整性.为此,网络取证常与网络监控相结合,其中又以入侵检测告警为主要的取证判断依据[8].此外,入侵检测告警本身也是网络取证分析的对象;文献[9]提出基于入侵检测的网络取证方法,该方法基于静态分析和动态分析相结合的多维取证分析,对提取到的网络日志进行分析,从而识别出数据包中的恶意行为;文献[10]提出基于统一威胁管理和入侵检测探针的协同网络安全管理系统,将多个子网探针的入侵检测告警数据汇集起来进行取证分析,能有效地检出僵尸网络和DDoS攻击并进行取证分析;文献[11]提出了一个入侵检测分析架构和一个概率推理机制,通过这个推理机制对入侵检测告警进行解释,并自动生成最大似然取证分析报告.

识别攻击数据包源头的过程叫做溯源,又叫IP地址溯源,溯源取证对DDoS攻击、IP spoofing攻击和僵尸网络的取证分析非常有效[12-14];早期溯源取证多基于网络数据包标记[15-17]或者网络设备日志分析[18],溯源分析效率较低;而随着SDN网络的流行[19],为溯源取证提供了极大的便利,因为SDN网络控制器可以作为一个观测点给出网络流的全局图[20];因此很多学者基于SDN网络提出了新的网络取证分析方法,文献[21]提出了一个基于SDN网络的有向图模型,通过该图模型能检测一条异常流在该SDN网络中的入口点,也就是第一步路由,且不用监控IP地址就能找到和攻击相关的所有的流,该模型提高了SDN网络的溯源取证效率;文献[22]提出在SDN网络增加一个取证管理层(forensics manage layer, FML),通过FML对SDN网络中的各种攻击进行实时分析和取证,从而降低SDN控制器的分析负载;文献[23]则提出一种SDN网络环境下的支持反取证的攻击模型,该攻击模型基于SDNMap扫描器实现,能够在不知道SDN控制器信息和网络结构的前提下还原流规则和网络策略,并通过这些信息构造巧妙的攻击流绕过访问控制列表(access control list, ACL)机制和取证设备.

云计算平台取证技术是随着云计算的发展而发展[24-25].其中与本文相关的研究包括云取证框架的研究和云计算平台日志取证研究.

Ruan等人[26]在全球范围发起了一项关于云取证关键问题的调查,基于257位电子数据取证专家的问卷调查,超过八成的专家认为云取证领域最主要的研究方向是设计云取证模型.文献[27-28]围绕基于不同云服务模式的云取证模型研究进行了综述.文献[29]提出一种IaaS云服务模型下的取证框架ICFF (IaaS cloud forensics framework),通过在虚拟机中安装轻量取证代理进行电子证据的提取,并设计取证虚拟机用于证据存储、保全和分析,保障证据数据的完整性及机密性;文献[30]提出在IaaS模式下通过虚拟机自省进行可疑行为发现和取证分析,具体使用到Swap分区分析,连续交付模式下的数据窥探、终止进程分析等技术;文献[31]提出一种基于隐藏事件触发机制的内存取证方法 ForenHD,该方法也是利用虚拟机自省技术来监视虚拟机中的内核对象,当发现了隐藏对象时则出发取证机制,提取代码段等信息.

基于云计算平台日志分析的方法依然是目前最主流的云计算平台取证分析方法.文献[32]分析了目前主流的云计算平台日志分析方法,得出主要难点是云日志的获取、云日志的选择、云日志数据的完整性和可信性问题,而且云日志取证分析依赖于云服务提供商;文献[33]提出一种Secure-Logging-as-a-Service的云取证服务,通过实时存储虚拟机日志以保证日志的可靠性,并作为一种取证服务向司法鉴定人员开放;文献[32]为了保护云用户日志的可靠性和隐私性,提供一种取证模型CLASS(cloud log assuring soundness and secrecy scheme),在实时提取云用户日志的同时通过云用户公钥来加密云用户日志,使得云用户的隐私得到保护,且采用PPL(proof of past log)算法来保护日志的完整性.

虽然网络取证和云计算平台取证的相关研究工作比较丰富,但是网络取证方面针对云网络环境的取证研究较少,缺乏东西流量的网络取证方法,云计算平台取证方面,针对智能取证的研究较少.且在实际工作中我们发现将网络取证与云计算平台取证分离开来,一方面会损失掉一些潜在的证据信息,不利于整个网络犯罪过程的重建;另一方面取证开销较大,不利于实时取证.

本文提出一种基于软件定义安全和云取证趋势分析的智能云取证方法,一方面,通过借鉴软件定义安全的分层理念实现云网络与云计算平台协同实时取证;另一方面,基于隐Markov模型的云取证趋势分析算法实现智能云取证,该方法在取证能力与取证开销之间取得较好平衡,该方法为解决目前云取证面临的电子证据不完整、取证开销较大、取证过程智能化不足等挑战提供了一种思路.

2 基于软件定义安全的云取证架构

本节提出了基于软件定义安全的云取证架构(software defined security based cloud forensics framework, SDS-CF),介绍了软件定义安全理念,分析了SDS-CF的3层架构,总结了SDS-CF主要特点,并进一步分析了取证管理模块工作流程.

2.1 软件定义安全

Fig. 1 The SDS framework图1 SDS架构图

软件定义安全(software defined security, SDS)[34]这一理念从软件定义网络[35]引申而来,其架构如图1所示,通过安全数据层与控制层分离,将各类网络安全设备的接入模式、部署方式、实现功能进行解耦.在数据层为各类安全设备定义标准的接口,屏蔽各个厂商同类安全设备的差异性,使得在控制层能够对安全设备进行统一的管理和编程.应用层支持对安全设备业务进行软件编程,从而实现智能化、自动化的安全业务编排和管理,以定制较为复杂的自动化的安全服务链.

文献[34,36]总结了软件定义安全架构的3个核心特征:

1) 自动化和智能化.软件定义安全架构将控制和管理进行抽象并集中在控制层上,从而实现安全设备业务的可编程.

2) 开放API.安全设备提供开放的API接口打破了不同厂商安全设备互不兼容的局限,能有效增强不同安全设备厂商、不同安全设备之间的协作性.

3) 安全服务的编排.通过把原本相互独立的、单一的安全服务进行有效的编程组合,编排成一系列安全服务链,实现自动安全运维.

Fig. 2 The hierarchy graph of SDS-CF图2 SDS-CF层次图

软件定义安全契合了云取证的部分需求:控制层与数据层的分离,一方面使得数据能快速聚合提高云取证的自动化程度;另一方面取证本身也可以作为安全服务的一种通过控制层的统一封装为用户提供定制取证服务;再一方面可以参与到安全服务的编排中,实现检测、应急响应与取证的安全全生命周期服务链.

但软件定义安全架构有存在一些局限:一方面该架构接入防护对象网络,只能提供网络流量的取证服务,无法提供云计算平台的取证能力;另一方面该机制无法满足电子证据可采性规则.

2.2 SDS-CF的3层架构

软件定义安全理念一定程度上契合了云取证的需求,但无法完全满足云取证的需求.为此我们借鉴软件定义安全理念,结合网络取证技术、虚拟机取证技术、区块链存证技术等提出云取证架构SDS-CF.

SDS-CF遵循软件定义安全的层次结构,从下往上分为数据层、控制层和应用层,如图2中虚线框内所示:

1) 数据层也称为基础设施层,在这一层,各种安全设备被抽象出来,并通过接口供控制层面灵活调度,网络取证设备和其他安全设备被池化以提供基本的安全服务,网络取证设备可根据具体业务动态调整服务能力,以满足不同取证场景的需求.数据层和控制层通过接口交互取证任务和网络数据流等信息.

2) 控制层是该架构的核心,主要负责取证管理、安全设备管理、各类安全策略决策和执行.一方面与云计算平台对接,通过取证管理模块控制云计算平台中的取证服务代理[29]协同执行取证任务;另一方面负责与SDN网络控制器对接,获取全局流信息用于攻击溯源,并能控制网络流量,将云计算环境中南北向流量和东西向流量镜像至网络取证设备.一方面通过网络与区块链存证平台连接,将实时提取的电子数据的五要素(取证的时间、取证的地点、电子数据的Hash值、取证设备编号、取证人员)存至存证平台,利用区块链技术[37]保障云取证的真实性.

3) 应用层将取证服务抽象成服务单元,可根据云用户需求提供定制的云网络取证服务.应用层还可将取证服务加入安全服务链编排[38],实现云计算环境下检测、应急响应与取证的安全全生命周期服务链.

2.3 SDS-CF的特征

通过SDS-CF的3层架构概述总结出该架构有3个特征:

1) 支持云网络与云计算平台实时协同取证.一方面通过分层实现入侵检测和云取证等安全服务的集中管理,在此基础上实现云网络与云计算平台的协同实时取证,在安全事件发生的第一时间进行在线电子证据提取、保全与存证,从而有效规避事后取证方法面临的种种难题.

2) 支持云计算环境内东西向流量取证.通过对SDN网络控制器的引流控制,实现云网络东西向流量的取证.

3) 满足电子证据可采性规则,要求取证满足真实性、相关性与和合法性.该架构通过云网络与云计算平台的实时协同取证能提取完整的相关电子证据,满足取证相关性;该架构基于区块链存证平台实现电子证据的实数存证,满足云取证的真实性,并为日后出具的司法鉴定报告的合法性提供支撑.

2.4 云取证管理模块工作流程

SDS-CF最核心的是取证管理模块.其取证管理工作流程大致如图3所示:

Fig. 3 The workflow of cloud forensics of SDS-CF图3 SDS-CF的云取证工作流程图

取证管理流程大致包括3个部分:

1) 云取证服务的触发

云取证服务可以由云用户发起,也可以由入侵检测告警自动触发.由云用户主动发起的取证服务往往已经设置好取证各项参数,通过解析之后进入取证环节.而入侵检测告警触发的自动取证流程则要复杂得多,因IDS具有告警频繁、数量庞大和误报率高等特征,需要通过下文将提出的云取证趋势分析阶段来分析云取证状态和预测云取证趋势,根据不都能通过的取证状态出发取证服务.

2) 云取证策略制定与取证资源调度

根据云取证趋势分析算法进行取证策略智能决和取证资源智能调度,以提高取证准确度和降低取证开销.

3) 电子数据的提取与保全

网络取证设备和云计算平台取证代理根据取证策略进行电子数据提提取,并实时生成电子证据五要素(取证的时间、取证的地点、电子证据的Hash值、取证设备编号、取证人员)提交至区块链存证云进行保全.

3 基于HMM的云取证趋势分析算法与应用

为了实现智能云取证,提高云取证效率.本节提出云取证趋势概念,基于隐Markov模型进行云取证趋势形式化定义,并提出云取证趋势分析算法.为了对取证趋势分析算法中的观测序列选择进行优化,提出基于改进告警质量的IDS告警选择算法.通过将云取证趋势分析算法应用于第2节中提出的SDS-CF架构实现智能取证.同时,为了对该算法的效果进行评估,本节提出取证能力和取证开销2个量化评估指标.

3.1 基于HMM的云取证趋势形式化定义

云取证趋势是指在云网络环境中获取并理解云网络安全事件告警信息,从而实时预测云取证趋势.云取证趋势被SDS-CF用于取证策略智能决策和取证资源智能调度.

隐Markov模型[39]是一种统计分析模型,能用来描述一个双重随机过程,它具有一定状态数的隐Markov链和显示随机函数集.它的状态不能直接观察到,但能通过观测序列观察到,每个观测序列都是通过某些概率密度分布表现为各种状态,每一个观测序列是由一个具有相应概率密度分布的状态序列产生[40].云取证趋势是由云网络攻击驱动的取证需求的累积,取证趋势的计算来源于对网络攻击的行为的观测,因此本文提出基于HMM的云取证趋势分析模型.相关定义为:

定义1.云取证状态.云取证状态由集合S表示:

S={s1,s2,s3,s4},

(1)

其中,s1表示不取证状态;s2表示网络取证状态,此状态下将对网络设备日志进行提取;s3表示协同实时取证状态,此状态下将对网络设备日志、网络流量镜像、云计算平台日志、虚拟机日志进行提取;s4表示全量取证状态,此状态下将对网络设备日志、网络流量镜像、云计算平台日志、虚拟机镜像进行提取.

定义2.云网络安全事件.云网络安全事件由集合V表示:

V={v1,v2,v3,v4},

(2)

其中,v1表示无安全事件;v2表示扫描类安全事件,包括DDoS攻击;v3表示入侵类安全事件;v4表示提权类安全事件.

定义3.云取证状态概率模型.云取证状态概率由隐Markov模型表示:

λ=(S,V,P,Q,π),

(3)

其中,λt(i)表示在时刻t时云取证状态为si的概率;S为云取证状态集合空间,取值范围见定义1;V为观测序列集合空间,表示观测到的安全事件的样本空间,取值范围见定义2;P为不同云取证状态转移概率矩阵,P=(pij),

pij=prop(qt+1=Sj|qt=Si),1≤i,j≤N,

(4)

其中,pij表示在时刻t时云取证状态处于si状态且在时刻t+1云取证状态处于sj的概率;Q为观测序列的概率分布矩阵,Q=(qij),

qij=prop(o=vj|qt=si),1≤i≤N,1≤j≤M,(5)

其中,qij表示时刻t云取证状态为si且观测到的安全事件为vj的概率;π为初始状态概率分布矩阵,π=(πi),

πi=prop(q1=si),1≤i≤N,

(6)

其中,πi表示在时刻t=1时云取证状态为si的概率.

定义4.观测序列.观测序列由集合O表示,指网络安全设备在评估时间段T内输出的告警信息按定义2进行归类后构成的告警序列,表示形式为

O={o1,o2,…,on},

(7)

其中,oi表示在时刻ti观测到的安全事件,oi∈V,T={t1,t2,…,tn}.

定义5.云取证趋势.云取证趋势由γt表示,指在时刻t时观测到告警序列O={o1,o2,…,ot},预测当前的云取证趋势:

(8)

其中,1≤i≤N,C(i)表示云取证状态si下的取证代价系数.本文中C(i)以取证存储开销为依据制定.因不同取证状态的取证数据范围不同,对应的取证计算开销和存储开销也不同.在云取证实务中存储开销是最为关键的指标之一,取证代价系数C(i)以取证存储开销为依据,通过大量真实取证案例统计得出,将在实验环节进一步分析.

3.2 云取证趋势分析算法

为了计算在时刻t的云网络取证趋势γt,主要采用经典的前向算法[40].

1) 确定观测序列O和模型参数λ=(S,V,P,Q,π).

2) 计算在时刻t且云取证状态为si时的概率λt(i),计算过程示意图如图4所示.

Fig. 4 The schematic diagram of forward algorithm图4 前向算法示意图

在时刻t时各云取证状态的概率λt(i)计算为

(9)

其中,1≤i,j≤N,N是状态数目;当t=1时,qi(o1)=πi.

3) 计算在时刻t的云取证趋势γt,计算方法见式(8).

3.3 基于改进告警质量的告警选择算法

云取证状态概率模型中的观测序列采用IDS告警,通过云取证趋势分析算法可知,观测序列的质量对云取证趋势分析算法的准确度至关重要[41].而入侵检测系统往往会产生海量的告警,且误报率较高.为了能从海量的告警中提取出高质量的报警信息,本文从取证的角度出发提出改进的告警质量算法(revised quality of alert, rQoA)进行告警的筛选.告警质量算法(quality of alert, QoA)[42]是从安全态势分析的角度出发,对Snort原始告警信息分段处理,在每个片段内依据告警出现的频率(alert frequency,AlF)、告警关键程度(alert criticality,AlC)和告警严重程度(alert severity,AlS)对告警信息进行综合评估,并从中选取质量最高的告警作为该片段的观测序列.然而在取证实务中更注重事件的关联性,QoA算法可能导致一些告警质量不高的关联事件告警的遗漏从而影响取证趋势的判断.为此本文提出的rQoA算法引入告警关联性影响因子(alert relevancy,AlR)来替换AlC这一维度,能有效地将关联事件筛选出来.

为了计算AlR,从源IP地址相关性、目的IP地址相关性、告警IP链相关性、反告警IP链相关性、源端口相关性、目的端口相关性、时间相关性、告警类型相关性8个维度进行计算,并对每个相关性赋予不同的权重,取值参考文献[43].

在时刻t时,观测序列οt的告警关联性影响因子φ(οt):

(10)

其中,fj(ot,ot-i)表示事件ot和ot-i的属性j的关联度,σj表示属性j关联度的权重,M表示关联属性的个数,从上文可知M=8,N表示往回对比的观测序列的维度,此处N=3,也就是对比最近连续3件告警事件的关联度.

为了统一到值域[1,3],进行离差标准化的反函数进行处理:

AlR=φ(οt)(max-min)+min.

(11)

最后计算告警质量:

(12)

3.4 云取证趋势分析算法在SDS-CF中的应用

云取证趋势分析算法作为SDS-CF进行取证管理模块的核心算法,主要用于取证策略智能决策与取证资源智能调度.通过对云取证状态的持续分析,SDS-CF能实现动态地调整取证策略和调度取证资源,从而实现智能的云取证服务.

其工作原理与评估指标为:

1) 取证策略智能决策

SDS-CF控制器中的取证管理模块根据IDS告警信息持续分析云计算环境所处的取证状态,根据当前所处的云取证状态S进行取证策略决策,并根据状态变化动态调整取证策略.

定义6.取证策略.取证策略由矩阵D表示:

D={d1,d2,d3,d4},

(13)

其中,di表示当云取证状态为si时的取证策略,由五元组表示,表示形式:

di=(f1,f2,f3,f4,f5),

(14)

其中,f1表示网络日志;f2表示网络流量;f3表示云计算平台日志;f4表示虚拟机日志;f5表示虚拟机镜像.其取证范围为{0,1},当fi=0时表示不对该数据源进行取证,当fi=1时表示需要对该数据源进行取证.

依据定义1,提出云取证策略D取值:

(15)

对应的云取证策略智能决策过程为:

在时刻t,根据云取证状态概率模型计算得出:

当云取证状态最大概率处于s1时,采取取证策略为d1;

当云取证状态最大概率处于s2时,采取取证策略为d2;

当云取证状态最大概率处于s3时,采取取证策略为d3;

当云取证状态最大概率处于s4时,采取取证策略为d4.

2) 取证资源智能调度

SDS-CF控制器中的取证管理模块通过云取证趋势分析实时预测取证开销,从而依据取证开销调度合适的取证资源.依据3.2节算法描述可知,可根据不同的资源开销来计算云取证趋势,而本文主要从存储资源开销的角度进行分析,因此SDS-CF的设备管理模块也以存储能力对安全资源池中的网络取证设备进行管理,并通过取证趋势分析结果在网络取证设备资源池中调度满足取证存储需求的网络取证设备实现取证资源的智能调度.

3.5 取证能力指标与取证开销指标

为了对云取证趋势分析算法的效果进行评估,针对取证策略决策的效果和取证资源调度的效果分别提出取证能力和取证开销评估指标.

定义7.取证能力.取证能力(capacity of forensics,CoF)指在观测时间段T内采用的取证策略能覆盖所有安全事件相关的电子数据的概率.

根据定义6可得:不同云取证状态下的取证策略的包含关系为d1⊂d2⊂d3⊂d4,则随着云取证状态的递增,其取证能力是累加的.

(16)

其中,1≤i≤imax,1≤t≤T,T表示观测时长,λt(i)见定义3,imax表示在时刻t时概率最大的云取证状态为simax.

定义8.取证开销.取证开销(overhead of forensics,OoF)指在观测时间段T内的取证存储资源开销,且随着取证代价系数的变化而变化.计算为

(17)

其中,1≤t≤T,T表示观测时长,γt取值见定义5.

4 实验与结果

4.1 实验设计与实验环境

为了对本文提出的基于软件定义安全和云取证趋势分析的智能云取证方法进行验证,涉及2项实验:第1项实验为SDS-CF云取证流程验证实验;第2项实验为云取证趋势分析算法效果对比实验.实现在仿真云计算平台上基于林肯实验室的经典数据集LLDOS1.0的进行云取证实验.LLDOS1.0是一个DDoS攻击场景的测试数据集,以离线的网络流量包形式提供.基于LLDOS1.0的网络流浪包构建一个仿真的云计算环境测试环境,在云计算平台中启动3台虚拟机并配置成受害者IP,并将流量包在仿真环境中重放以模拟对仿真云计算平台的攻击.

4.2 云取证状态概率模型构建

1) 观测序列O的选取

基于3.3节提出的基于改进告警质量的IDS告警选择算法进行观测序列O的选取.通过对LLDOS1.0数据集进行分析,样本数据集时间约为22:21:00—01:36:00之间,设定划片时长Δt=5min,整个数据集可大致划分为40个片段,对应的观测序列为40维.

2) 云取证状态概率模型λ构建

云取证状态概率模型参数确定需要资深安全专家经验,且因数据集采样时期的网络空间安全攻防形势和现在有所不同,状态转移矩阵P和为观测序列的概率分布矩阵Q均借鉴文献[42]使用的模型参数.且将云取证状态和网络安全状态[42]作一一对应,从而得到参数:

(18)

(19)

初始状态概率分布矩阵π:

π=(π1π2π3π4)=(1000).

(20)

4.3 实验1. SDS-CF云取证流程验证

本实验将针对LLDOS1.0的攻击过程给出对应的SDS-CF云取证过程,进行SDS-CF工作原理的验证.

通过对数据集的分析可知[44],LLDOS1.0攻击过程为:

1) 阶段1.22:51:36—22:52:00,攻击者(202.77.162.213)对目标网络进行扫描以找寻活跃主机.

2) 阶段2.23:08:07—23:18:05,攻击者利用ping协议探测活跃主机是否存在sadmind服务,并选取了Mill(172.16.115.20)作为傀儡机.

3) 阶段3.23:33:10—23:35:01,攻击者利用sadmind服务的缓存区溢出漏洞渗透进目标系统.

4) 阶段4.23:50:01—23:50:54,攻击者在受害者机器上安装DDoS攻击代码和木马后门.

5) 阶段5.00:26:15—00:34:21,攻击者通过后门控制Mill对攻击目标(131.84.1.31)发起DDoS攻击.

其中,SDS-CF使用Snort作为IDS,Snort版本为2.9.9.0,检测出各阶段的报警数量如表1所示:

Table 1 Statistic of LLDOS1.0表1 LLDOS1.0数量分析

SDS-CF的对应的云取证过程如下:

SDS-CF以Δt=5min为时间窗口对取证策略和取证资源调度进行动态调整,是一个连续的过程.通过2.3节可知,在每一个Δt中,SDS-CF中的取证管理模块工作过程为:

1) 通过告警预处理分析IDS告警序列并调整当前云取证状态,根据云取证状态触发或者更新取证流程.

2) 通过取证趋势分析,得出当前大概率所处的取证状态和取证趋势,生成对应的取证策略,并向设备管理模块发出指令,从取证资源列表中选择满足取证开销的网络取证设备并下发取证策略,同时根据想云计算平台取证代理模块发送取证指令和取证策略.

3) 向网络控制模块发出指令,将可疑流量镜像至网络取证取证设备.

4)取证管理模块读取网络取证设备和云计算平台取证代理提取的电子数据的五要素发送至存证云进行存证.

针对LLDOS1.0攻击过程的5个阶段,SDS-CF对取证策略和取证资源做调整:

1) 阶段1.通过云取证趋势分析,当前取证状态大概率处于s2,根据3.4节采取取证策略d2=(10000),通过表2可知当前取证趋势约为0.6,向设备管理模块发出指令,从取证资源列表中选择满足取证开销的网络取证设备,并下发取证策略.

2) 阶段2.通过云取证趋势分析,当前取证状态大概率处于s2,取证状态没变化,取证策略也不发生变化,通过表2可知当前取证趋势约为0.8,向设备管理模块发出指令,检查当前网络取证设备满足取证要求,不更新网络取证设备.

3) 阶段3.通过取证趋势分析,当前取证状态大概率处于s3,根据3.4节采取取证策略d3=(11110),通过表2可知当前取证趋势约为1.5,向设备管理模块发出指令,检查当前网络取证设备满足取证要求,下发新的取证策略,同时向云计算平台取证代理发送取证策略与取值指令.

4) 阶段4.通过取证趋势分析,当前取证状态大概率处于s4,根据3.4节采取取证策略d4=(11111),检通过表2可知当前取证趋势约为66,向设备管理模块发出指令,当前网络取证设备不满足取证要求,从取证资源列表中选择满足取证开销的网络取证设备并下发取证策略,同时向云计算平台取证代理发送取证策略与取值指令.

5) 阶段5.通过取证趋势分析,当前取证状态大概率处于s3,采取取证策略d3=(11110),通过表2可知当前取证趋势约为2,根据3.4节向设备管理模块发出指令,检查当前网络取证设备满足取证要求,下发新的取证策略,同时向云计算平台取证代理发送取证策略与取值指令.

Table 2 The Results of Cloud Forensics Trend of CFS, NFSand AFS Strategies During the Attack Process of LLDOS1.0

表2 LLDOS1.0攻击过程的CFS,NFS和AFS三种策略云取证趋势结果

TimelineCFSNFSAFS22:25:0000022:30:000.2916560.0220352.05645022:35:000.2551450.0435423.56336622:40:000.1236240.0346362.51197922:45:000.5883220.0962518.73709622:50:000.1798440.0539344.44891322:55:000.1045960.0361242.64904723:00:000.0881960.0288911.91848323:05:000.0836160.0259771.62409423:10:000.0820630.0248051.50579023:15:000.0814810.0243351.45830623:20:000.0812530.0241471.43925723:25:000.5391290.0780206.88520323:30:000.9257030.1056739.68524723:35:001.4529550.21016920.2407323:40:0039.424840.95648395.6056723:45:0027.292740.96386696.3532323:50:0018.360960.96922696.8953223:55:0066.133920.99956899.956460:00:0048.123300.98694098.683400:05:0021.367400.91235091.148930:10:0014.654560.94128494.072710:15:009.9296990.95829695.791500:20:009.6347050.94267494.218590:25:006.6646750.95960395.925830:30:002.8970370.87659187.537380:35:001.4271900.71786271.504990:40:000.7704910.49758249.256480:45:001.1967060.66369766.036840:50:001.4720020.79238679.035310:55:000.8858550.59466859.062671:00:001.2923290.61285360.904971:05:001.5586800.75549675.311381:10:001.9292640.76041275.813521:15:002.2740600.76376476.157741:20:002.1652210.85815785.684741:25:002.4895590.85191985.060091:30:002.7877370.84512684.379631:35:001.3696240.68857268.549511:40:001.7531710.69968369.67737

通过SDS-CF的云取证流程验证实验可知,SDS-CF能实现智能云取证服务.

4.4 实验2.云取证趋势分析算法效果对比

为了验证基于隐Markov模型的云取证趋势分析算法的效果,本实验将对3种取证策略进行对比.一种是3.5节提出的云取证策略(cloud forensics strategy, CFS),另外2种是实际取证分析中常用到的网络取证策略(network forensics strategy, NFS)和云计算平台事后取证策略(afterword forensics strategy, AFS).NFS策略仅对网络流量进行实时取证,与CFS的主要区别在于在协同实时取证状态s3和全量取证状态s4下,仅对网络日志和网络流量进行取证.AFS不对网络流量进行取证,仅在入侵发生后对虚拟机进行取证,与CFS主要区别在于在网络取证状态s2下不予取证,在协同实时取证状况s3和全量取证状态s4下对虚拟机日志和虚拟机镜像进行取证.

1) CFS,NFS和AFS参数确定

定义5提到的取证代价系数C(i)以取证时间窗口T内的取证存储开销为依据,从大量真实取证案例中统计得出.目前,网络取证业内广泛采用的取证时间窗口是3 600 s.通过分析某司法鉴定所的案例数据可得出:在不取证状态,取证存储开销为0 MB;在网络取证状态对网络设备日志进行提取,3 600 s存储开销为10 MB级别;在协同实时取证状态下对网络设备日志、网络流量镜像、云计算平台日志、虚拟机日志进行提取,3 600 s存储开销为1 GB级别;在全量取证状态下对网络设备日志、网络流量镜像、云计算平台日志、虚拟机镜像进行提取,存储开销为100 GB级别.不同的取证策略,其提取的数据对象不同,因而存储开销也不同.

CFS的取证策略参数与取证代价系数取值为

(21)

(22)

NFS的取证策略参数与取证代价系数取值为

(23)

(24)

AFS的取证策略参数与取证代价系数取值为

(25)

(26)

2) 实验对比分析

根据3.2节中提到的算法计算出观测时间段T内云取证状态概率λ分布如图5所示.

从图5(a)中可以看出从攻击开始至22:30:00之间,云取证状态处于s1的概率较大;从图5(b)中可以看出22:30:00—23:25:00之间,云取证状态处于s2的概率较大;从图5(c)中可以看出23:25:00之后,大部分时间云取证状态处于处于s3的概率较大,从图5(d)中可以看出其中23:45:00—00:00:00之间云取证状态出现了2次概率为s4状态的概率波峰.根据4.3节对LLDOS1.0的数据分析可知,图5(b)的高峰与攻击过程的扫描探测阶段对应,图5(c)的高峰与攻击过程的入侵阶段和后续的DDoS攻击对应,图5(d)中的高峰与攻击过程的攻陷阶段对应.由此可见,云取证状态概率模型较准确地反映了攻击过程的云取证状态概率分布.

Fig. 5 Probability distribution of cloud forensics status during the attack process of LLDOS 1.0图5 LLDOS1.0攻击过程云取证状态概率分布

根据4.2节、4.3节中模型参数和3.2节提出的云取证趋势分析算法计算出LLDOS1.0攻击过程的CFS,NFS和AFS三种取证策略的云取证趋势分析结果如表2所示.将表2中的数据制成对比曲线图如图6所示,从图6可以看出,23:25:00之前CFS,NFS和AFS三种策略的取证趋势均在低位波动,根据4.3节对LLDOS1.0的数据分析可知,此时网络攻击处于第2阶段,也就是扫描探测阶段,次阶段这3种策略对应的取证资源需求均小.23:30:00—00:00:00之间,CFS的取证趋势出现了2次波峰,此时攻击进入阶段3,4,波峰对应着严重的入侵攻击事件和攻陷事件,CFS的取证资源需求较大;NFS的取证趋势持续保持在低位,因为该策略此阶段依然只进行网络日志和网络流量取证,取证资源需求较小;AFS的取证趋势强势走高,是因为此阶段系统被入侵或者攻陷,进入事后应急响应过程,取证资源需求较大.

根据表2中的数据计算出3种取证策略的取证能力和取证开销2个量化指标如表3所示.

通过表3可以看出,CFS策略取证能力为91.6%,明显优于NFS的68.9%和AFS的50.5%.而取证开销方面CFS是NFS的13倍,是AFS的13.8%,介于两者之间.通过以上分析可知,NFS策略没有考虑到网络入侵后云计算平台中虚拟机的取证需求,虽然取证开销小,但是取证能力不足,关键电子证据损失较多.AFS策略因遗漏了实时网络取证需求,并对虚拟机进行粗粒度的取证策略导致取证能力较低而取证开销过高.而SDS-CF中采用的CFS策略能够在取证能力和取证开销方面有一个较好的平衡.

Fig. 6 Comparison of cloud forensics trend during the attack process of LLDOS1.0图6 LLDOS1.0攻击过程云取证趋势对比

Forensics StrategyCoFOoFCFS0.915844292.7333NFS0.68927221.3776AFS0.5051282121.3480

5 总 结

本文提出一种基于软件定义安全和云取证趋势分析的智能云取证方法,该方法包括1个架构和2个核心算法.1)基于软件定义安全的云取证架构,通过该架构实现云网络与云计算平台实时协同取证,有效规避事后取证方法带来的种种难题,并解决云网络东西向流量的取证方法缺失和云用户网络取证手段缺失的问题;2)基于隐Markov模型的云取证趋势分析算法和基于改进告警质量的IDS告警选择算法,将该算法运用于基于软件定义安全的云取证架构中进行取证策略智能决策和取证资源智能调度,实现智能云取证,提高云取证准确度和效率.通过实验证明了该云取证方法的可行性,且该取证方法取证能力为91.6%,明显高于网络取证和云计算平台事后取证方法,取证开销介于网络取证和事后取证之间,在取证能力和取证开销之间取得了较好的平衡.该方法对云服务商提供云取证服务具有广泛的借鉴意义.未来,一方面将继续优化云取证趋势分析算法,将攻击时长等影响因素考虑进来,进一步提高算法的准确性和降低取证开销;另一方面随着网络攻防技术和云计算的不断向前发展,网络攻防形式会不断发生变化,对应的模型参数需要不断地调整,下一步研究一种更加智能的模型参数训练方法.

猜你喜欢
日志定义趋势
一名老党员的工作日志
趋势
扶贫日志
雅皮的心情日志
雅皮的心情日志
初秋唇妆趋势
SPINEXPO™2017春夏流行趋势
成功的定义
趋势
修辞学的重大定义