入侵检测和防护的方法及设备的制作方法

文档序号:7859878阅读:142来源:国知局
专利名称:入侵检测和防护的方法及设备的制作方法
技术领域
本发明涉及网络安全领域,尤其涉及一种入侵检测和防护的方法及设备。
背景技术
随着互联网技术的不断普及,网络安全问题日益凸显,各种网络安全设备也应运而生。防火墙是一种出现得比较早的网络安全设备,架设在网络出口,用于防止来自于网络外部的攻击,但不能防止网络内部人员的攻击。为了弥补防火墙应用协议检查的不足,人们开发出入侵检测系统(Intrusion Detection Systems, IDS)和入侵防御系统(IntrusionPrevention System, IPS),为网络提供实时的监控,在发现入侵的初期采取相应的防护手段。现有的IPS/IDS中,对网络中传输的数据,在传输层对所有数据包进行会话流重 组,再对会话流信息与攻击特征库进行规则匹配,以发现和防御一些攻击行为和攻击企图。然而,这种方法需要处理大量的数据,从而降低了入侵检测的有效性和准确性。

发明内容
本发明提供一种入侵检测和防护的方法及设备,以提高安全检测的有效性和准确性。为实现本发明的目的,一方面,本发明提供了一种入侵检测和防护的方法,包括在传输层对接收的第一数据进行解码和过滤,得到第二数据;在所述应用层对所述第二数据进行解码,得到第三数据;在所述应用层对所述第三数据进行会话流重组,得到第四数据;在所述应用层对所述第四数据进行检测。另一方面,本发明还提供了一种入侵检测和防护的设备,包括传输层处理模块,用于在传输层对接收的第一数据进行解码和过滤,得到第二数据;应用层解码模块,用于在所述应用层对所述第二数据进行解码,得到第三数据;会话重组模块,用于在所述应用层对所述第三数据进行会话流重组,得到第四数据;检测模块,用于在所述应用层对所述第四数据进行检测。本发明提供一种入侵检测和防护的方法及设备,通过在传输层对数据包进行解码和过滤,在应用层对数据包进行会话流重组,减少了处理的数据量,从而提高了入侵检测的有效性和准确性。


