自动调整匹配算法的入侵检测方法
【专利摘要】本发明提出了一种自动调整匹配算法的入侵检测方法,包括以下步骤:A)捕获网络中的数据包;B)对所捕获的数据包进行全协议栈解析;C)首先根据预先设定的模式特征和协议变量特征选择最合适的多模式匹配算法,然后加载模式匹配算法库,并在检测过程中根据当前网络状态来动态调整匹配算法。本发明通过对数据包进行全协议栈解析,大大提高了解码速度,满足实时解码要求,并减少了对服务器内存的需求;此外,本发明通过数据包重组,并提高匹配速度与匹配效率,通过上述高级隐遁技术实现了对高级逃逸入侵的有效防护。
【专利说明】自动调整匹配算法的入侵检测方法
【技术领域】
[0001]本发明涉及网络安全【技术领域】,尤其涉及一种自动调整匹配算法的入侵检测方法。
【背景技术】
[0002]网络入侵检测作为目前最主要的主动网络安全措施之一,它通过对计算机和网络资源上的恶意网络连接进行识别和响应,有效地补充和完善了诸如访问控制、数据加密、防火墙、病毒防范等安全措施,提高了信息安全基础结构的完整性,已成为信息系统安全解决方案中不可或缺的环节。
[0003]高级隐遁技术(AET, Advanced Evasion Technique)、隐遁攻击的叠加网络力量(cyber-force)渗透到各国政治斗争的计算机攻击的案例略见不鲜,最近发生的韩国银行计算机网络故障、美国的纽约时报和华尔街日报受到的攻击足以说明这种情况。显然黑客的攻击手段和能力已经发生了质的变化,根据Garter的报告,从2011年来,网络防御的能力已经远远滞后于攻击的手段。而高级隐遁技术(AET)毫无疑问对IDS / IPS厂商来说是尤为头疼的技术难题,从NSS Lab公布的最新的IPS测试标准《NSS_Labs_ips group testmethodology v6.2))中单独增加了 AET的测试(4.15章节部分)可以看出对AET的重视程度。
[0004]防火墙和IPS是网络中核心的安全保障设备,防火墙通常根据数据流端口、地址、协议等进行数据的过滤,而IPS则进一步进行数据包的深度检测。为了真正的理解和检测网络数据包,IPS则需要深度理解数据流所采用的协议。表面上如果彻底分析透数据流的协议格式就足够了,但事实证明并非如此。早在1998年,来自Secure Network公司的TimNewsham和Thomas Ptacek发表了有关如何穿透IDS / IPS的技术文章《插入、隐遁和拒绝服务攻击:避开网络入侵检测》。近两年,国内相关的研究,总参某研究所的徐金伟研究员曾就AET发表过多篇文章。常用的AET手段有:字符串混淆、加密和隧道技术、碎片技术和协议的违规四种。
[0005]针对高级隐遁攻击应当考虑新的拦截模式,单纯的特征库匹配模式不再能够完全达到拦截目的,因此,本发明将提出一种全新的自动调整匹配算法的入侵检测方法,该方法将大大提闻网络的安全系数。
【发明内容】
[0006]为了克服现有技术的缺陷,本发明的目的在于提出一种能够提高网络安全系数的自动调整匹配算法的入侵检测方法。
[0007]为实现上述目的,本发明所述的自动调整匹配算法的入侵检测方法,其包含如下具体步骤:
[0008]A)捕获网络中的数据包;
[0009]B)对所捕获的数据包进行全协议栈解析;[0010]c)首先根据预先设定的模式特征和协议变量特征选择最合适的多模式匹配算法,然后加载模式匹配算法库,并在检测过程中根据当前网络状态来动态调整匹配算法。
[0011]进一步地,所述步骤B的具体方法包括:
[0012]BI)协议解析器进行初始化,并加载编译后的正则规则表达集;
[0013]B2)读取数据包,并对其进行分组处理;
[0014]B3)识别分组后所述数据包的协议类型,并判断所述数据包是否需要解析,如不需要,则直接丢弃该数据包;否则,将协议类型相同的数据包进行归类;
[0015]B4)根据正则表达式规则集查找到与数据协议类型对应的协议解码规则,再对包含该数据的数据包进行扫描,根据所述协议解析规则从数据包中提取所述数据的解析信息。
[0016]进一步地,所述对数据包进行分组的具体步骤包括:
[0017]首先设置输出端口分组规则和数据分组规则,输出端口分组规则的配置是首先将各输出端口按照对应的后端应用系统的业务处理类型进行分组,然后再根据组内各端口对应的后端系统的处理能力决定每个端口在该组中数据包处理流量的分配比例,数据分组规则的配置是根据IP地址信息或特殊字段将数据包划分到各个分组当中;再进行数据分组处理,先通过协议解析,从网络上接收到的原始数据包中提取出IP数据包,根据设置好的数据分组规则将与后续处理相关数据划分到各个输出端口分组中;然后将划分到每个组中的数据包的地址和端口信息进行Hash运算,Hash值再与该分组所包含的端口总数取模,得到的结果就是该数据包在所属的分组中对应的输出端口序号。
[0018]进一步地,所述的输出端口分组的配置遵循以下原则:
[0019]1)输出端口的分组首先依据后端处理系统的业务需求,按照业务处理类型进行分组,当一个系统与多个系统分别在数据分组规则属性中互相有重叠时,同一个输出端口会出现在两个以上的分组中;
[0020]2)在每个分组内部,为了保证数据处理任务实现均衡分配,同一个输出端口可多次出现在同一个组中,即在分组内按照每个端口对应的后端系统的数据处理能力决定每个端口在该组中数据包流量的分配比例;
[0021]3)组内各输出端口的分配在保证负载均衡的同时,保证同一条TCP连接双向的所有数据包必须转发到同一个输出端口上,便于后端对所接收到的数据的汇总和还原。
[0022]进一步地,所述的数据分组规则的设置包括两种方式:
[0023]一种是将数据包的IP地址和端口信息作为直接监控对象,基于这些IP地址信息将规则设置在基于地址信息的数据分组规则表中,该规则表的格式如下:
[0024]
【权利要求】
1.一种自动调整匹配算法的入侵检测方法,其特征在于,包括以下步骤: A)捕获网络中的数据包; B)对所捕获的数据包进行全协议栈解析; C)首先根据预先设定的模式特征和协议变量特征选择最合适的多模式匹配算法,然后加载模式匹配算法库,并在检测过程中根据当前网络状态来动态调整匹配算法。
2.如权利要求1所述的方法,其特征在于,所述步骤B的具体方法包括: B1)协议解析器进行初始化,并加载编译后的正则规则表达集; B2)读取数据包,并对其进行分组处理; B3)识别分组后所述数据包的协议类型,并判断所述数据包是否需要解析,如不需要,则直接丢弃该数据包;否则,将协议类型相同的数据包进行归类; B4)根据正则表达式规则集查找到与数据协议类型对应的协议解码规则,再对包含该数据的数据包进行扫描,根据所述协议解析规则从数据包中提取所述数据的解析信息。
3.根据权利要求2所述的方法,其特征在于,所述对数据包进行分组的具体步骤包括: 首先设置输出端口分组规则和数据分组规则,输出端口分组规则的配置是首先将各输出端口按照对应的后端应用系统的业务处理类型进行分组,然后再根据组内各端口对应的后端系统的处理能力决定每个端口在该组中数据包处理流量的分配比例,数据分组规则的配置是根据IP地址信息或特殊字段将数据包划分到各个分组当中;再进行数据分组处理,先通过协议解析,从网络上接收到的原始数据包中提取出IP数据包,根据设置好的数据分组规则将与后续处理相关数据划分到各个输出端口分组中;然后将划分到每个组中的数据包的地址和端口信息进行Hash运算,Hash值再与该分组所包含的端口总数取模,得到的结果就是该数据包在所属的分组中对应的输出端口序号。
4.根据权利要求3所述的方法,其特征是,所述的输出端口分组的配置遵循以下原则: 1)输出端口的分组首先依据后端处理系统的业务需求,按照业务处理类型进行分组,当一个系统与多个系统分别在数据分组规则属性中互相有重叠时,同一个输出端口会出现在两个以上的分组中; 2)在每个分组内部,为了保证数据处理任务实现均衡分配,同一个输出端口可多次出现在同一个组中,即在分组内按照每个端口对应的后端系统的数据处理能力决定每个端口在该组中数据包流量的分配比例; 3)组内各输出端口的分配在保证负载均衡的同时,保证同一条TCP连接双向的所有数据包必须转发到同一个输出端口上,便于后端对所接收到的数据的汇总和还原。
5.根据权利要求3所述的方法,其特征在于,所述的数据分组规则的设置包括两种方式: 一种是将数据包的IP地址和端口信息作为直接监控对象,基于这些IP地址信息将规则设置在基于地址信息的数据分组规则表中,该规则表的格式如下:
6.根据权利要求5所述的方法,其特征在于,由于动态设定的规则具有时效性,因此导入到内存的基于数据包的IP地址和端口信息的数据分组规则表增加"动态/静态"和"超时计数"两个字段,格式为:
7.根据权利要求2所述的方法,其特征在于,所述步骤Β3中,将协议类型相同的数据包进行归类的具体步骤包括: 1)在接收到新数据包时建立新的数据表; 2)当接收到数据报文时,先在所述数据表中查找与其对应的包号,若能找到,再判断所述数据报文是否为最后一个包,若不是,则将所述数据报文归入对应的数据包中;否则,删除该数据包; 3)当所述数据包出现乱序或重发且所述数据包没有被正常删除时,启动定时器在定时时间内将所述数据包删除。
8.如权利要求1所述的方法,其特征在于,所述步骤C包括统计分析模块、匹配模块和评估切换模块;其中,所述统计分析模块用于对模式匹配输入规则树进行统计分析,并根据分析结果选择最优的多模式匹配算法;所述匹配模块用于通过统一调用接口为外部调用模块提供快速多模式匹配服务,并将模式匹配结果描述事件反馈给评估切换模块;所述评估切换模块用于根据匹配模块反馈的事件信息来获知当前网络状态,并据此做出调整当前多模式匹配算法的决定。
9.如权利要求8所述的方法,其特征在于, 所述统计分析模块,根据事件配置文件建立模式匹配规则树,规则树中每一树节点代表某一类型模式匹配子任务包括对协议变量或报文数据载荷进行模式匹配;统计分析规则树中每一节点的协议变量特征和相关模式特征;考察算法库中每一备选多模式匹配算法特征,选择一种最适合该规则树节点的多模式匹配算法; 所述匹配模块,利用当前选择的匹配算法为外部调用模块提供快速多模式匹配服务,即对外部模块输入的网络报文或协议变量值执行多关键词搜索操作,并返回最后模式匹配结果;同时有选择地根据本次模式匹配的输入和结果生成相应的模式匹配反馈事件,供评估切换模块统计分析处理。 所述评估切换模块,根据匹配模块反馈的事件信息,来获知当前网络状态;在当前网络状态下对当前选择的多模式匹配算法进行评估,如果评估结果不满意,则考察算法库中各基本模式匹配算法特征,选出一种最适合当前网络状态的多模式匹配算法,指导算法调度引擎完成对当前多模式匹配算法的动态切换。
【文档编号】G06F17/30GK103841096SQ201310398941
【公开日】2014年6月4日 申请日期:2013年9月5日 优先权日:2013年9月5日
【发明者】刘庆 申请人:北京科能腾达信息技术股份有限公司