关于云环境下共存攻击多目标响应策略机器学习模式的研究

2022-11-15 08:28吴志祥曲谱李耕中国联通黑龙江省分公司黑龙江哈尔滨150001
邮电设计技术 2022年9期
关键词:机率攻击者威胁

吴志祥,曲谱,李耕(中国联通黑龙江省分公司,黑龙江哈尔滨 150001)

0 前言

云环境可按照用户的需求,以低成本向使用者提供软硬件设备,使用者可以方便地使用服务,并且无需了解云环境的细节,也不需进行设备维护。虚拟化技术可以按照需求共享资源,提高了资源的使用率,图1给出了云环境虚拟化示意图。由于云环境的虚拟化特性,多个虚拟机会在同一主机上同时运行,如果虚拟机之间没有适当的隔离,攻击者可以从同一主机上取得其他虚拟机的相关信息。

2017年,Abazari等人提出了云环境共存攻击多目标检测系统,整理了虚拟机共存攻击和检测对策的类型,并提出一套模型来计算云环境整体的最佳响应对策。他们提出的模型考虑到虚拟机之间的共存时间长短,并在威胁和成本这2 个冲突的目标中取得帕雷托最优解得到最佳响应对策。图2为帕雷托最优解示意图,其中F1代表总威胁,F2代表总成本。若有一个解x,当无法在不提升总成本的情况下再降低总威胁,且无法在不提升总威胁的情况下再降低总成本,那解x就为帕雷托最优解。在2 个互相冲突的目标的情况下,会有多个帕雷托最优解。

图2 帕雷托最优解示意图

实验发现,Abazari 等人的模型在具有大量虚拟机的云环境中计算检测对策需要耗费相当长的时间。因此,本文提出一个自动入侵检测系统的新模型,其使用机器学习来产生检测对策,并进行一系列实验来证明模型的效果。从实验结果可以看出机器学习可以以良好的准确度近似帕雷托最优解,并且相较于Abazari 等人的模型在检测速度方面有2 000 倍的提升。

1 背景知识

1.1 云环境概念

云环境计算根据服务类型可以分为3类SPI:软件即服务(SaaS)、平台即服务(PaaS)和基础架构即服务(IaaS)。其中IaaS 是云环境供应商通过虚拟化技术在一部大型的实体主机上建立多个虚拟机,根据使用者需求动态分配资源,使用者可以根据自己的需求租借适量的服务。本文讨论的云环境共存攻击就是在IaaS架构下隐藏的威胁。

1.2 云环境共存攻击类型

共存攻击可分为3 种类型,第1 种类型包含信息窃取和侧通道攻击,使受害者隐私泄露,造成不可逆的伤害;第2 种类型是攻击者利用虚拟机之间的通信来传播恶意程序;第3种类型,攻击者的目标是得到不公平的共享资源,导致同一实体机上的其他虚拟机受到阻断服务攻击。

1.3 虚拟机共存时间关系

根据研究文献,虚拟机受到共存攻击的机率与共存时间呈正相关,通过虚拟机共存时间关系图可以获得虚拟机之间的共存时间,并用来计算云环境中所有虚拟机的威胁等级。虚拟机共存时间关系图如图3所示,图3 中的节点代表虚拟机(VM),其中虚拟机可分为2种类型:集合M表示恶意VM,由虚线方框表示;集合S表示一般VM,由实线方框表示。节点之间的连线代表虚拟机曾经或正在同一实体机中共存,连线上的数值代表共存时间长短,时间会经过正规化变成0~1的数值,由wi,j表示VMi和VMj的共存时间,举例来说,图3 中VM2和VM3的共存时间w2,3=0.8,VM8和VM9的共存时间w8,9=0.2。

图3 虚拟机共存时间关系图

1.4 响应对策表

每种攻击都可以通过特定的对策来防御。响应对策表如表1 所示,其中SC 表示侧通道攻击,MP 表示恶意软体传播,DoS 表示阻断服务攻击,Y 表示该对策可防御此种攻击,N 表示该对策无法防御此种攻击。表1 中列出了每个共存攻击的对策,总共可分为5 个对策,对策6表示不进行任何动作,以下对每个对策进行详细说明。

表1 响应对策表

a)第1 种对策是虚拟机迁移,其能够防御所有共存攻击。

