论文部分内容阅读
网络入侵检测在信息安全中占据着重要的地位,而深度包检测(DPI, DeepPacket Inspection)是基于规则匹配的网络入侵检测系统实现的重要方法。目前正则表达式被广泛用于描述DPI中的各种攻击特征规则,用确定的有限状态机(DFA)来实现正则表达式代表的特征规则的匹配。但这样做的问题是DFA的存储空间大,难以适应规模日益增长的特征规则集。本文试图从状态数与状态转移数两个角度压缩DFA的存储空间。首先,针对DFA中状态数庞大的问题,通过对带长度限制的正则表达式对应的DFA添加计数器,使得正则表达式的构造复杂度与长度限制无关。其中对三类带长度限制的正则表达式,分别给出了对应的带计数器DFA的构造及匹配方法。其次,在状态数目不变的前提下,对DFA中状态转移数进行压缩。一方面从压缩字母表的角度对字符映射表进行改进,对状态转移表中列相同的字符在字符映射表中直接映射到目的状态,进一步压缩了字母表规模。另一方面根据添加默认状态转移的思想提出了BiD2FA算法,其在WD2FA算法基础上添加一种比WD2FA取代更多状态转移的默认状态转移,并直接转向匹配到的下一状态。通过对BiD2FA算法以及字母表压缩与WD2FA结合的压缩方法进行实验,结果表明状态转移数目都减少为原来的1%以下。