CN103748982B - 基于Petri网模型的误用检测系统攻击知识库的校验方法 - Google Patents

基于Petri网模型的误用检测系统攻击知识库的校验方法

Info

Publication number
CN103748982B
CN103748982B CN200910121383.7A CN200910121383A CN103748982B CN 103748982 B CN103748982 B CN 103748982B CN 200910121383 A CN200910121383 A CN 200910121383A CN 103748982 B CN103748982 B CN 103748982B
Authority
CN
China
Prior art keywords
rule
concurrency control
reachability graph
pessimistic concurrency
petri pessimistic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN200910121383.7A
Other languages
English (en)
Inventor
胡昌振
危胜军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
Filing date
Publication date
Application filed by Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Application granted granted Critical
Publication of CN103748982B publication Critical patent/CN103748982B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明涉及一种基于Petri网的误用检测系统攻击知识库的校验方法,属于 计算机应用技术领域。本发明通过建立攻击知识库的Petri网模型,并在此基础 上生成Petri网模型的可达图,通过可达图发现攻击知识库中存在的错误规则。 由于建立可达图的过程是Petri网模型在计算机中自动运行的过程,因此有效地 解决了人工校验方法存在的效率低的问题;并且,可达图能够将所有的错误类 型直接反映出来,解决了人工校验中存在的漏检问题,提高了正确程度,适用 于误用检测系统攻击知识库的校验。

Description

