Print

基于防火墙的规则冗余检测算法提出论文_顾海清

辽宁省本溪市商贸服务学校 117000

摘 要:文章针对规则冗余和规则间包含性的紧密联系,对规则间的包含关系进行了分析。在此基础上,分情况讨论了规则表中一条规则冗余与否的判定条件,并且根据此判定条件给出了防火墙规则的冗余检测算法。

关键词:防火墙 冗余检测 规则

在以往的防火墙规则输入过程中,规则都由用户判定其语义是否符合初衷、规则之间是否相容或矛盾、是否有无用的规则。因规则是互相联系的,规则的语义是与其在规则表中的位置相关的,因此,当规则较多时,很容易出错。网络管理员要手工在大量的规则中寻找冗余的规则比较困难。可以让计算机自动对防火墙规则进行冗余检测,然后管理员可以根据检测结果对防火墙作出相应的修改。

一、防火墙规则的包含性分析

二、防火墙规则冗余的检测研究

2.规则的冗余检测。在定义4的冗余判定之后,则可以通过遍历规则表以找出所有的符合定义4的冗余规则。

下面给出检测算法:

(1)算法2:冗余检测算法。从规则表中的第一条规则开始,对每一条规则ri,遍历ri后面的每一条规则rk(k>i)。如果发现rk为冗余,即S(rk,ri),则将rk从规则表中去掉,然后检查下一条ri后的规则。如果发现ri为冗余,即S(ri,rk),则将ri从规则表中去掉,然后退出遍历ri后的规则。检查下一条ri后的规则,直到规则表末尾。检查下一条规则,直到规则表末尾。

(2)算法2用形式化语言可以表达如下:

算法2,冗余检测算法形式化语言表示:

ri=first(I);while(ri=next(I,ri)){

while(rk=next_after(ri,I)){

if(S(rk,ri)) del(rk,I);

else if(S(ri,rk)){

del(ri,I);break;} } }

函数first(I)取过滤规则集I中的第一条规则。函数next(I)取过滤规则集I中的ri的下一条规则,当没有时返回NULL。函数next_after(ri,I)取过滤规则集I中位于ri后面的规则中的下一条,当没有时返回NULL。函数del(ri,I)删除过滤规则集I中的ri规则。

参考文献

[1]王卫平 陈文惠 朱卫未 防火墙规则配置错误快速检测算法.计算机工程,2007,(6)

[2]段海新 吴建平 李星 防火墙规则的动态分配和散列表匹配算法.清华大学学报(自然科学版),2001,41,(1),47-49。

[3]Terry William Ogletree 著 防火墙原理与实施.北京,电子工业出版社,2001。

[4]唐正军 李建华 入侵检测技术.北京,清华大学出版社,2004。

论文作者:顾海清

论文发表刊物:《教育学文摘》2016年11月总第209期

论文发表时间:2016/11/16

本文来源: https://www.lw33.cn/article/872150a9545a23e1eea03de1.html