论文部分内容阅读
随着互联网的迅速发展,防火墙包含的规则数目变得越来越多。这种情况,通常会带来两方面的问题。第一,规则数目的增多,对规则匹配的效率提出了挑战,规则匹配已经成为防火墙的一个性能瓶颈点。第二,由于规则集中冲突规则的存在,规则数目的增多,使得有效管理防火墙规则集变得越来越困难。要解决这两方面的问题,通常需使用以下几项关键技术:规则匹配技术、规则冲突检测技术、规则冲突消除技术、规则正确性配置技术。研究人员针对以上技术,提出了相应的算法。这些算法在提高防火墙吞吐率、降低规则集管理难度等方面,取得了一定效果,但仍然存在不少缺陷,有待于进一步改进和完善。因此,目前仍有必要对防火墙规则集关键技术进行研究。本文深入细致地研究了规则数目增多所带来的问题,全面地分析和总结了防火墙规则集关键技术的研究现状,以及未来的发展趋势,取得了若干创新和成果。本文的主要创新点如下:第一,提出了一种快速的高维报文分类算法。在规则匹配技术,即报文分类技术方面,在BSOL(Binary Search On Leaves)算法基础之上,本文提出了一种快速的高维报文分类算法MCBF(Multi Cuttingsand Bloom Filters)。与BSOL算法不同,MCBF算法在对规则空间进行分解时,同时切割所有维,并将叶子规则空间存储在相关的哈希表中;MCBF算法为每个哈希表构建一个Bloom Filter,而这些Bloom Filter被存储在片内SRAM中。当分类数据包时,MCBF算法并行地访问Bloom Filter,并根据其结果决定如何访问哈希表。理论分析和仿真实验表明:MCBF算法能正确地分类数据包;当分类一个数据包时,MCBF算法的哈希表平均查询次数为1,远小于BSOL算法;最坏情况下,MCBF算法的哈希表查询次数为O(log(wmax)+1),其中wmax是最长维的域长。对于常见的规则集类型和高维环境而言,该值通常小于等于BSOL算法在最坏情况下的哈希表查询次数。第二,提出了一种基于位向量交集运算的规则冲突检测算法。在规则冲突检测技术方面,针对现有冲突检测算法效率不高这一情况,本文在ASBV(Aggregated S Bit Vectors)算法基础之上,提出了一种基于位向量交集运算的规则冲突检测算法DBBV(Double Binary Bit Vectors)。同ASBV算法类似,DBBV算法也采用了分治思想和位向量技术。但与ASBV算法不同,在每一维规则分量的处理过程中,DBBV算法只需要进行一次位向量交集运算,而ASBV算法需要进行多次位向量并集运算;DBBV算法支持以范围形式表示的规则集,而ASBV算法只支持以前缀形式表示的规则集。理论分析和仿真实验表明:DBBV算法的冲突检测性能优于ASBV算法。第三,提出了一种基于切割映射的冲突消除算法。在规则冲突消除技术方面,针对现有规则冲突消除算法不能彻底消除冲突这一问题,本文提出了一种基于切割映射的冲突消除算法RCBCM(ResolvingConflicts Based on Cutting Mapping)。RCBCM算法对不同的冲突类型,采取不同的处理方法;并以两条冲突规则为基本处理对象,在其冲突消除过程中,顺序切割优先级较低的规则的每一维分量。理论分析和仿真实验表明:在增加少量规则的代价下,RCBCM算法能彻底消除冲突。第四,提出了一种基于规则交集运算的规则集比较算法。在规则正确性配置技术方面,针对应用于Diverse Firewall Design环境的现有规则集比较算法,效率不高这一情况,本文提出了一种基于规则交集运算的规则集比较算法RSCBRI(Rule Sets Comparing Based on Rules Intersection)。RSCBRI算法首先使用RCBCM算法对规则集进行预处理,将规则集比较问题,转换成多维空间中的图形比较问题:然后利用规则交集运算,判断图形所占区域和颜色是否一致,进而确定规则集是否等价。理论分析和仿真实验表明:RSCBRI算法能检测出规则集之间的不同点,且时空效率优于现有算法。