基于Petri网模型的误用检测系统攻击知识库的校验方法
技术领域
本发明涉及基于Petri网模型的误用检测系统攻击知识库的校验方法,属于计算机应用技术领域。
背景技术
入侵检测(Intrusion Detection)是指识别任何一组企图破坏系统的完整性、保密性和资源的访问权限的活动。入侵检测系统通过检查操作系统的审计数据或网络数据包信息来检测系统中违背安全策略或危及系统安全的行为或活动,并能够根据响应策略进行响应。
根据检测方法可以将入侵检测技术划分为两类:基于行为的入侵检测(Behavior-Based ID)和基于知识的入侵检测(Knowledge-Based ID)。
基于知识的入侵检测,也称为误用检测(Misuse Detection),主要是将已知攻击的相关知识(特征、模式等)存储于数据库,形成攻击知识库,并利用这些已知攻击的相关知识来检查系统中是否出现了这些攻击的特征或模式,判断系统是否遭受到攻击。
误用检测系统攻击知识的表示可采用多种方式,比如一阶谓词逻辑表示法、产生式表示法、框架表示法、语义网络表示法、脚本表示法等,其中由于产生式表示法具有直观、符合人类的思维方式而被目前大多数入侵检测系统采用。
攻击知识的产生式规则的表示形式是:
P→Q
或者
IF P THEN Q
其中,P是攻击规则的前提,用于指出该规则是否为可用的条件;Q是一组结论或操作,用于指出当前提P所指示的条件满足时,应得出的结论或应执行的操作。
整个攻击知识的含义是:如果前提P满足,则可推出结论Q或执行Q所规定的操作。产生式规则表示方法的前提和结论的表达式中有“与”和“或”两种连接方式,由此构成多种不同的规则类型。
攻击知识可以表示成以下四种类型的逻辑蕴含,或者它们的组合。
p1∧p2∧…∧pj-1→pj∧pj+1∧…∧pk
p1∨p2∨…∨pj-1→pj∧pj+1∧…∧pk
p1∧p2∧…∧pj-1→pj∨pj+1∨…∨pk
p1∨p2∨…∨pj-1→pj∨pj+1∨…∨pk
其中,pi为命题,“∧”表示逻辑“与”,“∨”表示逻辑“或”,“→”表示逻辑“蕴涵”。
在后两种知识表示形式中,由于结论命题为“或”连接形式,使得该命题不能表示一个明确的蕴涵。即,当前提条件满足时,结论可以是结论集中的任何一个,不能确定得到的结论是其中哪一个。因此基于以上攻击知识表示采用前两种表示类型。
产生式规则表示的攻击知识可能存在以下几种错误类型:
(1)无效规则
无效规则有如下两种情况:
①死终结
如果一条规则的结论既不能匹配某条规则的条件,又不是要取得的结论,则说该结论是死终结。因此,这条规则也是无用的。这种情况不会导致系统的失败,但却可大大降低效率。
②死条件
如果某条规则的条件既不能从属性值集合中取值,又不能通过用户咨询得以满足,即不存在推理链使其满足,则称该规则的条件为死条件。同死规则一样,它也会降低系统的效率。
(2)规则冗余
冗余规则有如下三种情况:
①规则重复
在相同的前提条件下,同一结论可以由多条规则推理得到;
②规则可归并
分两种情况:一是如果两条规则具有相同的结论,而一条规则的前提是另一条规则的子条件,则两条规则存在冗余,可以归并成一条;二是如果两条规 则具有相同的前提,而一条规则的结论是另一条规则的子结论,则两条规则可以归并成一条。
③推理冗余
在相同的前提条件下,一条规则的结论可由其他几条规则共同推理得到。
冗余规则的出现是由于规则库中存在不必要的规则,冗余规则将增加知识库的规模,造成多余的推理。
(3)规则矛盾
如果两条规则的条件在相同的条件下被满足,但两条规则的结论是矛盾的,则这两条规则是矛盾的。矛盾规则造成推理的结果冲突。
(4)循环规则
如果规则集中含有循环的规则链,则称规则集是循环的;如果规则自身造成循环推理,则称为自循环规则。循环规则造成推理不能终止。
目前,攻击知识库的校验大都采用人工校验方法。即,当需要向知识库中添加新的知识时,通过人工方式将其与知识库中已有知识的前提和结论进行逐条对比和顺序推理来发现攻击知识库中可能存在的上述错误类型。
人工校验方法存在以下不足:
(1)当知识库中的知识数量多的时候,校验工作量大,效率低;
(2)容易出现检查不全,遗漏错误的情况。
本发明中使用到的另外一项重要的已有技术是Petri网模型。
1.Petri网模型的相关定义
[定义1]三元组N=(S,T;F)称为有向网的充分必要条件是:
①S∩T=Φ;
②S∪T≠Φ;
Figure DEST_PATH_BBM2014011000270000033
(“×,,为笛卡尔积);
④dom(F)∪cod(F)=S∪T。
其中 dom ( F ) = { x | ∃ y : ( x , y ) ∈ F } , cod ( F ) = { y | ∃ x : ( x , y ) ∈ F } 分别为F定义域和值域;
S和T分别称为N的库所集和变迁集,F为流关系;
X=S∪T称为N的元素集。
[定义2]Petri网模型N=(S,T,F,W,M0)满足如下条件:
①(S,T,F)为根据“定义1”定义的基网;
②W:F→{1}的映射。默认情况下,网中不标出;
③M0:S→{0,ω}为初始标识,为库所p∈S分配一个值,该值为0或者ω。ω表示无穷,ω=ω+1=ω-1=ω+ω。
[定义3]设x∈X为N的任一元素,则
x={y|(y,x)∈F}称为x的前集或输入集;
x={z|(x,z)∈F}称为x的后集或输出集。
[定义4]M为网的标识的条件为:
Figure DEST_PATH_BBM2014011000270000041
M(p)∈{0,ω}。
[定义5]变迁使能:在标识M下,变迁t∈T使能,如果
Figure DEST_PATH_BBM2014011000270000042
M(p)=ω。
[定义6]变迁激发后果:如果t在标识M下使能,则t激发。t激发的结果由下式计算:
Figure DEST_PATH_BBM2014011000270000044
根据以上定义,所有使能的变迁可以同时激发。
2.Petri网模型的图形表示
Petri网模型可以用图形的形式表示,如图1所示为一个最简单Petri网模型图形。根据定义有:库所集S={p1,p2},变迁集T={t},流关系
Figure DEST_PATH_BBM2014011000270000043
W:{(p1,t),(t,p2)}→{1},也就是W(p1,t)=1,W(t,p2)=1。其中库所用圆形表示,变迁用长方形表示。库所p1中有一个黑点,表示库所p1的标识M(p1)=ω,其他库所中没有黑点,表示标识为0。当变迁t的所有输入库所的标识不为0,即M(p1)=ω时,变迁t使能,使能的变迁可以激发,激发后库所p2的标识M(p2)=ω,此时库所p2中出现一个黑点,同时库所p1的标识保持不变M(p1)=ω,如图2所示。
3.可达图
Petri网模型的可达图是指Petri在运行过程中产生的所有标识的关系图。Petri网模型从初始标识开始,各个满足使能条件的变迁按照顺序激发,直到终止,变迁的每一次激发都将产生一个新的标识,可达图记录了每个变迁每次激发时产生的标识。针对图2的情况,其可达图如图3所示。
其中,括号中有两个元素,第一个元素对应M(p1),第二个元素对应M(p2)。
发明内容
本发明的目的在于克服手工校验的缺陷,提出基于Petri网模型的误用检测系统攻击知识库的校验方法。本发明通过建立攻击知识库的Petri网模型,并在此基础上生成Petri网模型的可达图,通过可达图发现攻击知识库中存在的错误规则。该方法适用于误用检测系统攻击知识库的校验。
本发明的基于Petri网模型的误用检测系统攻击知识库的校验方法整体框架设计流程如图4所示,具体实现步骤如下:
步骤一、建立攻击知识库的Petri网模型
首先,对误用检测系统的攻击知识库中存在的规则建立Petri网模型。其中,p1∧p2∧…∧pj-1→pj∧pj+1∧…∧pk知识表示形式的Petri网模型如图5所示;p1∨p2∨…∨pj-1→pj∧pj+1∧…∧pk知识表示形式的Petri网模型如图6所示。图形中圆形表示库所p,对应规则的前提或结论;长方形表示变迁t,与规则本身对应。
步骤二、生成攻击知识的Petri网模型的可达图
在步骤一建立攻击知识库的Petri网模型的基础上,生成攻击知识的Petri网模型的可达图。生成可达图的方法为:
设V为一向量,表示当前的标识,另设RT=T为变迁的集合,则Petri网模型N=(S,T,F,W,M0)的可达图的具体生成步骤如下:
第(1)步:将初始标识M0作为可达图的根节点,且将M0设置成0向量。
第(2)步:若RT中不存在使能的变迁,转到第(4)步;否则,进行如下处理:
设L={t1,…,tk}为由V表示的当前标识下的所有使能变迁集合,其中1≤k≤|T|。设集合L1=φ和L2=φ,向量M=V,具体处理步骤为:
第①步:所有使能变迁ti(1≤i≤k)激发,生成一个新的标识M′。将M更新为M′,即M=M′;如果M′≠V,将ti添加到集合L1;否则将ti添加到L2
第②步:将向量M作为可达图的一个新节点,同时添加一条从V到M的边,标记上L。
第③步:如果L1≠φ,说明存在规则冗余,则添加一条从源节点到新节点的边,标记上L1
第④步:如果L2≠φ,则集合中的变迁不能改变当前的标识。当前节点添加 一条到其自身的边,由L2标记。
第⑤步:做如下更新RT:RT=RT-{t1,…,tk},并将V更新为M,即V=M;
第(3)步:回到第(2)步。
第(4)步:终止,可达图建立完成。
步骤三、利用可达图发现错误规则
在步骤二生成攻击知识的Petri网模型的可达图的基础上,利用可达图发现知识库中存在的四类错误规则,具体判断方法为:
(1)发现无效规则
如在可达图的终止节点中存在0标识,则其对应的库所为死条件或者死终结,死条件和死终结对应的规则即为无效规则。
(2)发现矛盾规则
节点中对应于两个矛盾命题p和
Figure DEST_PATH_BBM2014011000270000061
(表示逻辑“否定”运算)的库所,如果其中的标识都为ω,则可判断知识库中存在矛盾规则。
(3)发现循环规则
在可达图中存在循环规则链或自循环规则,则可判断存在循环规则。
(4)发现冗余规则
在可达图中有向边上若存在两个不同的变迁激发,但是产生的标识相同,则可判断存在冗余规则。
有益效果
针对当前人工校验方法存在以下不足,本发明的有益效果如下:
1.本发明通过建立攻击知识库的Petri网模型及可达图来发现攻击知识库中存在的错误,由于建立可达图的过程是Petri网模型在计算机中自动运行的过程,因此有效地解决了人工校验方法存在的效率低的问题;
2.可达图能够将所有的错误类型直接反映出来,解决了人工校验中存在的漏检问题,提高了正确程度。
附图说明
图1为已有技术Petri网模型图形示例图;
图2为已有技术图1变迁激发后的Petri网模型图形示例图;
图3为已有技术图2的可达图;
图4为本发明的整体框架设计流程图;
图5为本发明p1∧p2∧…∧pj-1→pj∧pj+1∧…∧pk知识表示形式的Petri网模型图;
图6为本发明p1∨p2∨…∨pj-1→pj∧pj+1∧…∧pk知识表示形式的Petri网模型图;
图7为本发明实施例的攻击知识库中的规则对应的Petri网模型图;
图8为本发明实施例的Petri网模型对应的可达图。
具体实施方式
根据上述技术方案,下面结合附图和实施例对本发明进行详细说明。
假设某一误用检测系统的攻击知识库中存在的规则,如表1所示:
表1攻击知识库中的一组检测规则
Figure DEST_PATH_BBM2014011000270000071
步骤一、建立检测规则的Petri网模型
表1中给出的攻击规则符合攻击知识表示形式的要求,根据发明内容中步骤一给出的Petri网模型建立方法,攻击规则对应的Petri网模型如图7所示。其中,变迁t1到t15对应规则R1到R15,库所对应相应的条件和结论。
步骤二、生成攻击知识的Petri网模型的可达图
针对图7所示的Petri网模型,建立对应的可达图,如图8所示。其中,可达图的节点为(M(p1),M(p2),M(p3),M(p4),M(p5),M(p6),M(p7),
Figure DEST_PATH_BBM2014011000270000081
M(p8),M(p9),M(p10),M(p11),M(p12))。可达图的第一个节点为全0;第二个节点的M(p1)、M(p2)、M(p3)为ω,其他值为0,是在第一个节点的基础上由使能变迁t1、t2、t3激发产生;第三个节点的M(p1)、M(p2)、M(p3)、M(p4)、M(p5)、M(p6)、M(p7)为ω,其他值为0,是在第二个节点的基础上由使能变迁t4、t5、t6激发产生;第四个节点的M(p1)、M(p2)、M(p3)、M(p4)、M(p5)、M(p6)、M(p7)、
Figure DEST_PATH_BBM2014011000270000082
M(p9)、M(p10)为ω,其他值为0,是在第三个节点的基础上由使能变迁t7、t8、t9、t10激发产生;第五个节点的M(p1)、M(p2)、M(p3)、M(p4)、M(p5)、M(p6)、M(p7)、
Figure DEST_PATH_BBM2014011000270000083
M(p9)、M(p10)、M(p11)为ω,其他值为0,是在第四个节点的基础上由使能变迁t11、t14激发产生;第六个节点在第五个节点的基础上由使能变迁t12激发产生,但是与第五个节点相同。第五个节点之后,所有使能的变迁都激发过一次,可达图建立完成。
步骤三、利用可达图发现错误规则
利用图8所示的可达图,发现知识库中存在的错误规则为:
(1)库所p8和p12的标识为0,说明知识库中存在无效规则,分别为R13和R15
(2)库所p7
Figure DEST_PATH_BBM2014011000270000084
的标识都为ω,说明知识库中存在矛盾规则。
(3)变迁t12的激发不能产生新的标识,说明存在循环规则。
(4)变迁t8、t9激发产生的标识相同,说明存在冗余规则。

