首页 > 范文大全 > 正文

基于扩展时间对象Petri网的粗糙网络攻击模型

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于扩展时间对象Petri网的粗糙网络攻击模型范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

收稿日期:2011-02-21;修回日期:2011-04-25。基金项目:陕西省重点学科建设专项资金资助项目(zdxk2010)。

作者简介:黄光球(1964-),男,湖南桃源人,教授,博士,主要研究方向:网络安全; 王纯子(1983-),女,陕西西安人,博士,主要研究方向:网络安全; 张斌(1984-),男,陕西渭南人,工程师,硕士,主要研究方向:网络安全、软件测试。

文章编号:1001-9081(2011)08-02146-06doi:10.3724/SP.J.1087.2011.02146

(西安建筑科技大学 管理学院,西安710055)

()

摘 要:为了解决复杂网络中相似攻击手段和相似节点对象在攻击模型中造成冗余的问题,提出一种基于脆弱关联模型的粗糙网络攻击建模方法。在攻击变迁域和节点对象域上定义属性集,将相似的攻击方式和网络节点分类,形成论域Petri网上的类空间。通过定义路径相似度,利用蚁群算法找出所有可达攻击目标的特征路径,并在这些特征路径中找出给目标节点带来最大威胁的攻击路径。实验证明,该方法能够快速地定位实时监控信息中涉及的节点对象和攻击方式,在各种特征攻击路径中准确找到其所在位置。

关键词:网络安全;攻击模型;粗糙集;Petri网

中图分类号: TP393.08文献标志码:A

Rough attack model based on object Petri net of expanded time

HUANG Guang-qiu, WANG Chun-zi, ZHANG Bin

(School of Management, Xi'an University of Architecture and Technology, Xi'an Shaanxi 710055, China)

Abstract: To solve the redundancy problem caused by similar attack methods and similar node objects in an attack model of complex network, a rough network attack model based on the vulnerability relation model was put forward. The attribute set was defined on the node domain and the transition domain in a Petri net, similar attack methods and similar node objects were classified to form the class space of the domain Petri nets. By defining similar degree of path, all characteristic attack paths which could arrive at an attack goal could be searched out by the ant algorithm, and the maximal threat path, which could access the goal node, could be found out from all these characteristic attack paths. The experimental results show that the proposed model can quickly locate the node objects and the related attack methods from on-time monitoring information and find accurately their positions from all these characteristic attack paths.

Key words: network security; attack model; rough set; Petri net

0 引言

随着网络规模的扩大和结构的日益复杂化以及攻击技术的不断更新,网络攻击建模成为了网络安全迫切需要解决的问题。目前,国内外诸多学者在网络攻击建模领域已做了不少相关工作。文献[1]采用特权图对网络系统中漏洞的关系进行描述,使用Markov模型计算攻击者攻击目标付出的平均代价;文献[2]通过分析网络入侵检测系统(Network Intrusion Detection System,NIDS)日志信息来研究攻击者行为,将其安全入侵过程分为多个阶段并利用Markov模型定量评估了系统的可靠性;文献[3-4]提出一种状态转移模型来研究入侵者行为的动态特性;文献[5]以模糊Petri网理论为基础,定义了一种面向检测的新型网络攻击模型;文献[6]将一般模糊集扩展至双枝模糊集,提出可同时考虑攻击促进作用和攻击阻碍作用两个方面的因素的网络攻击模型;文献[7]结合双枝模糊集理论,提出了一种新型的一致性网络攻击模型。在攻击路径生成方面,文献[8]提出利用粗糙攻击图来描述攻击方采取策略的不确定性,通过对攻击方式进行分类给出了网络风险最大流分析算法。但粗糙攻击图的生成算法以及后续分析是基于对攻击者能力的定义和掌握的,这在现实分析中将遇到困难。在限制攻击策略规模方面,文献[9-10]分别提出了通过限制搜索深度和宽度来限制攻击策略规模,这些措施很大程度上限制了攻击策略空间描述的完整性,并且当网络中存在大量相似设备的情况下,依然无法解决攻击路径规模庞大的问题。