图I为本发明的入侵检测和防护的方法的实施例的流程图;图2为本发明的入侵检测和防护的方法的又一实施例的流程图3为本发明的入侵检测和防护的方法的又一实施例的流程图;图4为本发明的入侵检测和防护的设备的实施例的结构图;图5为本发明的入侵检测和防护的设备的又一实施例的结构图。
具体实施例方式下面结合附图与实施例对本发明做进一步的描述。图I为本发明的入侵检测和防护的方法的实施例的流程图,如图I所示,本实施例具体可适用于对网络传输数据的入侵检测,可以由实施入侵检测的一个或多个网元来执行,或由独立的网元执行,这些网元可以通过软件和/或硬件的形式来实现入侵检测,例如可以由基于IPS/IDS架构的检测系统来执行,本实施例的入侵检测和防护的方法具体包括 Sll :在传输层对接收的第一数据进行解码和过滤,得到第二数据;数据在网络中传输,需要经过编码,并且依据一定的网络协议进行传输。编码过程通常是将数据从高层向低层逐层添加数据头,解码过程是从开放系统互连模型(OpenSystem Interconnection, 0SI)的低层至高层逐层解码去掉数据头来解析出数据。本实施例中,第一数据依次经过传输层的以太层、网络之间互连的协议(InternetProtocol, IP)层和传输控制协议(Transmission Control Protocol, TCP)层,依次经过以太层解码和以太层过滤、IP层解码和IP层过滤以及TCP层解码和TCP层过滤,得到第二数据,然后第二数据传输至应用层。上述的解码操作可以是指根据请求评议(Request ForComments, RFC)规范、网络协议分析技术(如,没有RFC文档规范的协议)结合实际需求,对协议数据进行各字段的解析。上述过滤操作可以是指滤除数据流中畸形、重叠、空洞和乱序等数据包。例如接收的数据包中,包含了两个相同序列号的TCP数据包,则可以丢弃其中一个。S12 :在应用层对第二数据进行解码,得到第三数据;S13 :在应用层对第三数据进行会话流重组,得到第四数据。应用层设备接收到第二数据,对该数据进行应用层解码,得到第三数据。在网络中传输的数据均以数据包的形式进行传输,只有将一次会话的多个数据包重组后形成一个完整的数据,还原为一次完整的会话。数据传输至应用层时,仍然可以获取到数据包在传输层的相关信息,例如TCP数据的会话重组,按照TCP数据包序列号进行重组;对于用户数据报协议(User Datagram Protocol,UDP)数据包,由于UDP不提供数据包分组、组装,不能对数据包进行排序,因此可直接按照收到UDP数据包的先后顺序进行会话重组。本实施中,在应用层对第三数据进行重组,形成完整的会话流,得到第四数据。S14 :在应用层对第四数据进行检测。第四数据为完整的会话流,在应用层上通过对该完整的会话流与攻击特征库进行匹配,以发现该会话流中是否存在攻击行为或者攻击企图,对存在攻击行为或者攻击企图会话流采取数据隔离或者删除等措施,保障网络安全。其中,攻击特征库可以为各个公司、组织或者机构,根据自身业务及网络的特点,设置的各自的规则特征库,用于检测与其自身相关的网络行为,包括攻击行为和常规的网络通讯行为等。会话流与攻击特征库的匹配可以通过会话流代码与攻击特征库中的代码进行对比来完成。
本实施例的技术方案,在传输层对数据进行解码以及滤除畸形、重叠、空洞和乱序等数据包后发送至应用层,以及在经过应用层解码后进行会话流重组,形成完整的会话流,再通过对该完整的会话流与攻击特征库进行匹配,以发现该会话流中是否存在攻击行为或者攻击企图,对存在攻击行为或者攻击企图会话流采取数据隔离或者删除等措施,保障网络安全。由于应用层为最高层,传输至该层的数据较其他各层的数据量小,例如,在以太网中,最大传输单兀(Maximum Transmission Unit,MTU)为1500个字节。在一个IP包中,去除IP包头的20个字节,可以传输的最大数据长度为1480字节;在TCP包中,去除20个字节的TCP包头,可以传输的最大数据长度为1460个字节,而这1460个字节的数据中除有效地数据外还包括应用层协议信息。此外,还对数据进行过滤,滤除畸形、重叠、空洞和乱序等数据包,因此,减少了进行安全检测匹配的数据量,从而提高了入侵检测的有效性和准确性。图2为本发明的入侵检测和防护的方法的又一实施例的流程图,如图2所示,本实施例的入侵检测和防护的方法具体包括S21 :在传输层对接收的第一数据进行解码和过滤,得到第二数据。 数据在网络中传输,需要经过编码,并且依据一定的网络协议进行传输。编码过程通常是将数据从高层向低层逐层添加数据头,解码过程是从OSI的低层至高层逐层解码去掉数据头来解析出数据。本实施例中,第一数据依次经过传输层的以太层、IP层和TCP层,依次经过以太层解码和以太层过滤、IP层解码和IP层过滤以及TCP层解码和TCP层过滤,得到第二数据(请参照图3)。上述的解码操作可以是指根据RFC规范、网络协议分析技术(如,没有RFC文档规范的协议)结合实际需求,对协议数据进行各字段的解析。上述过滤操作可以是指滤除数据流中畸形、重叠、空洞和乱序等数据包。例如接收的数据包中,包含了两个相同序列号的TCP数据包,则可以丢弃其中一个。S22 :在传输层对第一数据或第二数据进行协议识别,得到协议识别结果,该协议识别结果包括第一数据或第二数据所采用的应用层协议。在传输层通过对第一数据或者第二数据进行协议识别。如图3所示,在TCP层对第一数据进行协议识别。可以理解的是,协议识别步骤还可以在TCP过滤之后对第二数据进行,也可以在应用层对第二数据或第三数据进行协议识别。一种可实施的方式是,监视第一数据或者第二数据的每一个数据包,通过个数据包的传输端口信息确认数据包所采用的应用层协议。例如,HTTP协议数据包使用80号端口,FTP协议数据包使用20和21号端口,SMTP协议数据包使用25号端口,pop3协议数据包使用110号端口。此外,还可以通过检测特征数据来识别第一数据或第二数据所采用的应用层协议,例如,只有HTTP协议数据包括Hosts字段。协议识别得到第一数据或者第二数据所采用的应用层协议,以对采用不同应用层协议的数据有选择性的进行安全检测匹配。例如,通过协议识别,得到第一数据或者第二数据所采用的应用层协议包括HTTP (Hypertext Transport Protocol,超文本传送协议)协议、FTP (File Transfer Protocol,文件传输协议)协议、SMTP (Simple Mail TransferProtocol,简单邮件传输协议)协议以及自定义协议。S23 :在所述应用层对所述第二数据进行解码,得到第三数据。将第二数据发送至应用层,并在应用层对第二数据进行应用层解码,即根据RFC规范、应用层网络协议分析技术(如,没有RFC文档规范的协议)结合实际需求,对数据进行各字段的解析,得到第三数据。需要说明的是,S22的协议识别步骤为可选步骤,作为另一种可行的实施方式,还可以在S23之后,在应用层对第二数据或第三数据进行协议识别,得到协议识别结果,该协议识别结果包括第二数据或第三数据所采用的应用层协议,以对采用不同应用层协议的数据有选择性的进行安全检测匹配。S24:在传输层或应用层,根据协议识别结果生成会话重组协议列表,会话重组协议列表中包括进行会话流重组的协议识别结果中包括的至少一种应用层协议。在将第二数据发送至应用层之前,在传输层通过对第一数据或者第二数据进行协议识别,得到第一数据或者第二数据所采用的应用层协议,或者,在将第二数据发送至应用层之后,在应用层通过对第二数据或者第三数据进行协议识别,得到第二数据或者第三数据所采用的应用层协议。相应的在传输层或者应用层,根据协议识别结果生成会话重组协议列表,以在应用层对第三数据中与会话重组协议列表中包括的至少一种应用层协议对应的数据进行会话流重组,得到第四数据。例如,协议识别的结果包括=HTTP协议、FTP协议 和SMTP协议,根据该结果生成的会话重组协议列表只包括了 FTP协议,以根据该会话重组协议列表只对采用FTP协议的数据进行会话流重组。S25:在应用层对第三数据中与会话重组协议列表中包括的至少一种应用层协议对应的数据进行会话流重组,得到第四数据。在应用层根据会话重组协议列表,对采用该列表中应用层协议的第三数据进行会话流重组,得到第四数据,以有针对性有选择性的对数据进行安全检测匹配。例如,第三数据所采用的应用层协议包括=HTTP协议、FTP协议、SMTP协议以及自定义协议,而会话重组协议列表中仅包含HTTP协议一种,则只对采用HTTP协议的数据进行会话流重组,而不对采用FTP协议、SMTP协议和自定义协议的数据进行任何操作,则减少了安全检测匹配的处理数据量。会话流重组是将一个数据的多个数据包重组后形成一个完整的数据,还原为一次完整的会话。数据传输至应用层时,仍然可以获取到数据报在传输层的相关信息,例如TCP数据的会话重组,按照TCP数据包序列号进行重组;对于UDP数据包,由于UDP不提供数据包分组、组装,不能对数据包进行排序,因此可直接按照收到UDP数据包的先后顺序进行会话重组。S26 :在所述应用层对所述第四数据进行检测。第四数据为完整的会话流,在应用层上通过对该完整的会话流与攻击特征库进行匹配,以发现该会话流中是否存在攻击行为或者攻击企图,对存在攻击行为或者攻击企图会话流采取数据隔离或者删除等措施,保障网络安全。其中,攻击特征库可以为各个公司、组织或者机构,根据自身业务及网络的特点,设置的各自的规则特征库,用于检测与其自身相关的网络行为,包括攻击行为和常规的网络通讯行为等。会话流与攻击特征库的匹配可以通过会话流代码与攻击特征库中的代码进行对比来完成。较佳的,本实施例中的协议识别结果可以以协议列表表不,协议列表中包括至少
一种应用层协议。本实施例的技术方案,在传输层对数据进行解码以及滤除畸形、重叠、空洞和乱序等数据包后发送至应用层,以及在经过应用层解码后有针对性选择性的对数据进行会话流重组,形成完整的会话流,再通过对该完整的会话流与攻击特征库进行匹配,以发现该会话流中是否存在攻击行为或者攻击企图,对存在攻击行为或者攻击企图会话流采取数据隔离或者删除等措施,保障网络安全。由于应用层为最高层,传输至该层的数据较其他各层的数据量小,此外还对数据进行过滤滤除畸形、重叠、空洞和乱序等数据包,以及根据会话流重组协议列表有针对性选择性的进行会话流重组,因此,减少了进行安全检测匹配的数据量,从而提闻了入侵检测的有效性和准确性。图4为本发明的入侵检测和防护的设备的实施例的结构图,如图4所示,本实施例的入侵检测和防护的设备,包括传输层处理模块1,应用层解码模块2,会话重组模块3和检测模块4。传输层处理模块1,用于在传输层对接收的第一数据进行解码和过滤,得到第二数 据;应用层解码模块2,用于在应用层对所述第二数据进行解码,得到第三数据;会话重组模块3,用于在应用层对第三数据进行会话流重组,得到第四数据;检测模块4,用于在应用层对第四数据进行检测。本实施例的技术方案,传输层处理模块I在传输层对第一数据进行解码以及滤除畸形、重叠、空洞和乱序等数据包后得到第二数据,第二数据传输至应用层,应用层解码模块2对第二数据进行应用层解码得到第三数据,会话重组模块3对第三数据进行会话流重组,形成完整的会话流,即第四数据,再通过检测模块4对该完整的会话流与攻击特征库进行匹配,以发现该会话流中是否存在攻击行为或者攻击企图,对存在攻击行为或者攻击企图会话流采取数据隔离或者删除等措施,保障网络安全。由于应用层为最高层,传输至该层的数据较其他各层的数据量小,例如,在以太网中,最大传输单元(Maximum TransmissionUnit,MTU)为1500个字节。在一个IP包中,去除IP包头的20个字节,可以传输的最大数据长度为1480字节;在TCP包中,去除20个字节的TCP包头,可以传输的最大数据长度为1460个字节,而这1460个字节的数据中除有效地数据外还包括应用层协议信息。此外还对数据进行过滤滤除畸形、重叠、空洞和乱序等数据包,因此,减少了进行安全检测匹配的数据量,从而提高了入侵检测的有效性和准确性。图5为本发明的入侵检测和防护的设备的又一实施例的结构图,如图5所示,在上述实施例的基础上,本实施例的入侵检测和防护的设备还包括协议识别模块5,用于在应用层对第二数据进行解码之前,在传输层对第一数据或第二数据进行协议识别,得到协议识别结果,该协议识别结果包括第一数据或第二数据所采用的应用层协议;或者,用于在应用层对第二数据进行解码之后,在应用层对第二数据或第三数据进行协议识别,得到协议识别结果,该协议识别结果包括第二数据或第三数据所采用的应用层协议。在应用层对第二数据进行解码之前,协议识别模块5在应用层通过对第一数据或者第二数据进行协议识别,得到第一数据或者第二数据所采用的应用层协议,或者在应用层对第二数据进行解码之后,协议识别模块5在应用层通过对第二数据或者第三数据进行协议识别,得到第二数据或者第三数据所采用的应用层协议,以对采用不同应用层协议的数据有选择性的进行安全检测匹配。可选的,该协议识别结果以协议列表表示,该协议列表中包括至少一种应用层协议。优选的,会话重组模块3具体用于在应用层对第三数据中与该协议识别结果中包括的至少一种应用层协议对应的数据进行会话流重组。根据协议识别模块5的识别结果,在应用层对第三数据进行协议选择,选择其中至少一种应用层协议对应的数据由会话重组模块3进行会话流重组,得到第四数据。例如,从协议识别后得到第三数据所采用的应用层协议=HTTP协议、FTP协议和SMTP协议中,只选择采用HTTP协议的数据进行会话流重组,而不对采用FTP和SMTP协议的数据进行任何操作,则减少了安全检测匹配的处理数据量。会话流重组是将一个数据的多个数据包重组后形成一个完整的数据,还原为一次完整的会话。数据传输至应用层时,仍然可以获取到数据报在传输层的相关信息,例如TCP数据的会话重组,按照TCP数据包序列号进行重组;对于UDP数据包,由于UDP不提供数据包分组、组装,不能对数据包进行排序,因此可直接按照收到UDP数据包的先后顺序进行会话重组。
作为一种可实施方式,会话重组模块3包括协议选择单元31和会话重组单元32。协议选择单元31,用于在传输层或应用层,根据该协议识别结果生成会话重组协议列表,会话重组协议列表中包括进行会话流重组的协议识别结果中包括的至少一种应用层协议;会话重组单元32,用于在应用层对第三数据中与会话重组协议列表中包括的至少一种应用层协议对应的数据进行会话流重组。在将第二数据发送至应用层之前,协议选择单元31在传输层通过对第一数据或者第二数据进行协议识别,得到第一数据或者第二数据所采用的应用层协议,或者,在将第二数据发送至应用层之后,协议选择单元31在应用层通过对第二数据或者第三数据进行协议识别,得到第二数据或者第三数据所采用的应用层协议。相应的在传输层或者应用层,协议选择单元31根据协议识别结果生成会话重组协议列表,会话重组协议列表中包括协议识别结果中的至少一种应用层协议。会话重组单元32则根据协议选择单元31生成的会话重组协议列表,对采用该列表中应用层协议的第三数据进行会话流重组,以有针对性有选择性的对数据进行安全检测匹配。本实施例的技术方案中,在传输层对数据进行解码以及滤除畸形、重叠、空洞和乱序等数据包后发送至应用层,以及在经过应用层解码后有针对性选择性的对数据进行会话流重组,形成完整的会话流,再通过对该完整的会话流与攻击特征库进行匹配,以发现该会话流中是否存在攻击行为或者攻击企图,对存在攻击行为或者攻击企图会话流采取数据隔离或者删除等措施,保障网络安全。由于应用层为最高层,传输至该层的数据较其他各层的数据量小,此外还对数据进行过滤滤除畸形、重叠、空洞和乱序等数据包,以及根据会话流重组协议列表有针对性选择性的进行会话流重组,因此,减少了进行安全检测匹配的数据量,从而提高了入侵检测的有效性和准确性。本发明提供的入侵检测和防护的设备实施例,与本发明提供的入侵检测和防护的方法的实施例相对应,为本发明提供的入侵检测和防护的方法的执行设备,其具体结构及结构中各部分执行的操作可参见方法实施例,在此不再赘述。本领域普通技术人员可以理解实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征 进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
权利要求
1.一种入侵检测和防护的方法,其特征在于,包括 在传输层对接收的第一数据进行解码和过滤,得到第二数据; 在所述应用层对所述第二数据进行解码,得到第三数据; 在所述应用层对所述第三数据进行会话流重组,得到第四数据; 在所述应用层对所述第四数据进行检测。
2.根据权利要求I所述的方法,其特征在于,所述在所述应用层对所述第二数据进行解码之前,还包括 在所述传输层对所述第一数据或第二数据进行协议识别,得到协议识别结果,所述协议识别结果包括所述第一数据或第二数据所采用的应用层协议; 或者,所述在所述应用层对所述第二数据进行解码之后,还包括 在所述应用层对所述第二数据或第三数据进行协议识别,得到协议识别结果,所述协议识别结果包括所述第二数据或所述第三数据所采用的应用层协议。
3.根据权利要求2所述的方法,其特征在于,所述协议识别结果以协议列表表示,所述协议列表中包括至少一种应用层协议。
4.根据权利要求2或3所述的方法,其特征在于,所述在所述应用层对所述第三数据进行会话流重组,包括 在所述应用层对所述第三数据中与所述协议识别结果中包括的至少一种应用层协议对应的数据进行会话流重组。
5.根据权利要求4所述的方法,其特征在于,所述在所述应用层对所述第三数据中与所述协议识别结果中包括的至少一种应用层协议对应的数据进行会话流重组,包括 在所述传输层或所述应用层,根据所述协议识别结果生成会话重组协议列表,所述会话重组协议列表中包括进行会话流重组的所述协议识别结果中包括的至少一种应用层协议; 在所述应用层对所述第三数据中与所述会话重组协议列表中包括的至少一种应用层协议对应的数据进行会话流重组。
6.—种入侵检测和防护的设备,其特征在于,包括 传输层处理模块,用于在传输层对接收的第一数据进行解码和过滤,得到第二数据; 应用层解码模块,用于在所述应用层对所述第二数据进行解码,得到第三数据; 会话重组模块,用于在所述应用层对所述第三数据进行会话流重组,得到第四数据; 检测模块,用于在所述应用层对所述第四数据进行检测。
7.根据权利要求6所述的设备,其特征在于,还包括 协议识别模块,用于所述在所述应用层对所述第二数据进行解码之前,在所述传输层对所述第一数据或第二数据进行协议识别,得到协议识别结果,所述协议识别结果包括所述第一数据或第二数据所采用的应用层协议; 或者,用于所述在所述应用层对所述第二数据进行解码之后,在所述应用层对所述第二数据或第三数据进行协议识别,得到协议识别结果,所述协议识别结果包括所述第二数据或所述第三数据所采用的应用层协议。
8.根据权利要求7所述的设备,其特征在于,所述协议识别结果以协议列表表示,所述协议列表中包括至少一种应用层协议。
9.根据权利要求7或8所述的设备,其特征在于,所述会话重组模块具体用于在所述应用层对所述第三数据中与所述协议识别结果中包括的至少一种应用层协议对应的数据进行会话流重组。
10.根据权利要求9所述设备,其特征在于,所述会话重组模块包括 协议选择单元,用于在所述传输层或所述应用层,根据所述协议识别结果生成会话重组协议列表,所述会话重组协议列表中包括进行会话流重组的所述协议识别结果中包括的至少一种应用层协议; 会话重组单元,用于在所述应用层对所述第三数据中与所述会话重组协议列表中包括的至少一种应用层协议对应的数据进行会话流重组。
全文摘要
本发明提供一种入侵检测和防护的方法及设备。该方法包括在传输层对接收的第一数据进行解码和过滤,得到第二数据;在所述应用层对所述第二数据进行解码,得到第三数据;在所述应用层对所述第三数据进行会话流重组,得到第四数据;在所述应用层对所述第四数据进行检测。该设备包括传输层处理模块,应用层解码模块,会话重组模块和检测模块。通过在传输层对数据包进行解码和过滤,在应用层对数据包进行会话流重组,减少了处理的数据量,从而提高了入侵检测的有效性和准确性。
文档编号H04L12/26GK102833263SQ20121033048
公开日2012年12月19日 申请日期2012年9月7日 优先权日2012年9月7日
发明者刘水生, 段宇璇 申请人:北京神州绿盟信息安全科技股份有限公司, 北京神州绿盟科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1