Claims (1)

1. 基于Petri网模型的误用检测系统攻击知识库的校验方法,其特征在于本发明通过建立误用检测系统攻击知识库的Petri网模型,并在此基础上生成Petri网模型的可达图,通过可达图发现攻击知识库中存在的错误规则;具体实现步骤如下:
步骤一、建立攻击知识库的Petri网模型
首先,对误用检测系统的攻击知识库中存在的规则建立Petri网模型;其中,p1∧p2∧…∧pj-1→pj∧pj+1∧…∧pk知识表示形式的Petri网模型为:
Figure DEST_PATH_FBM2014011000260000011
p1∨p2∨…∨pj-1→pj∧pj+1∧…∧pk知识表示形式的Petri网模型为:
步骤二、生成攻击知识的Petri网模型的可达图
在步骤一建立攻击知识库的Petri网模型的基础上,生成攻击知识的Petri网模型的可达图;生成可达图的方法为:
设V为一向量,表示当前的标识,另设RT=T为变迁的集合,则Petri网N=(S,T,F,W,M0)的可达图的具体生成步骤如下:
第(1)步:将初始标识M0作为可达图的根节点,且将M0设置成0向量;
第(2)步:若RT中不存在使能的变迁,转到第(4)步;否则,进行如下处理:
设L={t1,…,tk}为由V表示的当前标识下的所有使能变迁集合,其中1≤k≤|T|;设集合L1=φ和L2=φ,向量M=V,具体处理步骤为:
第①步:所有使能变迁ti激发,1≤i≤k,生成一个新的标识M′;将M更新为M′,即M=M′;如果M′≠V,将ti添加到集合L1;否则将ti添加到L2
第②步:将向量M作为可达图的一个新节点,同时添加一条从V到M的边,标记上L;
第③步:如果L1≠φ,说明存在规则冗余,则添加一条从源节点到新节点的边,标记上L1
第④步:如果L2≠φ,则集合中的变迁不能改变当前的标识;当前节点添加一条到其自身的边,由L2标记;
第⑤步:做如下更新RT:RT=RT-{t1,…,tk},并将V更新为M,即V=M;
第(3)步:回到第(2)步;
第(4)步:终止,可达图建立完成;
步骤三、利用可达图发现错误规则
在步骤二生成攻击知识的Petri网模型的可达图的基础上,利用可达图发现知识库中存在的四类错误规则,具体判断方法为:
(1)发现无效规则
如在可达图的终止节点中存在0标识,则其对应的库所为死条件或者死终结,死条件和死终结对应的规则即为无效规则;
(2)发现矛盾规则
节点中对应于两个矛盾命题p和
Figure DEST_PATH_FBM2014011000260000021
的库所,
Figure DEST_PATH_FBM2014011000260000022
表示逻辑“否定”运算,如果其中的标识都为ω,则可判断知识库中存在矛盾规则;
(3)发现循环规则
在可达图中存在循环规则链或自循环规则,则可判断存在循环规则;
(4)发现冗余规则
在可达图中有向边上若存在两个不同的变迁激发,但是产生的标识相同,则可判断存在冗余规则。
CN200910121383.7A 2009-05-31 基于Petri网模型的误用检测系统攻击知识库的校验方法 Active CN103748982B (zh)

