论文部分内容阅读
串匹配是计算机研究领域的一个经典问题,是许多网络安全系统的关键技术之一.随着信息量的急遽膨胀,应用系统要求更准确、更快速的对海量信息进行分析过滤,采用简单关键词来描述规则的方法已经无法满足需求,往往需要将多个关键词进行组合描述规则,从而获得更精确的信息过滤.因此需要在传统串匹配技术基础上作进一步的扩展和研究.
本文使用布尔逻辑关系"与、或、非"将关键词组合在一起,形成布尔表达式模式串,提出了布尔表达式匹配这个新的串匹配技术.为了增加布尔表达式匹配的处理能力,本文在布尔表达式匹配的基础上增加了窗口和定序两个限制条件,使其能够更精确更细粒度得进行过滤或定位匹配信息,从而使得布尔表达式匹配技术描述功能比精确串匹配技术强、解决规模比扩展串匹配技术大、算法性能比正则表达式串匹配技术高.
具体来说,本文取得的主要成果如下:1、布尔表达式匹配:给出了布尔表达式匹配的定义以及通用算法框架.基于通用算法框架提出了双映射表算法和BitCount算法,根据实验结果给出了这两种算法的适用范围.最后针对特殊的应用需求,给出了一个改进算法:最长过滤算法.2、窗口布尔表达式匹配:通过窗口的限制使得匹配能够更精确化,能够指定匹配文本区间.提出了最小窗口算法,通过理论和实验,证明当限定窗口比较小的情况下,该算法不受窗口和布尔逻辑关系的影响.3、定序布尔表达式匹配:通过定序使得布尔表达式匹配技术的能力等价于通配符匹配.通过对BitCount算法进行改进,提出BitCount OBE算法,该算法不受定序和布尔逻辑关系的影响.4、定序窗口布尔表达式匹配:通过窗口和定序使得布尔表达式匹配能够实现最细粒度的信息定位.通过理论证明可以采用队列数组及队列操作来解决该问题,并通过进一步分析和证明得到可以对BitCount_OBE算法进行扩展,形成BitCount_OWBE算法,通过理论和实验,证明当限定窗口比较小的情况下,该算法不受窗口、定序和布尔逻辑关系的影响.5、通用布尔表达式匹配算法库:在前人通用串匹配算法库的基础上结合本文的工作,构建了一个通用布尔表达式匹配算法库.该算法库能够良好兼容串匹配算法库,具有线程安全性、通用性、可扩展性等特点,可以为不同的项目提供二次开发.