针对目前研究中的缺陷与不足,本文提出一种适合对复杂网络进行攻击建模方法,该建模方法具有如下特色:1)建立基于对象时间Petri网的网络攻击模型,该模型描述了网络主机间的所有攻击关系;2)通过引入粗糙集理论,将Petri网中具有相同攻击效果的攻击方式,以及在攻击关系中具有相同地位的网络节点划入同一等价类,分类的目的在于只要获取有限的几条特征攻击路径就能够搜索整个攻击策略空间,从而解决全面把握攻击动向和限制路径规模之间的矛盾;3)通过采用蚁群算法在论域Petri网中搜索到达攻击目标的特征路径,每一条特征路径都能够代表一类攻击策略,并且在该类策略中攻击威胁度最大。

1 粗糙网络攻击模型的建立

1.1 基本定义

本文将粗糙集引入Petri网的建模中,定义一种新的Petri网模型,粗糙Petri网具有对不完备信息的描述能力,它描述了对同一节点的攻击行为间的不可分辨性,以及论域网上具有相似功能、地位以及攻击关系的节点间的不可分辨性。具体定义如下所述。

定义1 变迁类空间。给定U{t1,t2,…,t|U|}为变迁域,ti为Petri网中的变迁,表示某一攻击行为。R为U上的属性集,可以在U上形成等价关系。U/R{T1,T2,T3,…,Tv}表示按R划分的所有等价类;TiU,Ti≠ВTi∩TjВ对于i≠j; i, j1,2,3,…,v;∪vi1TiU。

R(t){ti∈t|[ti]R∩t≠},R′(o){oi∈o|[oi]R′∩o≠}

则R/R′(retpn)和R/R′(retpn)称为retpn的下近似Petri网和上近似Petri网。

对攻击变迁而言,论域Petri网反映了外界对节点上存在的所有漏洞的可攻击关系,粗糙Petri网则反映了其中某几个发生概率较大的攻击关系。本文构建的粗糙Petri网目的在于反映防御方预测攻击方最可能采取的攻击策略,与这些策略属于同一类的攻击方式,即粗糙网的上近似网,亦有可能被攻击者采用。对节点对象而言,论域petri网反映了攻击者所有可选择的攻击对象,粗糙Petri网则反映了其中几个最容易被攻击者攻击的对象。

基于扩展时间Petri网的粗糙攻击模型的生成方法可采用深度优先或广度优先算法,以攻击者初始状态为起点,根据网络节点信息,不断与攻击规则库中的规则前提匹配,生成新的攻击变迁和库所节点,模型中的库所均由脆弱状态VS来表示。生成的RETPN攻击模型可反映论域网中任意节点间的攻击关系,为上述粗糙性定义中的论域Petri网。

1.2 论域Petri网上类空间的划分

根据定义1、2,将论域Petri网上的变迁空间划分为等价类,形成类空间。变迁类空间的生成算法如下所述。

算法 TranCS_generation

输入 U{t1,t2,…,tm}为变迁域,R。

输出 U/R{T1,T2,…,Tv}。

1)

初始化,创建集合U/R;attVal{{Access},{User},{Root,System},{DoS},{Info-leak}};T1{t1}; U/RT1//这里attVal表示攻击前提和攻击后果中可划为一类的属性值

2)

for(i2;i≤m;i++){//i记录当前需要分类的变迁

3)

flag0;

4)

for(j1;j≤class_num; j++){//class_num记录已经生成的等价类个数

5)

if(I(ti).ObjI(Tj).Obj&&O(ti)O(Tj))

//I(ti).Obj表示变迁输入库所属于的对象,

//O(Tj)为attVal中的元素

6)

{TjTj∪ti; flag1;break;}}

7)

if(flag0)

8)

创建一个新类T++class_num∈U/R; Tclass_num{ti};}

9)

输出U/R;

