龚建锋
(茂名职业技术学院,广东 茂名 525027)
云安全问题是制约云计算技术发展的重要因素之一,在面对高度规模化和开放化的云计算环境,所涉及的安全问题要比传统网络环境更为复杂,如何能够准确评估风险成为热点研究课题。目前,学界在云安全风险属性定性定量评价和计算方法的研究上取得了一定的成果,但在云安全评估方法的可操作性上仍存在一定的不足,尤其在风险属性与系统结构之间的信任关系的评估方面研究较少,为此,提出应用数据挖掘算法获取评估证据,并构建基于云安全属性与体系结构的云安全评估模型,在云安全评估方法上开创新的思路。
数据共享是云服务的主要特征之一,其方便了用户对信息资源的高效利用,减轻了客户端软件服务压力,但同时也增加了信息安全风险。目前,云计算信息共享有两种共享方式,一是显式共享,二是隐式共享。显式共享用户具有访问权限的分配权,对于云服务商的安全可控压力大,因此大多采用隐式共享,由服务商分发服务实现共享;隐式共享在一定程度上提升了云服务商应对安全风险的能力,但是在面对数据共享范围日益扩大和的局面,服务器攻击内容也花样百出,云服务器遭受攻击的风险也随之增加,应对压力不断增大[1]。
云服务商为用户提供多个服务器或者存储设备存储和应用数据,用户通过公共虚拟化池提取数据进行应用[2]。随着数量的不断增加,云计算的扩展边界也不断扩大,这就存在数据基数过大、存储界限复杂难以区分的问题。在云服务的过程中,数据缺乏有效的隔离保护导致数据中包含的很多重要数据容易被窃取,甚至存在病毒入侵损坏数据的风险。
虚拟化是云计算的主要特色,将硬件资源虚拟化扩大数据的存储能力应对存储数据的增长[3]。但虚拟化技术是将分布在各地的服务器组织起来,由主服务器将网络资源的调控分配到各个节点服务器上,数据存储位置是根据各节点的存储能力调控的,数据存储位置及转移不是人工控制,对于数据的筛选与隔离很难做出有效判定,这就导致虚拟机的漏洞被暴露在网络中,成为被攻击的对象。
针对云服务所存在的安全问题,从风险防护的角度构建云安全评估体系,遵循原则包括以下几个方面:
(1)系统性原则:对于云安全的评估是以理论与实践相结合,从整体角度分析、整理相关因素,科学地建立指标体系,增强评估的合理性和可操作性,形成一个整体的、全面的反应实际情况的体系。
(2)独立性原则:在云安全评估中,评估体系存在层次性,指标之间存在关联性,这容易造成评估时产生内生性问题,评价时出现重复性设置,影响评估的准确性,所以需要避免评价指标之间的包含关系、交叉关系,尽可能地保证评价指标是一个独立的个体,能够准确代表系统的主因素,保证其独立性。
(3)有效性原则:从不同的角度评估云安全水平可能存在结果上的差异,影响判断的有效性。因此,在选择评估环境、评估视角和评估主体时,要综合考虑各方面的影响因素,全面性、整体性地进行评估才能够使反映出的结果真实有效。
(4)可比性原则:由于云安全评估指标属性不同,无法直观进行有效的比较,因此在处理云安全时需要对指标进行标准化处理,并依据指标在整个系统中的权重进行客观的综合评价才能准确反映云安全的整体水平。
依据云安全评估体系的设计原则和云服务内容,从主机安全、数据安全、物理安全、网络安全和应用安全五个方面建立评估指标体系,如图1所示。
图1 云安全评估指标体系
主机是云服务的“指挥中心”,其安全性关系到整个云系统的安全,评估主机安全设定管理身份鉴别、资源控制、虚拟机防护及主机安全审计四项指标;数据是云服务的对象,评估数据安全设定数据完整性、保密性和可靠性三项指标;物理环境是云服务的基础,评估物理安全设定物理位置、物理访问、供电环境三项指标;网络是云服务的“通道”,评估网络安全设定网络访问控制、入侵检测和网络安全审计三项指标;应用是云服务的功能,评估应用安全设定应用身份鉴别、资源控制、应用访问控制和接口与源码安全四项指标[4-6]。
根据云安全评估体系构建云安全评估模型,在属性层包括:主机安全、数据安全、物理安全、网络安全、应用安全五个评估属性。云安全评估模型如图2所示。
图2 云安全评估模型
采用数据挖掘方法对评估指标相关的数据进行挖掘并转化为一致性评估证据,用指标权重与评估证据相乘再相加得出属性安全评估结果,再与属性权重相乘再相加得到云安全评估最终结果。
依据模糊评估理论中的隶属度的方法对数据不全面的云安全评估指标数据进行综合计算[7]。对采集到的原始数据进行标准化,设采集到的原始数据为X=(x1,x2,…,xp),存在数据的缺失,如果指标需要有n个指标样本xj=(x1j,x2j,…,xnj)T,j=1,2,…,p,n>p,对原始数据进行标准化变换:
设标准化矩阵为Z=(zij)n×p,变量相关系数矩阵为R=(rij)p×p,R=ZTZ。求R 的特征值λ1,λ2,…,λp,λi>0 ,其相应的单位特征向量为a1,a2,…,ap。
计算方差贡献率和累积贡献率βi(i=1,2,…,p) ,权重为A=(β1,β2,…,βp)。
设评价指标数据挖掘得到结果再转化后的评估证据集为X={x1,x2,…,xn} ,各评估证据对应的权重为W={w1,w2,…,wi},i∈[1,n]。计算云安全属性评估值:
各属性再乘以对应的属性权重后相加得到云安全评估的最终结果。
数据挖掘技术应用于云安全评估是在动态评估云安全所产生的海量数据中寻找价值信息。本文以Hadoop云计算平台MapReduce 框架的两个函数模型(Map模型和Reduce模型)进行数据挖掘,并基于极限学习机(Extreme Learning Machine,ELM)的数据挖掘算法获取评估证据[8,9]。
MapReduce 运行机制分为5个阶段:(1)Input阶段读取来自指标的数据并进行切片,再将其分配给Map 函数;(2)Map阶段按照逻辑关系处理数据片;(3)Shuffle 阶段Map 将中间键值运送到Reduce节点,并进行合并排序;(4)Reduce阶段处理数据;(5)Output阶段输出结果[10]。
根据MapReduce运行机制在Input阶段得到k个不同的云安全指标数据训练集子集样本,k是并行Map的数量。在Map阶段采用极限学习机训练算法进行逻辑训练,得到k个不同的ELM。Shuffle 阶段将k个ELM结果传输到Reduce阶段进行数据处理。Output阶段输出评估证据。
ELM 算法是一种学习速度快的单层神经网络算法,设ELM隐含层神经元数量为L,样本个数为N,矩阵形式为:
其中,xj为输入矩阵,xj=[xj1,xj2,…,xjn]T,tj为输出矩阵,tj=[tj1,tj2,…,tjm]T。
ELM输出为:
设;
则公式(6)可表达为:HB=T,H为ELM的隐含层神经元的输出矩阵,xj:h(xj) 为输入xj的特征映射,其中,h(xj)=[ψ(xj;u1,v1),…,ψ(xj;uL,vL)]。
当N>L时,ELM训练误差接近0,此时求ELM近似等价于解B的线性方程组最小二乘解:
结合岭回归,运用正则化系数C改善ELM网络稳定性和泛化能力,B的最小二乘解可表示为:
ELM输出可表示为:
以Hadoop平台为基础,设置32个网络节点,每个节点配置采用Intel i7 处理器,16GB 内存服务器,以Windows10 为操作系统,选择KDDCUP99 数据作为数据挖掘对象。建立云安全评估等级标准如表1所示。
表1 云安全评估等级标准
基于ELM数据挖掘的云安全评估过程如下:
首先,读取数据训练集,运用MapReduce 框架分割样本得到k个不同的训练子集,k为并行Map的数量;其次,根据Map函数的程序逻辑运行数据训练子集,训练k个不同ELM;最后,通过MapReduce框架的Shuffle阶段将k个ELM结果传输到Reduce 阶段,将权重分配给各Map,综合评估云安全。
(1)根据云安全评估模型,对Hadoop云计算平台中的数据进行数据挖掘,并经过数据的转化得到评估证据和指标权重,评估证据值和对应的指标权重如表2所示。
表2 评估证据值和对应的指标权重
(2)根据公式(3)计算5 大属性主机安全、数据安全、物理安全、网络安全、应用安全的评估值和该系统的总评估值如表3所示。
表3 云安全评估结果
由表3可以看出,采用所设计的云安全评估模型得到的评估结果主机安全评估分值为0.720、数据安全评估分值为0.850、物理安全评估分值为0.612、网络安全评估分值为0.950、应用安全评估分值为0.624,总评分值为0.810。总结果该系统具有非常高的安全等级,其中数据安全和网络安全评估等级非常高,物理安全、应用安全和主机安全的评估等级为高。
为提高云计算网络系统安全评估的效率和准确性,采用了ELM算法进行数据挖掘,并经过数值转化获得可作为评估依据的评估证据,采用综合模型进行评估不仅可以针对云服务系统中的各个属性部分进行局部的安全评估,还可以从整体性上对系统进行评估,在一定程度上既提高了评估的效率又提高了云安全评估的全面性。