Publications (1)

Publication Number Publication Date
CN103748982B true CN103748982B (zh) 2011-04-27

Family

ID=

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110543494A (zh) * 2019-08-19 2019-12-06 湖南麟淇网络科技股份有限公司 基于缓存表构建可达图的方法
CN110855715A (zh) * 2019-11-29 2020-02-28 国家电网有限公司客户服务中心 基于随机Petri网的DOS攻防模拟方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1477811A (zh) * 2003-07-11 2004-02-25 北京邮电大学 一种网络入侵行为和正常行为的形式化描述方法
CN101399672A (zh) * 2008-10-17 2009-04-01 章毅 一种多神经网络融合的入侵检测方法
CN101408917A (zh) * 2008-10-22 2009-04-15 厦门市美亚柏科资讯科技有限公司 应用程序行为合法性检测方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1477811A (zh) * 2003-07-11 2004-02-25 北京邮电大学 一种网络入侵行为和正常行为的形式化描述方法
CN101399672A (zh) * 2008-10-17 2009-04-01 章毅 一种多神经网络融合的入侵检测方法
CN101408917A (zh) * 2008-10-22 2009-04-15 厦门市美亚柏科资讯科技有限公司 应用程序行为合法性检测方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
危胜军等.模糊Petri网知识表示方法在入侵检测中的应用.计算机工程. 2005,31(2)全文. *
王俊国等.基于模糊Petri网的故障诊断方法.自动检测技术. 2002, 21(6)全文. *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110543494A (zh) * 2019-08-19 2019-12-06 湖南麟淇网络科技股份有限公司 基于缓存表构建可达图的方法
CN110543494B (zh) * 2019-08-19 2023-03-24 湖南麟淇网络科技股份有限公司 基于缓存表构建可达图的方法
CN110855715A (zh) * 2019-11-29 2020-02-28 国家电网有限公司客户服务中心 基于随机Petri网的DOS攻防模拟方法