上述算法中,当变迁的前件状态属于同一节点对象,后件状态为同一节点上的同类脆弱状态时,将它们归为一类。算法需要遍历变迁域中的m个变迁,将它们分别与已划分好的class_num个等价类进行比较,在最坏情况下,每个变迁自成一类,最终可将变迁域划分m类,则class_num取值为[1,m],因此最内层(第5)行)if语句执行的最大次数为m(m-1)/2,则算法的最坏时间复杂度为O(m2)。

相比变迁类的生成方式,节点类空间的生成较为复杂,先遍历论域Petri网中各节点之间的攻击关系,生成条件―等价类空间,然后再在每个类空间中按节点的功能属性进一步划分。为了方便后面威胁度的动态调整,本文算法将具有相同攻击后果的节点对象归为一类时,保留各节点对象上的库所状态。节点类空间的生成算法如下所述。

算法 ObjCS_generation

输入 论域Petri网RETPN,U′{O0,O1,…,ON}为节点域,R′。

输出 U′/R′{Obj1,Obj2,Obj3,…,Objc}。

1)

初始化,创建集合U′/R′;Obj_AR1{O1};

2)

class_num0;//class_num记录按攻击关系分类的数量

3)

for(i1;i≤N;i++){//i记录当前被攻击的节点对象

4)

for(j1;j≤5; j++){//每个节点对象上有attVal

//所示的5类脆弱状态

5)

对库所Oi.pj,创建一个新类Obj_ARclass_num+1; label(Obj_ARclass_num+1)Oi.pj

//label(Obj_ARclass_num+1)为类标记,表示该类中

//等价关系的条件

6)

for(对所有Oa.ph∈InputPlace(Oi.pj))

//InputPlace(Oi.pj)表示Oi.pj库所所有输入

//变迁的前件状态集合

7)

Obj_ARclass_num+1Oa.ph;

8)

for(l1;l≤class_num; l++){

9)

flag0;

10)

if(新类Obj_ARclass_num+1与Obj_ARl中的元素相同){

11)

Obj_ARlObj_ARl∪Obj_ARclass_num+1;

12)

label(Obj_ARl)label(Obj_ARl)∪

label(Obj_ARclass_num+1);

13)

flag1; break;}}

14)

if(flag0) class_num++;

15)

}}

//将按攻击关系生成的各类再按功能属性划分

16)

subclass_num0; //subclass_num记录Obj_ARj类中

//已生成的子类个数

17)

for(j1;j≤class_num;j++){

18)

创建新类Obj++subclass_num; label(Obj++subclass_num)

label(Obj_ARl);

19)

Objsubclass_num{Ojr}; //Ojr为Obj_ARj类中的一个对象

20)

for(对所有的对象Oi∈Obj_ARj){

21)

flag0;

22)

for(j1;j≤subclass_num;j++){

23)

if(RFun(Oi)RFun(Objj))//RFun表示功能属性

24)

{ObjjObjj∪Oi; flag1; break;}}

25)

if(flag0){

26)

创建一个新类Obj++subclass_num∈U′/R′;

27)

Objsubclass_numOi; label(Objsubclass_num)

label(Obj_ARl);}

28)

}}

29)

输出U′/R′;

上述算法中,第1)~15)行按照攻击关系分类形成条件―等价类空间,此阶段需要遍历论域Petri网中每个节点对象的库所类,主机节点共N个,最坏情况下每个节点的5类脆弱状态均发生,则算法遍历网络库所共5N次。每次遍历需对各个库所输入变迁的前件状态进行分类,并将新生成的类与已生成类比较合并,设各库所平均攻击节点数为d,则语句执行最大次数为5N×(d+)。第16)~29)行在已有的类空间上按功能属性继续细分,最坏情况下,每个类中节点的功能各不相同,则第23)行语句的最大执行次数为class_num×,其中Obj_AR为各类Obj_ARj中元素数的平均值。综上所述,算法ObjCS_generation的时间复杂度为O(N×d+N2+class_num×Obj_AR2)。

