[发明专利]一种确定有限自动机的构建方法及装置有效

专利信息
申请号: 201110412829.9 申请日: 2011-12-12
公开(公告)号: CN103166802A 公开(公告)日: 2013-06-19
发明(设计)人: 曾彬;王焕云;张大方;吴达志 申请(专利权)人: 中国移动通信集团湖南有限公司
主分类号: H04L12/26 分类号: H04L12/26;H04L12/24
代理公司: 北京同达信恒知识产权代理有限公司 11291 代理人: 郭润湘
地址: 410015 湖*** 国省代码: 湖南;43
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 确定 有限 自动机 构建 方法 装置
【说明书】:

技术领域

发明涉及互联网领域,尤其涉及一种确定有限自动机的构建方法及装置。

背景技术

深度数据包检测是NIDS(Network Intrusion Detection System,网络入侵检测系统)和NIPS(Network Intrusion Protection System,网络入侵防护系统)的核心,不仅检测数据包头部信息,而且检测数据包有效载荷(即数据包内容)。深度数据包检测主要采用特征匹配算法,即将数据包内容与一组预定义的特征规则(即特征规则集)进行匹配,通过扫描数据包,识别出与特征规则集相匹配的数据包。

随着网络攻击越来越复杂,例如躲避攻击、变型攻击的出现,单纯的字符串难以精确描述复杂的网络攻击行为特征。由于正则表达式具有灵活、高效等特点,目前许多安全产品采用正则表达式代替字符串表示攻击数据包的特征规则。正则表达式匹配算法主要基于NFA(Nondeterministic Finite Automaton,非确定有限自动机)和DFA(Deterministic Finite Automaton,确定有限自动机)实现,基于DFA的正则表达式匹配算法,从初始状态开始,对数据包的字符流进行匹配,匹配完成之后,如果产生了接受状态的匹配结果,则匹配成功,否则匹配失败。

现有技术中,利用嵌入式存储器技术,例如ASIC(专用集成电路)技术、FPGA(现场可编程门阵列)技术、NP(网络处理器)技术、TCAM(三重内容寻址存储器)技术等,提供了面向硬件实现的正则表达式匹配算法以提高吞吐量。例如,在FPGA上实现NFA以进行正则表达式的匹配,提高深度数据包检测的吞吐量;在FPGA上实现DFA,与在FPGA上实现NFA相比,在吞吐量方面有很大的提高;在TCAM上实现DFA以进行简单正则表达式的匹配等。

DFA的存储空间是由DFA状态个数和每个DFA状态的迁移边条数决定的。目前的DFA压缩算法主要分为两种类型:状态压缩算法和迁移边压缩算法。迁移边压缩算法是研究如何通过减少冗余迁移边以压缩DFA的存储空间开销,例如基于D2FA和基于CD2FA的正则表达式匹配算法,通过引入默认迁移边的概念,将两个DFA状态中,经过相同字符到达同一DFA状态后的边去除一条从而减少迁移边的条数。状态压缩算法是研究如何通过减少冗余DFA状态以压缩DFA的存储空间开销,例如基于状态融合的DFA正则表达式匹配算法,通过添加标签将不等价DFA状态合并为一个DFA状态从而减少DFA状态的个数。对于正则表达式的匹配速度方面,主要是采用并行的正则表达式匹配算法。并行的正则表达式匹配算法用来加快匹配速度,利用猜想的思想,通过并行和验证从而加快正则表达式的匹配速度。

由于NIDS和NIPS的特征规则集中存在着大量的星项“*”、长度限制“{}”、点项“.”等,使得正则表达式的DFA状态个数呈二次项甚至指数增长,从而导致正则表达式在转换成为DFA的过程中可能产生数以万计的DFA状态,进一步阻碍DFA的实现。造成DFA的存储空间较大的主要原因在于:

1、在DFA状态方面,由于正则表达式中使用了许多语义丰富的符号,例如“*”、“{}”、“.”等,DFA需要大量的DFA状态记录部分匹配结果,导致DFA状态爆炸;

2、在迁移边方面,对于ASCII字母表,每个DFA状态需要256条迁移边,导致DFA状态的迁移边表很大。而正则表达式的长度限制部分会使得DFA状态呈指数增长,消耗大量的存储空间,进而阻碍DFA的构建,影响NIDS和NIPS的性能,甚至导致NIDS和NIPS无法提供服务。

针对DFA无法构建的问题,可以采用重写规则、分割正则表达式、计数器和迁移边历史记录等方法解决。所述的重写规则,例如将P1“^A+[A-Z]{j}”重写为P2“^A[A-Z]{j}”;将P1“.*AB[A-Z]{j}”重写为P2“([^A]|A[^B]|AB[A-Z]{j-1}[^(A-Z)])*AB[AZ]{j}”。通过该方法,可以减少转化后的DFA的存储空间消耗。

现有技术中,一般将DFA状态爆炸问题分为三类:

Insonia(不眠症),正常数据包只访问前几个DFA状态,大部分DFA状态不访问;

Amnesia(健忘症),由于星项的存在,使得DFA状态呈二次项增长;

Acalculia(计算力缺失症),由于长度限制的存在,使得DFA状态呈指数增长。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国移动通信集团湖南有限公司,未经中国移动通信集团湖南有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201110412829.9/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top