网络安全论文:基于云的网络安全态势预测规则挖掘算法研究*摘要现有网络安全态势预测算法对初始训练数据依赖性强,预测结果客观性差。提出了基于云的网络安全态势预测思想和基于云的网络安全态势预测规则挖掘算法。采用基于云模型的属性论域区间软划分方法解决了定性与定量转换中的区间硬性划分导致的边界元素内在联系丢失的问题。通过实验验证了算法的可行性和有效性。基于云的网络安全态势预测思想,不需要对预测算法进行数据训练,提高了网络安全态势预测的客观性。关键词网络安全;云模型;态势预测;预测规则1引言随着网络规模不断扩大,网络安全形势日益严峻,传统的安全技术很难从宏观上把握整个网络的安全状态,为网络管理员提供直观有力的决策支持,网络安全态势感知为大规模网络的安全研究提供了一条新思路。态势预测是网络安全态势感知系统的重要组成部分,客观准确的态势预测,可以使管理员对网络的发展趋势有更清楚的了解,对可能发生的攻击威胁采取有针对性的措施,从而有效降低网络安全风险。国内外在网络安全态势预测领域已经开展了一些研究工作,R.K.Saha等人提出了一种基于线性回归的预测方法[1],实现了对网络带宽的优化和对网络态势的感知;JoelBrynielsson和StefanArnborg提出了一种基于贝叶斯网络的态势感知和预测模型[1],将博弈论工具应用于预测领域,与贝叶斯网络相结合,实现对作战指挥控制的辅助决策;赵国生等人提出了基于灰色Verhulst网络安全态势感知模型[3],该方法根据累加序列所呈现出“S”形或反“S”形的摆动特征,选用灰色Verhulst模型或其反函数模型预测网络未来的风险值,然后基于多级残差对模型的预测精度进行修正,最后应用修正后的新模型得到网络安全态势曲线;任伟等人提出了基于RBF神经网络的态势预测方法[4],该方法通过训练RBF神经网络找出态势值的前N个数据和随后M个数据的非线性映射关系,进而利用该关系进行态势值预测;张翔等人提出了基于支持向量机的网络攻击态势预测技术[5],应用支持向量回归的预测方法对网络攻击态势评估指标进行时间序列预测,首先选择核函数及相关参数,然后基于历史样本数据训练算法模型,然后通过训练后的模型进行网络安全态势预测。研究发现,这些方法在初始配置时,需要对预测算法进行数据训练,根据训练数据生成一定的预测模型进行下一步的预测,训练数据的质量直接决定了评估和预测的效果。例如基于RBF的态势预测方法,预测模型受训练数据的影响很大,前N个数据或者随后M个数据的微小变化,就可能引起它们之间的非线性映射关系的剧烈变化,难以客观地反映态势的发展变化趋势。针对这个问题,本文提出了基于云的网络安全态势预测思想:在历史数据中挖掘态势演化的规则—预测规则,将预测规则与当前状态相结合,实现对未来态势发展的预测,从而降低预测算法对初始训练数据的依赖性,提高预测结果的客观性。在基于云的网络安全态势预测算法中,预测规则的优劣直接影响到预测效果,本文提出了基于云的网络安全态势预测规则挖掘方法,针对定性定量转换中区间硬性划分导致不确定性边界数据丧失模糊度的问题和关联规则挖掘过程中最小支持度和置信度阈值的设定人为主观因素对规则挖掘影响大的问题。实验表明该方法可行有效,能够降低主观因素对预测规则挖掘的影响,提高算法的客观性。2基于云的网络安全态势预测规则挖掘算法网络安全态势评估是网络安全态势预测的基础,现有的网络安全态势评估方法[3~5]大都是通过一定的数学方法对态势指标数据进行处理,从而得到一个网络安全态势值。由于网络威胁时序的混沌性和自相似性[6],当前时刻的网络安全态势指标数据与态势数据之间必然存在某种关联关系,而历史上类似态势的发展之间也存在着某种联系,因此,挖掘历史数据中指标数据和态势数据之间的关联关系可以为态势预测提供有益的帮助。如何很好地发掘历史数据的内在联系,为预测提供尽可能准确的预测规则,成为基于云的网络安全态势预测方法中迫切需要解决的问题,为此,本文提出了一种基于云的预测规则挖掘算法。2.1云的基本理论1995年我国学者李德毅院士提出了云理论,用云的数字特征来反映定性知识的定量特性,用以反映自然语言中概念的不确定性。云的定义如下[7]:定义1设U是一个用精确数值表示的定量论域,C是U上的定性概念,若定量值x∈U,且x是定性概念C的一次随机实现,x对C的隶属度μ(x)∈[0,1]是具有稳定倾向的随机数,则x在论域U上的分布称为云,每一个x称为一个云滴。μ:U→[0,1],x∈U,x→μ(x)(1)云有很多类,正态云应用范围最广、最具代表性,其数字特征可以用三个数值完整地表示出来:期望值Ex、熵En和超熵He。期望Ex:云的论域中,对应于隶属度最大值的基础变量x称为云的期望。它标定了云在论域中的位置,即云的重心位置。熵En:概念模糊度的度量。熵的大小直接决定了在论域中可被模糊概念所接受的范围,体现了定性概念亦此亦彼性的域度,熵越大,概念所接受的数值范围越大,概念也越模糊。超熵He:超熵是熵En的熵,它反映了云的离散程度。超熵的大小间接地反映了云的厚度,超熵越大,云滴离散度越大,隶属度的随机性越大,云的厚度越大。云模型是云的具体实现方法,是用语言值表示的某个定性概念与其定量表示之间的不确定性转换模型[6],构成了定性与定量之间的映射。正向云发生器根据云的数字特征产生云滴,实现定性概念到定量数值之间的转换。逆向云发生器[6]是实现数值和其语言值之间的随时转换的不确定转换模型,实现将已有的一定数量的精确数据有效的转换为以恰当的定性语言值表示的概念,并得到语言值的数字特征,从而实现了定量数值到定性概念之间的转化。2.2基于云的态势数据属性区间划分网络安全态势评估涉及多种指标,本文仅从IDS采集的威胁性指标数据入手,采用简单加权法对指标数据进行处理,从而为态势预测规则挖掘算法提供数据支持。简单加权算法的思想如下:FSA(Ti,Ni)=∑ni=1Ti×Ni∑ni=1Ni(2)其中,函数FSA(Ti,Ni)表示当前的网络安全态势值,Ni为IDS检测到第i种攻击的数量,Ti为第i种攻击所对应的威胁等级,网络安全态势值越大,网络就越不安全。指标数据大多是论域连续的数值型数据,在进行预测规则挖掘前,需要对数据的论域进行区间划分,使连续数据离散化,然后将离散的数据转换为布尔型数据,才能够利用关联规则算法进行预测规则挖掘。以往对属性论域区间做硬性划分的方法,忽略了相邻区间的边界元素之间可能存在的内在联系,从而影响了规则挖掘效果。本文采用基于云模型的属性论域区间软划分方法[7],对数据进行划分。设S={s1,s2,s3,…,sn}是一组时序威胁性指标数据,si表示S中第i个元素。将数据集合S论域划分为m个区间,A={a1,a2,a3,…am}为m个区间对应的定性属性集合,其中aj表示A中第j个元素,每个aj对应一个定性概念。C={C1(Ex1,En1,He1),C2(Ex2,En2,He2),…,Cm(Exm,Enm,Hem)}为云模型的概念集合,其中Cj表示C的第j个概念。集合中的每一项概念Cj对应且只对应着A中属性aj,Cj的语言值由其所对应云的数字特征来表征。在此基础上建立一种定量数据与定性概念之间的联系:指标数据S中的每一个元素si,利用极大值判别法可以找到其对应云模型的概念Cj,而Cj与定性概念集合A中的aj是一一对应关系,所以,定量数据S与定性概念A之间就形成了一一对应的关系,实现了定量数据和定性概念之间的转换。S中同时隶属于两个或两个以上云模型概念的元素,称为边界元素。边界元素最终归属于哪个云模型概念取决于其对各个概念隶属度的大小,哪个隶属度大,该元素就归属哪个概念,这样不仅减少了人为因素对数据处理的干扰,也体现了数据之间模糊性和随机性的关联,符合人类的思维习惯。需要指出的是,随着数据量的增大,数据的论域会发生变化,需要对定性概念进行重新划分,保证概念的准确性。2.3基于云的网络安全态势预测规则挖掘算法本文基于云模型改进优化的关联规则挖掘(OptimizationRelationAssociationRule,ORAR)算法,基本思想为:采用云变换将数值型属性划分为多个由云表示的定性概念,将数值型属性转化为布尔型离散数据。在此基础上,通过建立关系矩阵R,减少对事物数据库的访问次数,在k-1大项集的基础上,生成k-项集。找出k-项集中支持度sup不小于最小支持度阈值minsup的项,得到k-大项集。最后,输出置信度conf大于最小置信度阈值min-conf的规则。基于云的网络安全态势预测规则挖掘算法的步骤如下:1)属性区间划分:设D={D1,D2,D3,…,Dm}为威胁性指标数据集,Di表示第i种攻击威胁的数据集。T={T1,T2}为网络安全态势值的集合,T1为D对应的网络安全态势集合,T2为T1下一时刻网络安全态势的集合。将Di(1im)划分为k个属性概念,得到云模型的概念集合CDi={CD1,CD2,CD3,…,CDk}。将T划分为n个属性概念,得到云模型的概念集合CT={C1,C2,C3,…,Cn}。2)态势数据归类:利用云模型中的极大值判别法确定Di中数据所隶属的概念,建立关系矩阵RDi。3)重复步骤1)~2),对D和T进行属性划分和数据归类,得到数据集D的云模型概念集合CD={CD1,CD2,CD3,…,CDm}和关系矩阵集合RD={RD1,RD2,RD3,…,RDm};态势数据集T的云模型概念集合CT={C1,C2,C3,…,Cn}和关系矩阵集合RT={R1,R2}。4)合并关系矩阵R=(RD1,RD2,RD3,…,RDm,R1,R2)。5)产生1大项集:输入关系矩阵R和min-sup,搜索关系矩阵R,采用orar1算法搜索支持度supminsup的项集,得到1大项集,并将1大项集放入到大项集合L中。6)产生2大项集:搜索关系矩阵R,采用orar2算法在1大项集的基础上搜索支持度supmin-sup的项集,从而得到2大项集,并将2大项集放入到大项集合L中。7)产生k大项集:当k2时,搜索关系矩阵R,采用orark算法在k-1大项集的基础上搜索支持度supminsup的项集,生成k大项集,并将k大项集放入到大项集合L中。8)产生规则:输入minconf,计算集合L中大项集生成规则的置信度conf,输出置信度confminconf的规则。3实验与分析3.1数据选取及概念描述数据来源于某局域网络采集的IDS警报数据。从数据中选取IDS检测到的扫描威胁警报数T和IDS检测到的攻击警报总数I,通过式(2)计算得到网络安全态势值SA。M点和N点为网络安全态势在t=324和t=416时刻的对应状态。威胁程度通过攻击警报数来反映,警报次数多,则威胁程度大,警报次数少,则威胁程度就小。利用基于云的属性区间划分法将IDS数据划分为3个离散概念:威胁小、威胁一般、威胁大。网络安全态势划分为3个离散概念:安全、较安全、不安全。各个概念在云模型的数字特征,各概念的数字特征均由逆向云发生器计算得到。3.2实验结果采用基于云的预测规则挖掘算法对实验数据进行挖掘,选取的最小支持度和置信度阈值分别为minsup=0.0312和minconf=0.6153,得到6个预测规则:1){扫描威胁小,总体威胁一般,不安全→较安全}(sup=0.0607,conf=0.6401);2){扫描威胁小,总体威胁大,较安全→不安全}(sup=0.0365,conf=0.6361);3){扫描威胁小,总体威胁大,不安全→不安全}(sup=0.0604,conf=0.7621);4){扫描威胁一般,总体威胁小,不安全→较安全}(sup=0.0379,conf=0.6031);5){扫描威胁大,总体威胁大,较安全→不安全}(sup=0.0304,conf=0.8125);6){扫描威胁大,总体威胁大,不安全→不安全}(sup=0.0512,conf=0.7714)。其中第3)条规则{扫描威胁小,总体威胁大,不安全→不安全}表示若当前状态扫描威胁小,总体威胁大,态势不安全时,下一时刻