1.3 特征攻击路径的生成

对复杂网络系统而言,生成所有精确路径显然没有必要,但只生成一条攻击路径也过于绝对,因此本文提出k条具有代表性的攻击策略生成算法,该算法可以在论域攻击Petri网中找到k(k≥1)条发生概率最大的攻击路径,这些路径之间具有一定的排斥性,基本能够覆盖整个路径空间的特征。k-特征攻击策略集合构成粗糙攻击Petri网。

定义6 g={g1[k],g2[k],…,gn[k]},与RETPN中P的各元素一一对应,gi[k](i1,2,…,n)是一个数据结构数组,其中数组元素gi[l](routp0,t1,p1,…, tk,pl;Ctotal;AT),rout与Ctotal与托肯记录相同,AT为根据Ctotal与μi依文献[12]中的式(2)计算出的库所pl的威胁度。gi[k]存储着通过对应库所pi(i1,2,…,n)的所有托肯中,攻击复杂度C值最小的k个托肯元素;τ={τ1,τ2,…,τm}与T中元素一一对应,存储对应变迁上的信息素,是托肯选择路径的主要依据。

定义7 路径相似度(Rout_Sim)。路径相似度指托肯中记录的rout路径序列的相似程度,主要由路径中通过节点的等价性来反映。设路径routi和路径routj中的库所序列为seqi和seqj,则有:

Rout_Sim(routi,routj)

1-, length(seqi)length(seqj)

0, length(seqi)≠length(seqj)(1)

其中为模糊异或运算符。本文在原有的异或运算中加入模糊值。当两个路径序列中对应的库所位相等时,该位取值为0;当两个库所位不等但在路径中的攻击关系上具有等价性,此时该位取值0.5;当两个库所位不等且无等价关系时,该位取1。当两条路径长度相等时,seqiseqj为一个以0,0.5和1组成的数字序列。bit_sum表示seqiseqj序列上的所有位相加。length为routi和routj的库所序列长度,即数字序列的位数。当两条路径长度不相等时,认为它们的相似度为0。

为了保证选出的k条路径具有一定的代表性,避免蚁群算法最后收敛于过于相似的路径而无法覆盖整个攻击策略空间,当两条或多条路径经过节点库所异常相似时,即路径相似度很大时,认为这两条路径具有不可分辨性,则保留其中的一条即可。相似路径判定过程如下。

设两条路径rout1和rout2的库所序列为seq1和seq2,做模糊异或运算时,从路径序列的最右端(即目标库所)开始比较,首先目标位相同,该位取0。然后判断右起第二位是否相同,若相同,该位取0;若不相同,以攻击目标库所为条件,在节点对象的条件―等价类U′/R′中寻找这两个库所是否具有等价关系,若对目标库所而言属于同一等价类,则该位取0.5,若无等价关系,该位取1。继续向左比较,判断第三位的两个库所的等价关系以第二位为条件,若第二位取值为0,比较方式同上。若第二位取值为1或0.5,说明第二位上的库所不相同,设它们分别为Oi.pa与Oj.pb,此时分别以Oi.pa和Oj.pb为前提条件,判断第三位的两个库所在U′/R′中是否具有等价关系,若对Oi.pa和Oj.pb而言,第三位上的两个库所均属于同类,则该位取值0.5;否则,取值为1。

本文使用自定义托肯在网络上搜索特征攻击路径。托肯在网络上的运行过程中,变迁的激发将影响该托肯中的路径信息记录,同时各个库所的gi[k]数据也会根据新到托肯所携带的信息而进行更新。当多个变迁争夺一个托肯时,托肯按一定的概率选择将要激发的变迁,此概率由变迁的攻击复杂度和信息素浓度来决定。

U/R{{t1},{t2},{t3,t4},{t5,t6},{t7,t8},{t9},{t10},{t11},{t12},{t13},{t14},{t15},{t16},{t17},{t18},{t19},{t20},{t21},{t22},{t23},{t24},{t25},{t26}}