b)第2 种对策能防御侧通道攻击,针对攻击者的虚拟机,增加其恶意行动的延迟。如果是受害虚拟机,则可以将硬盘、CPU 和内存等共享资源的存取方式改为一致的模式,防止攻击者从受害者的行为中获取信息。

c)第3 种对策可以防止恶意软体传播,利用虚拟交换机的功能重新配置虚拟网络。

d)第4 种对策可以防御阻断服务攻击,主要是通过更改管理程序的配置降低最大计算负载或内存容量,限制攻击者的资源使用。

e)第5种对策是通过限制相关虚拟机允许的最大流量速率,防御恶意软体传播和阻断服务攻击。

f)第6种对策是不进行任何动作。

1.5 机器学习

机器学习属于人工智能的范畴,是一种让机器从学习到推理的过程,机器学习的演算法结合了各种学科,如概率学、统计学和逼近论等,通过组合这些数学模型设计出让计算机可以自我学习的演算法。从训练资料中截取重要特征,训练时通过演算法将特征进行分析获得规律得到模型,最后就可以利用模型对新资料进行预测。

机器学习的概念如图4 所示,Abazari 等人的模型是使用Matlab 的fgoalattain 函数来计算多目标优化问题,目标是指总响应成本和总威胁,本文的研究在降低威胁的同时也降低成本。而在机器学习演算法方面,本文对Lasso、Elastic Net、Ridge Regression 这3 种机器学习演算法进行了测试,先制造200笔资料,并随机选取80%作为训练资料,20%作为测试资料,接着分别使用3 种机器学习演算法,平均准确度如表2 所示。由表2可知,Ridge Regression 的准确度较高,所以本文选择Ridge Regression作为机器学习的演算法。

图4 机器学习概念图

表2 机器学习演算法准确度比较

1.6 Scikit-learn

Scikit-learn 简称SKlearn,是Python 机器学习和资料分析的开源套件,其中包含许多知名的机器学习演算法,也内建许多知名的资料集。在演算法方面,依照演算法功能分为6 个类别,如图5所示,简易流程图可以让使用者根据资料集的形态来挑选适合的演算法。

图5 Scikit-learn演算法挑选流程图

2 研究方法

2.1 计算威胁等级

虚拟机受到共存攻击的机率与共存时间呈正相关,因此,为了计算云环境中所有虚拟机的威胁等级,首先必须拥有虚拟机共存时间关系图,还有检测到的攻击者所操控的恶意虚拟机集合M。攻击者进行攻击时,其虚拟机通常会存在资源大量使用、cache miss 等异常现象,一般可通过持续的云环境监控来发现恶意虚拟机。如第1 章所述,云环境共存攻击可分为3 个类型:侧通道攻击、恶意软体传播和阻断服务攻击,因此设定虚拟机威胁等级为三元组(triplet)ti,分别表示3种攻击的机率,如式(1)所示。

ti是代表VMi被攻击的机率(威胁等级),一个受害VM会因为和多个不同恶意VM共存,造成被攻击的机率提升,威胁等级必须包括任一威胁发生的机率与多个威胁同时发生的机率,因此对Abazari等人的威胁等级计算方法进行修改,实际的计算方式如式(2)所示。

首先,VMj要属于恶意虚拟机集合M,才需要计算其可能对VMi造成的威胁,n为总虚拟机个数,wi,j表示VMi和VMj的共存时间。ti×wi,j表示VMi被VMj攻击的机率,[1 1 1]-tj×wi,j就是不被VMj攻击的机率。多个不被攻击的机率求积就等于完全不被攻击的机率,最后由[1 1 1]减去完全不被攻击的机率就是包括任一威胁发生的机率与多个威胁同时发生的机率。

以图3为例,给予恶意虚拟机随机的威胁等级,并根据式(2)计算一般虚拟机的威胁等级,如图6 所示。假设要计算VM4的威胁等级,VM4和VM2、VM5、VM6曾经共存或正在共存,当中只有VM2是恶意虚拟机,所以t4=[1 1 1]-([1 1 1]-t2×0.9)=t2×0.9。另外,假设要计算VM10的威胁等级,VM10和VM7、VM8、VM12曾经共存或正在共存,当中VM8和VM12是恶意虚拟机,所以t10=[1 1 1]-([1 1 1]-t8×0.3)×([1 1 1]-t12×0.5)。

