[发明专利]一种数据包过滤规则集处理方法及数据包匹配方法在审

专利信息
申请号: 201510630235.3 申请日: 2015-09-29
公开(公告)号: CN105357177A 公开(公告)日: 2016-02-24
发明(设计)人: 王雨濛;王宇平 申请(专利权)人: 西安电子科技大学
主分类号: H04L29/06 分类号: H04L29/06
代理公司: 西安智萃知识产权代理有限公司 61221 代理人: 李炳辉
地址: 710071 陕西省*** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 数据包 过滤 规则 处理 方法 匹配
【说明书】:

技术领域

发明涉及网络安全技术领域,具体涉及一种数据包过滤规则集处理方法及数据包匹配方法。

背景技术

随着针对应用层的网络攻击日益增多,传统网络防火墙已不能满足需求。因此产生了入侵检测系统(IntrusionDetectionSystem,简称IDS),该系统由一个专用硬件平台和在其上运行的软件构成。IDS可以监控网络或系统活动,检测是否存在恶意活动或违法规则的行为,如果检出则会向管理单元提交报告。

基于网络的IDS(Network-basedIDS,简称NIDS)一般被部署在一个监控结点上,网络上不同设备产生的输入和输出流量都会经过此监控结点。NIDS通常将经过它的流量与已知攻击库进行匹配,以实现对整个子网产生的流量进行监控。一旦鉴别出攻击或异常行为,相应的警报就会被发送给管理员。

深度包检测(DepthPacketInspection,简称DPI)是NIDS的核心技术。DPI技术可以对OSI模型中2-7层的数据包进行检测,尤其是对数据包中所包含的数据体的检测。在传统DPI系统中,已知攻击库通常被称为过滤规则集(以下简称规则集),它由许多条过滤规则(以下简称规则)构成。一条规则描述了一类恶意数据包的特征。任何经过NIDS的数据包都被视为一个字符串,并与规则集中的每一条规则进行匹配,若匹配成功则认为该数据包有害。

在传统DPI技术中,过滤规则都是纯文本形式的。一条文本形式的过滤规则为一个字符串,表示一类有害数据包所转换成的字符串中一定会包含的子串。然而,由于有害数据包种类的急剧增加以及大量变种的产生,这种纯文本形式的过滤规则已经不能适应新的网络环境。

在这种形式下,出现了正则表达式(RegularExpression,简称RegExp)形式的过滤规则,即一条规则就是一个正则表达式。大多数新型NIDS的DPI技术均支持这类规则。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。若规则的正则表达式与数据包匹配成功,则意味着该规则有害。该由于正则表达式的灵活性、兼容性和通用性,正在逐渐成为主流的匹配规则形式。

为了便于在NIDS硬件平台上实现高速正则表达式匹配算法,通常的做法是将正则表达式编译为确定性有限自动机(DefiniteFiniteAutomaton,简称DFA)。一条正则表达式编译得到的DFA若接受一个数据包字符串,就代表该正则表达式与数据包匹配成功。尽管利用DFA技术可以在极短时间内完成数据包与正则表达式的匹配,但随着规则集规模的不断增长,对全部DFA逐一进行匹配的方式仍然严重地降低了NIDS的性能。

为了解决DFA数量过多的问题,可以利用DFA本身的特性将多个DFA合并为一个DFA。合并后的DFA能够接受合并前所有DFA能接受的字符串,并可以通过匹配的终态确定是合并前的哪一个DFA与字符串匹配。

由于DFA合并技术的原理,当具有一些特定的结构的两个或多个DFA进行合并时会发生“状态爆炸”现象,即合并后的DFA状态数呈几何级数增长,占用大量的存储空间。因此在存储空间有限的约束下,无法将一个规则集编译得到的所有DFA合并为一个DFA,因此产生了基于分组DFA的数据包过滤技术。基于分组DFA的数据包过滤技术是先对众多DFA分组,再将每个分组内的DFA合并为一个DFA。

基于分组DFA的数据包过滤技术含有两个阶段,第一阶段称数据包过滤规则集处理阶段,第二阶段称为数据包匹配阶段。

第一阶段分为三个步骤:1)将规则集中的每一条规则都编译为一个DFA,形成DFA列表,并从每个DFA中提取出一个或多个指纹。指纹是一个长度为m的字符串,m为预先设定的正整数。从一个DFA中提取出的指纹表示能够与该DFA匹配上的所有数据包中都一定会含有的子串;2)对DFA列表中的DFA进行分组,并将分为一组的DFA合并为一个“分组DFA”。分为一组的DFA都含有的一个多或个指纹构成分组DFA的指纹列表;3)从每个分组DFA的指纹列表中选出一个指纹作为该分组DFA的代表指纹,并以代表指纹为索引将所有分组DFA存入哈希表。这个哈希表称为指纹哈希表。

传统的基于分组DFA的数据包过滤规则集处理方法包括如下步骤:

步骤1:将给定规则集中的每一条规则分别编译为一个DFA。具体采用通用的正则表达式编译算法进行编译。

步骤2:将DFA转换为控制流图,然后通过状态节点之间的支配关系在每一个DFA中查找必经路径,并从其必经路径中提取出所有指定长度的指纹,作为该DFA的指纹集合。

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

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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