[发明专利]一种实现关键字对匹配的系统及方法有效
申请号: | 201710033491.3 | 申请日: | 2017-01-16 |
公开(公告)号: | CN106874405B | 公开(公告)日: | 2019-08-02 |
发明(设计)人: | 涂高元;杨其栓;邱志斌;郭永兴;陆云燕;张艳蓉 | 申请(专利权)人: | 厦门天锐科技股份有限公司 |
主分类号: | G06F16/30 | 分类号: | G06F16/30;G06F21/56 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 361000 福建省厦门市厦*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 关键字 匹配 系统 方法 | ||
本发明公开一种实现关键字对匹配的系统,包括:从web服务器获取关键字对规则的数据采集模块,以及将数据包与规则进行匹配,返回结果集,根据结果集分析是否匹配触发的数据分析模。本发明还公开一种实现关键字对匹配的方法,步骤是:步骤1,web服务器获取定义好的关键字对形式的规则,并存入数据库中;步骤2,将规则拆分为单个关键字与间距;步骤3,将数据包内容逐词与单个关键字进行匹配判断数据包内容是否为汉字,得到匹配到的关键字末端在文本中所处的字符数,以及关键字在文本中所在的位置,将结果保存到结果集;步骤4,判断间距是否在定义的规则的间距范围内,若是则表示匹配触发,上报结果。此种技术方案可实现多个关键字匹配。
技术领域
本发明属于网络防护技术领域,特别涉及一种实现关键字对匹配的系统及方法。
背景技术
常见的网络攻击方式是在命令中带有特定的攻击代码。现有算法实现的基本原理是把经过处理的数据包(“文本”)和定义好的规则相匹配,来搜索判断是否有入侵发生。匹配的方式为一次性匹配所有规则(单个关键字匹配)。
现有的规则匹配方式是一次性匹配所有规则(单个关键字匹配),无法实现关键字对(多个关键字)匹配,有待改进。
发明内容
本发明的目的,在于提供一种实现关键字对匹配的系统及方法,其可实现多个关键字匹配。
为了达成上述目的,本发明的解决方案是:
一种实现关键字对匹配的系统,包括:
数据采集模块,用于从web服务器获取关键字对规则;以及,
数据分析模块,用于将数据包与规则进行匹配,返回结果集,根据结果集分析是否匹配触发。
一种实现关键字对匹配的方法,包括如下步骤:
步骤1,web服务器获取定义好的关键字对形式的规则,并存入数据库中;
步骤2,将步骤1中关键字对形式的规则拆分为单个关键字与间距,其中,间距表示两个关键字间的字符数;
步骤3,将数据包内容逐词与单个关键字进行匹配,根据高位运算判断数据包内容是否为汉字,得到匹配到的关键字末端在文本中所处的字符数byteNum,以及关键字在文本中所在的位置index,将结果保存到结果集;
步骤4,根据最近一次匹配到的关键字的位置byteNum1,以及遍历中匹配到的关键字的位置byteNum2,得到distance=byteNum1-byteNum2+byteNum,判断distance是否在定义的规则的间距范围内,若是则表示匹配触发,上报结果,否则返回步骤3。
上述步骤3中,在逐词匹配过程中,判断最近一次匹配得到的关键字是否属于子规则集合中,若是则遍历之前匹配到的关键字组,判断子规则集合中的另外一个关键字是否存在于遍历得到的关键字组中,转步骤4,否则返回步骤3。
上述步骤3中,高位运算的具体过程是:
(1)字符数byteNum自增1;
(2)判断是否高位,如果不是高位则返回步骤(1);如果是高位,设置num值自增1,进一步判断下一位是否为高位,如果下一位不是高位,num值置0,如果下一位是高位,判断是否连续三个为高位,是的话为汉字,byteNum值不变,否则byteNum-1处理,表示还在判断是否为汉字;
(3)返回步骤(1),继续判断。
采用上述方案后,本发明具有如下特点:
(1)解决多个关键字搜索匹配问题;
(2)解决在指定间距范围内关键字对的匹配;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门天锐科技股份有限公司,未经厦门天锐科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710033491.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种服务供需智能匹配模型
- 下一篇:一种用于机器人的交互输出方法