时间:2024-09-03
◆肖耀涛
基于场景模型与深度学习的云计算攻击检测
◆肖耀涛
(广东邮电职业技术学院 广东 510630)
为了实时精准检测各类云计算攻击,保障云计算平台运行的安全性,本文提出了基于场景模型与深度学习的云计算攻击检测方法。构建包含云计算攻击报警信息的云计算攻击场景模型,结合卷积神经网络与改进递归神经网络创建包含输入层、卷积层、递归层、全连接层及输出层的深度学习网络模型,对云计算攻击场景模型内数据实施分组、特征提取、格式转换及维度重构,获得三维矩阵输入深度学习网络模型内实施攻击检测。结果表明,该方法内深度学习网络在步幅为6、窗口尺寸为600时性能最佳;可实现不同类别攻击的检测,所检测出的各类攻击数据量与实际数量较为接近,检测结果精准可靠;能够实现对实际云计算攻击的实时检测,检测结果与实际情况相吻合,为云计算平台的安全运行提供保障。
场景模型;深度学习;云计算攻击;报警信息;卷积神经网络;递归神经网络
作为一种全新信息共享运算模型的云计算,已逐步发展为各个领域内的关键技术。它是通过向以分散式计算机所构成的资源池分配运算任务,由用户以实际需要为依据,对存储系统及计算机实施访问[1]。其主要优点包括低成本、易操作与可信度高等,能够为应用企业的良性发展提供保障。然而,因网络安全等问题导致云计算使用中易遭受各种类别的攻击,主要有扫描攻击(Probing)、远程非法访问(R2L)及拒绝服务攻击(DoS)等,其中尤为重要的为DoS攻击[2-3]。尤其当云计算平台处于初期运行时,攻击者将通过持续搜索云主机安全漏洞的方式,将云用户的关键数据信息等盗取,造成云用户的重大损失。故而,为避免此类攻击对云用户带来的危害,需采取相应的措施及时检测云计算攻击[4]。
由于以往所使用的云入侵检测系统(CIDS)不具备关联性,在针对云计算攻击时所能够检测到的报警数据大多层次较低且彼此独立,所能够呈现的仅为某个时间点的单步攻击,无法对较为烦琐的数步攻击进行识别。云计算攻击场景模型具备较强的关联性能,可有效应对烦琐的数步攻击,完整地还原云计算攻击场景,并能够将各个攻击报警数据间的关联寻找到,是实施云计算攻击检测的基础[5]。小波能谱熵和隐半马尔可夫模型的攻击检测方法可实现对LDoS攻击的检测,该方法可达到近97%的检测精度,但并未应用到其他类型的云计算攻击检测中[6];基于改进卷积神经网络的入侵检测方法是运用改进后的卷积神经网络实现网络攻击的检测,此方法可实现攻击检测,但检测结果的漏报率稍高[7]。
卷积神经网络属于一种与时间深度相关的深度学习算法,卷积神经网络可有效地降低网络训练的权值参数量,同时可保证特征的稳定性[8-10]。为此,本文提出了基于场景模型与深度学习的云计算攻击检测方法,通过初始攻击报警数据构建云计算攻击场景模型,并结合卷积神经网络与改进递归神经网络创建深度学习网络模型,将攻击场景模型内数据输入到网络模型内,实现对云计算攻击的检测,为提升云计算数据的安全性、保障云用户的财产安全提供有效支撑。
定义1 初始攻击报警。初始攻击报警是指以云计算攻击报警信息内关键属性所构成的没有被深度处理的攻击报警,可通过Alarm={name,time,ip1,ip2,port1,port2}表示,此为一个多元组,其中,攻击报警时间与名称依次以time与name表示;攻击报警的目标端口与目标地址依次以port2与ip2表示;攻击报警的源端口与源地址依次以port1与ip1表示[11]。
定义2 超报警。超报警是指将数个相似或者重复的初始攻击报警相融合后所获得的报警,每个超报警均为单个攻击过程,以Hyper alarm={attack_name,ip1_set,ip2_set}表示,其中,超报警中的初始攻击报警目标地址集以ip2_set表示,源地址集以ip1_set表示;某个超报警的攻击过程名称以attack_name表示。
定义3 攻击场景。以Scene=〈Alarm1,Alarm2,…,Alarm〉代表通过初始攻击报警所构成的有序数据组,其中,云计算攻击所生成的初始攻击报警以Alarm1表示。各个攻击场景对应各个单独的攻击过程,各个初始攻击报警之间需符合的约束条件包括:
(1)时序约束条件:随意两个前后邻近初始攻击报警以Alarm和Alarm表示,若其中<,那么二者的时间属性需符合的条件为Alarm_time≥Alarm_time。
(2)逻辑约束条件:两个初始攻击报警Alarm与Alarm间需符合选择、并列或依赖三种关系中的随意一种,三种关系依次为:①选择关系——初始攻击报警Alarm与Alarm所表示的攻击内随机某个攻击成功,也就是为其他单步攻击奠定了基础,具备传递性的并列关系;②并列关系——当初始攻击报警Alarm与Alarm所表示的所有攻击均能够成功,方可为其他单步攻击奠定基础,同样具备传递性的并列关系;③依赖关系——当<时,实施以Alarm为代表的攻击需在Alarm所表示的攻击的基础上。
将能够代表现实攻击过程同时呈现攻击目的攻击场景获取作为云计算攻击场景模型构建的目标[12]。构建后的云计算攻击场景模型能够满足:①惟一性——代表相同攻击过程的不同场景不可包含于通过初始云计算攻击报警数据集所构建的云计算攻击场景模型中;②确定性——同以攻击场景Scene为代表的攻击过程无关的攻击报警不可存在于Scene内,也就是说,如果Alarm∈Scene,那么以Alarm为代表的攻击行为一定存在于以Scene为代表的攻击过程内;③完整性——攻击者实施攻击的过程中所有单步攻击均存在于攻击场景Scene内,也就是说,若以攻击场景Scene为代表的攻击过程包含以Alarm为代表的攻击行为,那么Alarm∈Scene。满足以上条件的云计算攻击场景模型结构见图1。通过融合攻击报警预处理云计算初始攻击报警,获取到超报警;将所得超报警当作输入实施报警关联;关联时通过专家知识形式向关联知识库内存储所输入的超报警、云计算攻击本体内的抽象描述等;实施关联之后,获取到抽象攻击场景,此场景是以云计算攻击本体内抽象攻击所构成的;采用回溯所得到抽象攻击场景的方式,获取到现实攻击场景,也就是以约束条件为依据,匹配对应于抽象攻击的初始攻击,将由初始攻击报警所构成的攻击场景获取到。
图1 云计算攻击场景模型结构图
创建由输入层、卷积层、递归层、全连接层以及输出层构成的深度学习网络模型,模型的整体结构如图2所示。
图2 深度学习网络模型结构图
(1)卷积层设计
式中,、表示偏置;表示卷积层数。
非线性运算式可表示为:
式中,表示激活函数。
由式(3)得出:
通过向前层反向传递误差可获得卷积层权重,运算式为:
由此获取到:
(2)递归层设计
递归神经网络通过递归方式实现其隐藏层信息的传递。它所需学习参数较少的原因是隐藏层内各层均可共享参数[13]。此网络的隐藏层中神经元向前传播步骤可表示为:
由于基础递归神经网络的记忆模块为隐藏层,该层直接同其余层相连,易造成梯度的爆炸与消失等现象。为解决此类现象,可通过将遗忘门、输出与输入门引入神经元中,形成LSTM,即改进递归神经网络[14],提升网络的记忆力,避免梯度消失等现象的发生。
(1)特征处理
特征处理的过程主要包括数据分组、特征提取、格式转换、时间窗维度分割与重构等[15]。具体过程为:
①对所输入的云计算攻击场景模型内n个攻击报警数据实施分组,同时依次由各组数据内提取出18个报文字段,将此字段当作特征值字段,划分其为布尔、数值以及文本三种类别字段。
式中,表示数据的标准化运算分数;表示特征值;表示特征值的标准差,表示期望。
(2)攻击检测
①将堆栈卷积神经层应用到输入层之后的各层内,实现对神经元网络的简化,并得到本地信息,另外,为提升输入层神经元网络的训练效率,需结合批标准化方式实现;各层均具备126个神经元,且卷积核数量与步幅分别为6和2,同时激活函数为神经元的输出,表示为:
②在卷积层后创建递归层,递归层的层数为,通过递归层可实现对内存单元前时间戳的追踪;将全连接层建立在递归层之上,并对激活函数实施设定,为减少运算量并避免数据丢失问题的发生,在此设定Relu为激活函数g,其式为:
③在此基础上,通过网络输出层输出攻击分组概率值,实现云计算攻击检测。
选取KDD CUP99数据集作为实验数据集,检验本文方法对云计算系统运行攻击的检测性能。实验数据集由R2L、U2R、DoS与Probing四种攻击类别以及正常记录组成,其中R2L攻击包含guessing、spy及password等七种攻击类别,U2R包含tuscan、ipsweep及rootkit等五种攻击,DoS包含udpstorm、land、smurf及back等七种攻击,Probing包含portsweep、nmap及Port_scanning三种攻击。为降低本文方法中深度学习网络模型的训练时长,由实验数据集内选出10000条数据作为实验数据,其中7000条为训练数据,3000条为检测数据,训练数据与检测数据中的攻击数据与正常数据均各占二分之一。
在应用本文方法实施攻击检测之前,先确定本文方法内深度学习网络模型的窗口尺寸与步幅。设定1、6、11、16、21、26及31七种步幅,400、600、800、1000、1200及1400六种窗口尺寸,统计在所设定的步幅与窗口尺寸下,本文方法内深度学习网络模型的检测F1值与精度变化情况,以此确定本文方法内深度学习网络模型的步幅和窗口尺寸。所得结果如图3所示。通过图3能够得知,当步幅与窗口尺寸分别为6和600时,本文方法内深度学习网络模型的检测F1值与精度更高,网络模型的性能更优越。因此,在此设定本文方法内深度学习网络模型的步幅与窗口尺寸分别为6和600,并应用设定此参数的本文方法实施攻击检测实验。
图3(a) 不同步幅下的统计结果
图3(b) 不同窗口尺寸下的统计结果
运用训练数据对本文方法实施训练,检验训练过程中随着迭代次数的增长本文方法的总体训练误差收敛情况,为提升实验结果的可信度,对本文方法重复训练四次,统计每次的检验结果,如图4所示。由图4能够得出,本文方法的训练误差在迭代次数的不断增长过程中,呈现明显的下降趋势,当迭代次数达到80次时,训练误差逐渐出现收敛状态,且重复训练中的训练误差收敛情况较为接近,说明,本文方法的训练收敛性较好,所设定的步幅与窗口尺寸等参数较为合理,可符合实验检测需求。
图4 本文方法总体训练误差收敛情况
依据R2L、U2R、DoS与Probing四种主要攻击类别将检测数据分成A、B、C、D四组,通过本文方法构建各组数据集的攻击场景模型并实施攻击检测,各组数据集的相关信息与本文方法检测结果详见表1。分析表1可得出,本文方法可针对四种不同类别攻击数据集实施检测,所检测攻击数据量结果与实际情况非常接近,其中,对A、B、D三组数据集内攻击数据量的检测结果均比实际数据量少,存在漏检情况,但漏检率在1.00%~1.39%之间;而对C组数据集内攻击数据量的检测结果则比实际数据量多,存在误检情况,但误检率仅为0.57%。综合可见,本文方法在对不同类别攻击数据集实施攻击检测时,虽存在漏检与误检的情况,但漏检与误检数据量较少,整体检测的精度较高,检测结果可靠性强。
表1 各组数据集实际情况与本文方法检测结果对比
分组编号数据类型数据量/条 实际情况A攻击数据400 正常数据300 B攻击数据360 正常数据370 C攻击数据450 正常数据350 D攻击数据400 正常数据370 检测结果A攻击数据396 正常数据295 B攻击数据355 正常数据373 C攻击数据452 正常数据345 D攻击数据395 正常数据374
将经过以上检验的本文方法应用在某云计算系统平台内,进行实时云计算攻击检测。实验中随意挑选三个不同时间段通过Hping2向实验云计算系统平台发送各种类别DoS攻击,并通过Bandwidthd软件对24小时内的实验平台流量信息实施监测,所得监测结果见图5。图5中在5~6时、9~10时、19~20时三个时间段中的实验云计算系统平台流量速率出现大幅度上升趋势,三个时间段的最高流量分别能够到达146Mbit/s、124 Mbit/s、133 Mbit/s,由此可知,通过Hping2向实验云计算系统平台发送的各种类别DoS攻击是在此三个时间段。
通过本文方法对该平台24小时内的攻击情况实施检测,将所得检测结果与流量信息监测所得的实际攻击时间段及趋势相对比,分析本文方法的实时检测效果。本文方法的24小时实时云计算攻击检测结果见图6。通过图6能够看出,在本文方法的实时云计算系统平台24小时攻击检测结果中,大量的攻击数据出现在5~6时、9~10时及19~20时三个时间段内,其中5~6时的攻击数量最高,可达到1850条,9~10时的攻击数量为1575条,是三个时间段内攻击数量最低的时间段,所得结果与流量信息监测结果相符,可见,本文方法的实时云计算攻击检测效果理想,实际应用性强。
图5 24小时平台流量信息实际监测结果
图6 24小时实时云计算攻击检测结果
云计算攻击是影响云计算平台安全运行的关键,因而,本文针对基于场景模型与深度学习的云计算攻击检测方法展开研究,通过构建包含云计算攻击报警信息的云计算攻击场景模型,为云计算攻击检测提供基础数据,创建包含输入层、卷积层、递归层、全连接层以及输出层的深度学习网络模型,向输入层输入攻击场景模型内数据,经卷积层、递归层及全连接层的操作之后,获取到攻击检测结果,由输出层向外输出。本文方法的实际应用结果表明,在步幅为6、窗口尺寸为600时,本文方法内深度学习网络模型的性能最佳;可实现对不同类别攻击的检测,检测结果的漏检与误检数据量较少,检测结果精准可靠;可实时检测云计算攻击,检测结果与实际情况相符。
[1]张未名,邢云菲,胡轶楠. 基于云计算环境下网络入侵安全检测模式研究[J]. 情报科学,2018,36(9):68-72.
[2]陈惠娟,赵旭,陈亮. 云计算环境中移动网络低匹配度异质信息入侵感知预测算法[J]. 吉林大学学报(理学版), 2019,57(6):1449-1455.
[3]傅建明,林艳,刘秀文,等. 云计算环境下基于随机化的安全防御研究[J]. 计算机学报,2018,041(006):1207-1224.
[4]黄超. 云计算下船舶网络入侵高精度检测方法研究[J]. 舰船科学技术,2018,40(12):130-132.
[5]胡倩. 基于多步攻击场景的攻击预测方法[J]. 计算机科学,2019,46(S1):375-379.
[6]吴志军,李红军,刘亮,等. 基于小波能谱熵和隐半马尔可夫模型的LDoS攻击检测[J]. 软件学报,2020,31(5):313-326.
[7]杨宏宇,王峰岩. 基于改进卷积神经网络的网络入侵检测模型[J]. 计算机应用,2019,39(9):2604-2610.
[8]沈卫文,王炜,吴蜜. 云计算船舶通信网络的入侵特征提取与检测[J]. 舰船科学技术,2019,41(08):146-148.
[9]田俊峰,石伟. 一种基于卷积神经网络的Web攻击检测方法[J]. 小型微型计算机系统,2019,40(3):122-126.
[10]王乐乐,汪斌强,刘建港,等. 基于递归神经网络的恶意程序检测研究[J]. 计算机科学,2019,46(7):92-96.
[11]刘海波,武天博,沈晶,等. 基于GAN-LSTM的APT攻击检测[J]. 计算机科学,2020,47(1):287-292.
[12]张建珍. 云计算下海上通信网络异类入侵数据实时检测系统设计[J]. 舰船科学技术,2019,41(16):182-184.
[13]马乐乐,束永安. SDN环境下基于机器学习算法的DDoS攻击检测模型[J]. 微电子学与计算机,2018,35(5):15-20.
[14]周康,万良,丁红卫. 基于AN和LSTM的恶意域名检测[J]. 计算机工程与应用,2020,56(4):92-98.
[15]陈兴蜀,滑强,王毅桐,等. 云环境下SDN网络低速率DDoS攻击的研究[J]. 通信学报,2019,40(6):210-222.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!