发明名称 基于Petri网模型的误用检测系统攻击知识库的校验方法
摘要 本发明涉及一种基于Petri网的误用检测系统攻击知识库的校验方法,属于 计算机应用技术领域。本发明通过建立攻击知识库的Petri网模型,并在此基础 上生成Petri网模型的可达图,通过可达图发现攻击知识库中存在的错误规则。 由于建立可达图的过程是Petri网模型在计算机中自动运行的过程,因此有效地 解决了人工校验方法存在的效率低的问题;并且,可达图能够将所有的错误类 型直接反映出来,解决了人工校验中存在的漏检问题,提高了正确程度,适用 于误用检测系统攻击知识库的校验。
申请公布号 CN103748982B 申请公布日期 2011.04.27
申请号 CN200910121383.7 申请日期 2009.05.31
申请人 北京理工大学 发明人 胡昌振;危胜军
分类号 G06F21/00(2006.01)I;G06F11/00(2006.01)I;H04L9/00(2006.01)I 主分类号 G06F21/00(2006.01)I
代理机构 北京理工大学专利中心 11120 代理人 张利萍
主权项 1.基于Petri网模型的误用检测系统攻击知识库的校验方法,其特征在于本发明通过建立误用检测系统攻击知识库的Petri网模型,并在此基础上生成Petri网模型的可达图,通过可达图发现攻击知识库中存在的错误规则;具体实现步骤如下:步骤一、建立攻击知识库的Petri网模型首先,对误用检测系统的攻击知识库中存在的规则建立Petri网模型;其中,p<sub>1</sub>∧p<sub>2</sub>∧…∧p<sub>j-1</sub>→p<sub>j</sub>∧p<sub>j+1</sub>∧…∧p<sub>k</sub>知识表示形式的Petri网模型为:<img file="DEST_PATH_FBM2014011000260000011.GIF" wi="653" he="392" />p<sub>1</sub>∨p<sub>2</sub>∨…∨p<sub>j-1</sub>→p<sub>j</sub>∧p<sub>j+1</sub>∧…∧p<sub>k</sub>知识表示形式的Petri网模型为:<img file="DEST_PATH_FBM2014011000260000012.GIF" wi="652" he="522" />步骤二、生成攻击知识的Petri网模型的可达图在步骤一建立攻击知识库的Petri网模型的基础上,生成攻击知识的Petri网模型的可达图;生成可达图的方法为:设V为一向量,表示当前的标识,另设RT=T为变迁的集合,则Petri网N=(S,T,F,W,M<sub>0</sub>)的可达图的具体生成步骤如下:第(1)步:将初始标识M<sub>0</sub>作为可达图的根节点,且将M<sub>0</sub>设置成0向量;第(2)步:若RT中不存在使能的变迁,转到第(4)步;否则,进行如下处理:设L={t<sub>1</sub>,…,t<sub>k</sub>}为由V表示的当前标识下的所有使能变迁集合,其中1≤k≤|T|;设集合L<sub>1</sub>=φ和L<sub>2</sub>=φ,向量M=V,具体处理步骤为:第①步:所有使能变迁t<sub>i</sub>激发,1≤i≤k,生成一个新的标识M′;将M更新为M′,即M=M′;如果M′≠V,将t<sub>i</sub>添加到集合L<sub>1</sub>;否则将t<sub>i</sub>添加到L<sub>2</sub>;第②步:将向量M作为可达图的一个新节点,同时添加一条从V到M的边,标记上L;第③步:如果L<sub>1</sub>≠φ,说明存在规则冗余,则添加一条从源节点到新节点的边,标记上L<sub>1</sub>;第④步:如果L<sub>2</sub>≠φ,则集合中的变迁不能改变当前的标识;当前节点添加一条到其自身的边,由L<sub>2</sub>标记;第⑤步:做如下更新RT:RT=RT-{t<sub>1</sub>,…,t<sub>k</sub>},并将V更新为M,即V=M;第(3)步:回到第(2)步;第(4)步:终止,可达图建立完成;步骤三、利用可达图发现错误规则在步骤二生成攻击知识的Petri网模型的可达图的基础上,利用可达图发现知识库中存在的四类错误规则,具体判断方法为:(1)发现无效规则如在可达图的终止节点中存在0标识,则其对应的库所为死条件或者死终结,死条件和死终结对应的规则即为无效规则;(2)发现矛盾规则节点中对应于两个矛盾命题p和<img file="DEST_PATH_FBM2014011000260000021.GIF" wi="65" he="39" />的库所,<img file="DEST_PATH_FBM2014011000260000022.GIF" wi="121" he="41" />表示逻辑“否定”运算,如果其中的标识都为ω,则可判断知识库中存在矛盾规则;(3)发现循环规则在可达图中存在循环规则链或自循环规则,则可判断存在循环规则;(4)发现冗余规则在可达图中有向边上若存在两个不同的变迁激发,但是产生的标识相同,则可判断存在冗余规则。
地址 100081 北京市海淀区中关村南大街5号