U′/R′{{O6.p11:O8.p15},{O6.p11:O10.p16},{O7.p12:O11.p17,O12.p18,…,O61.p57},{O7.p12:O3.p4,O4.p6},{O8.p14,O8.p15:O5.p9,O3.p4,O4.p6},{O10.p16:O11.p17,O12.p18,…,O61.p57},{O10.p16:O1.p1},{O11.p17,O12.p18,…,O61.p57:O1.p1},{O11.p17,O12.p18,…,O61.p57:O2.p2},{O1.p1,O2.p3,O3.p4,O4.p6,O5.p9,O6.p10,O7.p13,O8.p15:O10.p16}}

图1 实验网络拓扑结构

表1 各节点上存在的漏洞及其访问关系

图2 论域攻击Petri网

设内部局域网中的数据库服务器IP7和备份服务器IP6为重点保护对象,其敏感数据的非法访问和Root权限的获取都将对企业造成重大损失。以IP6.Info-leak,IP6.Root和IP7.Info-leak,IP7.Root为攻击目标,与上述生成的论域Petri网一起作为k-特征攻击策略挖掘算法的输入。k-ChaAttStr算法中的各参数取值如下:

每轮迭代在O0.p0初始库所中放入20个托肯,令k3,τ010,α0.4,β0.6,ε0.75,Max_obj4,ζ1,Q20,η0.3,ρ0.3。托肯大约完成7轮搜索后,4个目标库所中的记录为:

g10[0](routO0.p0,t1,O1.p1,t20,O10.p16,t26,O6.p10;Ctotal1.2;AT0.5774)

g10[1](routO0.p0,t2,O2.p2,t13,O11.p17,t18,O10.p16,t26,O6.p10;Ctotal1.3;AT0.564)

g10[2](routO0.p0,t1,O1.p1,t11,O11.p17,t18,O10.p16,t26,O6.p10;Ctotal1.9;AT0.4963)

g11[0](routO0.p0,t2,O2.p2,t13,O11.p17,t18,O10.p16,t21,O6.p11;Ctotal2;AT0.393)

g11[1](routO0.p0,t4,O3.p4,t15,O8.p15,t17,O6.p11;Ctotal1.7;AT0.4227)

g11[2](routO0.p0,t1,O1.p1,t20,O10.p16,t21,O6.p11;Ctotal1.9;AT0.40235)

g12[0](routO0.p0,t2,O2.p2,t13,O11.p17,t22,O7.p12;Ctotal0.6;AT0.5794)

g12[1](routO0.p0,t1,O1.p1,t11,O11.p17,t22,O7.p12;Ctotal1.2;AT0.4834)

g12[2](routO0.p0,t4,O3.p4,t24,O7.p12;Ctotal0.3;AT0.6394)

g13[0](routO0.p0,t1,O1.p1,t20,O10.p16,t26,O7.p13;Ctotal1.2;AT0.5774)

g13[1](routO0.p0,t2,O2.p2,t13,O11.p17,t18,O10.p16,t26,O7.p13;Ctotal1.3;AT0.564)

g13[2](routO0.p0,t1,O1.p1,t11,O11.p17,t18,O10.p16,t26,O7.p13;Ctotal1.9;AT0.4963)

以上12组记录为初始库所O0.p0到达目标库所O6.p10,O6.p11,O7.p12,O7.p13的特征攻击路径,每个目标库所中的3条路径体现了攻击者的各种策略特征,基本能够覆盖整个的攻击策略空间,同时它们是各类策略中攻击威胁度最大的路径。以上12条记录是论域Petri网中的一个子集,在变迁等价类和节点对象等价类空间中形成粗糙Petri网。图3给出了12条特征攻击路径所组成的路径网,它在论域Petri网的等价类空间中具有粗糙性。图4为特征攻击路径网的上近似网,它反映了所有与特征路径相似的攻击路径,包括相似节点和相似变迁。攻击者可能采取上近似网中的任意一条路径实施攻击。可以看出,上近似网的规模是庞大的,实际应用中,获取特征攻击路径集以及变迁域和节点域上的分类就可以进行动态网络威胁分析,大大降低了存储与分析规模。