Similar Documents

Publication Publication Date Title
Dávid et al. Foundations for streaming model transformations by complex event processing
Brockschmidt et al. Automated detection of non-termination and NullPointerException s for Java Bytecode
Song et al. Efficient alignment between event logs and process models
Iosif Symmetry reduction criteria for software model checking
GB2475161A (en) Incremental implementation of undo/redo support in legacy applications
Van Hee et al. Soundness of resource-constrained workflow nets
US20130060545A1 (en) Incremental formal verification
Gargantini et al. Generating minimal fault detecting test suites for general boolean specifications
Diaconescu Institutional semantics for many-valued logics
Samuel et al. Slicing-based test case generation from UML activity diagrams
Suman et al. Extracting State Models for Black-Box Software Components.
Cui et al. A hierarchical combinatorial testing method for smart phone software in wearable IoT systems
CN103748982B (zh) 基于Petri网模型的误用检测系统攻击知识库的校验方法
Zhu et al. A new node-based concept for solving the minimal path problem in general networks
Liu et al. An automated approach to specification-based program inspection
Bouabana-Tebibel et al. An interleaving semantics for UML 2 interactions using Petri nets
Wang et al. Predicate learning and selective theory deduction for a difference logic solver
Bérard et al. Non-interference in partial order models
Bailey et al. Expressiveness issues and decision problems for active database event queries
Wang et al. Petri net‐based deviation detection between a process model with loop semantics and event logs
He et al. Locating and controlling unsound transitions in workflow systems based on workflow net with data constraints
Raihan et al. Asmlsec: An extension of abstract state machine language for attack scenario specification
Romero et al. Symbolic execution and reachability analysis using rewriting modulo SMT for spatial concurrent constraint systems with extrusion
Sheini et al. A progressive simplifier for satisfiability modulo theories
Gulwani et al. Path-sensitive analysis for linear arithmetic and uninterpreted functions

Legal Events

Date Code Title Description
GR03 Grant of secret patent right
DC01 Secret patent status has been lifted