图6 虚拟机威胁等级示意图

云环境的总威胁等级T,就是将所有虚拟机的威胁等级做加总,计算方式如下。

2.2 响应对策矩阵和成本向量

每种对策能响应的攻击类型不同,所耗费的成本也不同。根据式(4),由表1的SC、MP 和DOS 3个栏位产生响应对策矩阵C,如式(6)。举例来说,C(3,2)=1代表对策3可以应对恶软件传播攻击,C(4,3)=1代表对策4 可以应对拒绝服务服务攻击。由表1 的成本栏位产生成本向量RC,如式(7)。RC()3=0.2 代表对策3拥有低的耗费成本。

2.3 资料生成

Abazari 等人提出的云环境共存攻击多目标响应系统,已经能针对云环境整体选择出最适合的响应对策,但是存在响应时间过久的问题。因此,本文的训练数据就由Abazari 等人提出的模型来产生,步骤如下。

a)产生一个随机的VM共存时间关系图。

b)随机挑选约30%的VM作为恶意VM。

c)随机产生恶意VM威胁等级。

d)计算每个VM的威胁等级。

e)使用Matlab的fgoalattain函数产生解答。

数据生成的部分使用Matlab完成。资料集产生之后,随机选取80%作为机器学习的训练数据,再随机选取20%数据作为测试数据。机器学习使用Scikitlearn 的Ridge regression。Matlab 的fgoalattain 函数用来计算多目标优化的问题,包括线性和非线性,完整程序定义如式(8)所示。其中,weight、goal、b和beq是向量;A和Aeq是矩阵;F(x)、c(x)和ceq(x)是回传向量的函数,可以为非线性函数;x、lb和ub可以是向量或矩阵。

F(x)是要进行多目标优化的函数,优化的目标是云环境总威胁和总成本,如式(9)。

权重W1和W2分别代表威胁和成本的重要性,用来衡量较低的威胁或较低的成本,其中W=(W1,)W2,W1+W2=1,举例来说,当设定W1接近0 的时候,意味着得到的对策会有高的成本搭配极低威胁的成效。当设定的权重不同,就会得到不同的解X,X的定义如式(11)所示,x={ 0,1},其中q为对策数量,n为虚拟机数量,解X会显示每个虚拟机该使用哪一个对策。

最后,将权重W、所有虚拟机的威胁等级t、解X都转为一维阵列,整合成一列数据,数据表内容如表3所示。生成多笔数据后输出成.csv 文档,方便后续使用python读取进行机器学习。

表3 数据表内容

3 实验验证与结论

本文提出一个以机器学习响应云环境共存攻击的系统,为了验证提出的模型具有实用性,设计了以下实验并和Abazari 等人的模型进行比较。在存在50个虚拟机的云环境模拟环境中,机器学习在响应时间方面比Matlab 快2 296 倍,准确度为85%,可见训练资料和虚拟机个数的增加可以提升机器学习的准确度。使用一组固定的威胁等级,并使用不同的权重,权重从W=(0.1,0.9)到W=(0.9,0.1),每次增减0.1。分别使用Matlab 和机器学习产生响应对策,然后计算使用对策后云环境总威胁和总成本,结果如图7所示。

图7 不同权重下的威胁与成本比较图

图7 中Matlab 的点可视为帕雷托最优解,而机器学习的曲线也近似于帕雷托最优解,并不会偏离太多。在相同权重的设定下,机器学习的解有较高的威胁,但有较低的成本。

从实验结果可以看出,传统方法和本研究的机器学习模型都可以得到针对当前环境适当的响应对策,传统方法在总威胁和总成本的取舍下得到帕雷托最优解,而本研究的机器学习模型可以以高准确度得到近似的解。在响应时间方面,从实验的云环境来看传统方法需要的响应时间增长了约12倍,而机器学习模型仅增加1.23 倍,资料笔数的增加和虚拟机量的增加也让机器学习的准确度有所提升,可见在更大量虚拟机的云环境中,本文的机器学习模型有更好的效果。

猜你喜欢
机率攻击者威胁
基于贝叶斯博弈的防御资源调配模型研究
人类的威胁
正面迎接批判
正面迎接批判
班上的“小雷达”
搞笑图片