对每个攻击目标而言,k-特征攻击路径能够全面反映攻击者从初始库所到达目标状态的所有可能策略。如对目标O7.p12而言,三条攻击路径分别反映了攻击者的如下特征策略:

1)攻击者Z区中邮件服务器LAN普通用户机LAN数据库服务器;

2)攻击者防火墙LAN普通用户机LAN数据库服务器;

3)攻击者Z区中Web服务器LAN数据库服务器。

这三种策略均对应多条攻击路径,如普通用户机共50台,成功利用任何一台都可构成一条攻击路径。Web服务器2台,从这两台服务器上都可以获得数据库访问权。因此由蚁群算法得到的三条特征路径g12[0]、g12[1]、g12[2]是各类攻击策略中威胁度最大的具体路径,该路径不唯一,g12[0]中的O11.p17可被任意更换为O11.p17~O61.p67中的一个。

图3 粗糙攻击Petri网

图4 粗糙攻击Petri网的上近似网

3 结语

通过实例的分析可以看出,对于复杂网络而言,具有相同属性的主机在网络攻击路径的预测中往往会降低预测效率,即预测出的路径很可能收敛于某一类攻击策略当中,不能覆盖全部的攻击特征,而要通过增加预测路径的数目来解决该问题付出的代价将是巨大的。因此,抽取攻击策略的特征,生成具有代表性的互异路径,能够大大降低路径数量,提高预测效率。将网络中节点对象和攻击变迁按照属性划分生成等价类空间,能够快速地定位NIDS等实时监控信息中涉及的节点对象和攻击方式,在各种特征攻击策略中准确找到其所在位置。

参考文献:

[1] ORTALO R, DESWARTE Y, KAANICHE M. Experimenting with quantitative evaluation tools for monitoring operational security [J]. IEEE Transactions on Software Engineering, 1999, 25(5): 633-651.

[2] JONSSON E, OLOVSSON T. A quantitative model of the security intrusion process based on attacker behavior [J]. IEEE Transactions on Software Engineering, 1997, 23(4): 235-24.

[3] GOSEVA-POPSTOJANOVA K, WANG F, WANG R, et al. Characterizing intrusion tolerant systems using a state transition model [C]// DISCEX'01: Proceedings of the DARPA Information Survivability Conference and Exposition. Anaheim, CA: [s.n.], 2001: 211-221.

[4] MEHTA V, BARTZIS C, ZHU H, et al. Ranking attack graphs [C]// RAID 2006: Proceedings of the International Symposium on the Recent Advances in Intrusion Detection. Berlin: Springer-Verlag, 2006: 127-144.

[5] 黄光球,乔坤,朱华平.基于FPN的模糊攻击图模型及生成算法研究[J].微电子学与计算机,2007,24(5):162-165.

[6] 黄光球,任大勇.基于双枝模糊决策与模糊Petri网的攻击模型[J].计算机应用,2007,27(11):2689-2693.

[7] 黄光球,王金成.基于双枝模糊集的一致性模糊变权Petri网攻击模型[J].计算机应用,2009,29(2):529-533.

[8] 黄光球,李艳.基于粗糙图的网络风险评估模型[J].计算机应用,2010,30(1):190-195.

[9] 苘大鹏,张冰,周渊,等.一种深度优先的攻击图生成方法[J].吉林大学学报:工学版,2009,39(2):447-451.

[10] 赵芳芳,陈秀真,李建华.基于权限提升的网络攻击图生成方法[J].计算机工程,2008,34(23):158-160.

[11] 姜伟,方滨兴,田志宏.基于攻防博弈模型的网络安全测评和最优主动防御[J].计算机学报,2009,32(4):817-825.

[12] 王纯子,黄光球.基于脆弱性关联模型的网络威胁分析[J].计算机应用,2010,30(11):3046-3050.