一种数据匹配设备和方法以及网络入侵检测设备和方法技术

技术编号:5228869 阅读:191 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于包括一个或者多个正则表达式的正则表达式集来进行数据匹配的基于正则表达式的数据匹配方法,该方法包括步骤:在所述正则表达式集中查找相互作用时会导致基于正则表达式产生的状态数以指数方式快速增长的一个或者多个复杂正则表达式;对于所查找出的一个或者多个复杂正则表达式中的每一个,构造与每个复杂正则表达式相对应的简化表达式;基于所构造的简化表达式和所述正则表达式集合中除去被查找出的一个或多个复杂正则表达式之外的其他正则表达式,编译简化状态机;编译一个或者多个子状态机,所述一个或者多个子状态机中的每个基于所述一个或者多个复杂正则表达式中的相应一个编译而成;以及基于所述简化状态机和所述一个或者多个子状态机来进行数据匹配。本发明专利技术还公开了采用该数据匹配方法的数据匹配设备以及采用该数据匹配方法和设备的入侵检测设备和方法。

【技术实现步骤摘要】

本专利技术涉及网络安全领域,尤其涉及用于进行入侵检测的网络入侵检测设备和方 法,以及其中所采用的基于正则表达式的数据匹配设备及其方法。
技术介绍
在网络入侵检测领域,经常利用正则表达式来检测网络数据中是否包含有特定格 式的恶意数据以判断是否发生了网络入侵。由于正则表达式具有灵活且表达能力强的特 点,因此在网络入侵检测领域广泛使用。为了利用正则表达式进行数据匹配,通常需要构造基于正则表达式的正则引擎, 目前有两种正则引擎,即NFA正则引擎和DFA正则引擎。但是由于NFA的回溯特性无法改 变,使其匹配速度无法大幅提高。因此目前广泛使用的是DFA正则引擎。但是DFA本身具 有状态机的状态膨胀问题。DFA正则引擎的基本工作原理如下首先将正则表达式(或正则表达式组中的所 有正则表达式)按照一定的规则预先编译成为一个确定有穷状态机,然后把希望检查的字 符串作为有穷状态机的输入,推动有穷状态机的状态跳转,在状态机状态跳转的过程中,检 查字符串是否已经匹配了某个正则表达式。该有穷状态机中的每个状态都包含两个基本要 素1、匹配列表匹配列表中包含了正则表达式的编号,如果匹配列表不为空,那么就说明 当状本文档来自技高网...

【技术保护点】
一种基于包括一个或者多个正则表达式的正则表达式集来进行数据匹配的基于正则表达式的数据匹配方法,包括步骤:在所述正则表达式集中查找相互作用时会导致基于正则表达式产生的状态数快速增长的一个或者多个复杂正则表达式;对于所查找出的一个或者多个复杂正则表达式中的每一个,构造与每个复杂正则表达式相对应的简化表达式;基于所构造的简化表达式和所述正则表达式集合中除去被查找出的一个或多个复杂正则表达式之外的其他正则表达式,编译简化状态机;编译一个或者多个子状态机,所述一个或者多个子状态机中的每个基于所述一个或者多个复杂正则表达式中的相应一个编译而成;以及基于所述简化状态机和所述一个或者多个子状态机来进行数据匹配...

【技术特征摘要】

【专利技术属性】
技术研发人员:么刚韩啸张涛韩鹏程利军
申请(专利权)人:北京神州绿盟信息安全科技股份有限公司
类型:发明
国别省市:11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1