[发明专利]一种面向网络安全的正则表达式的匹配方法及装置有效
申请号: | 201911422017.5 | 申请日: | 2019-12-31 |
公开(公告)号: | CN111181980B | 公开(公告)日: | 2022-05-10 |
发明(设计)人: | 王彬;覃永靖;程诗尧;马江波 | 申请(专利权)人: | 奇安信科技集团股份有限公司;奇安信网神信息技术(北京)股份有限公司 |
主分类号: | H04L9/40 | 分类号: | H04L9/40;G06F16/903 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 苗晓静 |
地址: | 100088 北京市西城区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 网络安全 正则 表达式 匹配 方法 装置 | ||
1.一种面向网络安全的正则表达式的匹配方法,其特征在于,包括:
获取所有预设正则表达式,并确定所述所有预设正则表达式的数量是否大于预设阈值;
如果是,则基于所述所有预设正则表达式构建目标过滤器,以基于所述目标过滤器对目标网络数据包进行检测,其中,所述目标过滤器是基于所有预设正则表达式构建的AC自动匹配方式而得到的过滤器;
如果否,则基于所述所有预设正则表达式,构建目标有限自动机,以基于所述目标有限自动机对所述目标网络数据包进行检测;
其中,所述基于所述所有预设正则表达式构建目标过滤器,包括:
提取每个预设正则表达式的有效指纹数据,并按照预设字符串长度将所述每个预设正则表达式的有效指纹数据,按照预设字节长度划分为至少一个定长有效指纹,并为每个定长有效指纹设置一个对应的索引值,其中,所述有效指纹数据指代表每个正则表达式的特征的指纹数据集合;
基于所述每个预设正则表达式对应的所有定长有效指纹,生成目标定长指纹集合,并基于所述目标定长指纹集合构建目标过滤器。
2.根据权利要求1所述的面向网络安全的正则表达式的匹配方法,其特征在于,所述确定所有预设正则表达式的数量是否大于预设阈值之前,还包括:
对每个预设正则表达式及目标网络数据包进行格式化处理,其中,所述格式化处理包括:将所述每个预设正则表达式及目标网络数据包中的字母转换为小写、将所述每个预设正则表达式及目标网络数据包中的非字节码转化为字节码中的至少一种处理。
3.根据权利要求1所述的面向网络安全的正则表达式的匹配方法,其特征在于,所述基于所述所有预设正则表达式,构建目标有限自动机,包括:
将每个预设正则表达式转化为非确定有穷自动机NFA状态,基于所有NFA状态中的多个NFA状态生成第一确定有穷自动机DFA状态,并确定当前编译时间和内存占用是否满足预设限制条件;
如果是,且需要创建所述第一DFA状态对应的子DFA状态时,则创建所述第一DFA状态对应的子DFA状态,并判断是否需要创建每个子DFA状态对应的次级子DFA状态;否则,将所述第一DFA状态确定为目标有限自动机。
4.根据权利要求3所述的面向网络安全的正则表达式的匹配方法,其特征在于,所述判断是否需要创建每个子DFA状态对应的次级子DFA状态,包括:
如果需要创建每个子DFA状态对应的次级子DFA状态,则创建每个子DFA状态对应的所有次级子DFA状态,并判断是否需要创建每个次级子DFA状态对应的下一层级的次级子DFA状态;
如果不需要创建每个次级子DFA状态对应的下一层级的次级子DFA状态,则基于所述第一DFA状态、每个子DFA状态、每个次级子DFA状态,及除所述多个NFA状态之外的所有NFA状态,生成混合有限自动机,并将所述混合有限自动机确定为目标有限自动机。
5.根据权利要求1所述的面向网络安全的正则表达式的匹配方法,其特征在于,所述基于所述目标过滤器对目标网络数据包进行检测,包括:
通过所述目标过滤器对目标网络数据包进行过滤检测,得到待验证正则表达式及所述待验证正则表达式对应的所有定长有效指纹,其中,所述待验证正则表达式指已经通过目标过滤器的过滤检测,且还需通过NFA/DFA正则匹配引擎进行匹配的正则表达式;
判断待验证正则表达式映射中,是否存在所述待验证正则表达式对应的目标键,其中,待验证正则表达式映射指用于存储所述待验证正则表达式及所述待验证正则表达式对应的定长有效指纹的映射;
如果是,且所述目标键对应的目标索引值为所述待验证正则表达式对应的当前定长有效指纹的索引值减一,则将所述目标索引值设置为当前定长有效指纹的索引值;
如果否,且所述待验证正则表达式对应的第一个定长有效指纹的索引值为零,则将所述待验证正则表达式添加至所述待验证正则表达式映射,并将所述待验证正则表达式对应的索引值设置为零,其中,所述第一个定长有效指纹指所述所有定长有效指纹对应的索引值中的最小值对应的定长有效指纹。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于奇安信科技集团股份有限公司;奇安信网神信息技术(北京)股份有限公司,未经奇安信科技集团股份有限公司;奇安信网神信息技术(北京)股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911422017.5/1.html,转载请声明来源钻瓜专利网。