会话检测方法及会话检测系统的制作方法

文档序号:7653452阅读:286来源:国知局
专利名称:会话检测方法及会话检测系统的制作方法
技术领域
本发明涉及网络技术领域,尤其是一种会话检测方法及一种会话检测系统背景技术目前,网络技术正由单纯的数据传输网络向可管理应用网络发展,因此,网络对会话的检测需求日益增长,用于实现带宽管理、服务质量(Quality ofService,简称QoS)检测、入侵防御/检测、反病毒、内容过滤、负载均衡等目的。为了实现上述目的,主要进行以下两个方面的检测1、检测识别会话所属的应用协议,这需要预先分析特定协议的各种数据字段,以便对基于相应协议的会话进行分类和识别;比如为了实现带宽管理的目的,就需要识别每个会话所属的应用协议,之后才能够根据用户对应用的带宽配置,对会话上的数据进行流量限制和带宽调度;2、检测识别会话中数据包的特征,以便捕获这些数据包之后采取相应的处理措施,一般表现为网络设备的深度检测功能;比如典型的入侵防御系统/入侵检测系统(Intrusion Prevention System/Intrusion Detection System,简称IPS/IDS),为了实现入侵检测/防御的目的,通过正则表达式构成的特征库识别网络上传输数据包是否具有攻击特征,并进一步阻断具有攻击特征的数据包以及向用户报警。
上述两个方面的检测在事实上是相互关联的一方面,借助已识别的特征,可以提高协议识别的准确度和灵活性,举例来说,根据协议的握手特征而不是以现有技术中根据固定端口来识别协议,可以使协议的识别不受端口配置范围的限制,因此识别结果更加可靠和准确;另一方面,借助已识别的协议以及协议层次,可以提高特征检测的准确度和灵活性,举例来说,攻击特征往往是以特定协议上传输的数据特征,因此可以只在相应协议的会话中查找这些特征,就可以有效减少误报,由于无需在全部会话中进行攻击特征检测,能够提高检测性能。
进一步的,在实际使用中往往需要对特定应用会话数据流进行重组和截取,以便更准确的检测会话特征或进行相应的内容分析、审核和管理,比如将邮件附件的数据重组起来得到一个完整的附件进行病毒扫描。由于需要截取和重组的数据流通常是通过特定协议承载且由特定特征标识的,比如邮件附件,是通过邮件传输协议承载且由附件特征标识的会话组成的,因此,数据截取和重组可以基于协议和特征检测结果进行。
但在实际应用中,大部分的4-7层(传输层/会话层/表示层/应用层)设备都是相对割裂的实现上述功能,导致协议识别和特征检测都不够灵活和准确;总体来说,目前缺少一种能够将协议检测、特征检测有机融合在一起的技术方案,同时也没有提供根据协议识别和攻击特征检测结果进行数据截取和重组的技术方案。

发明内容
本发明的目的是提供一种会话检测方法及会话检测系统,解决现有技术中特征检测和协议检测相对分离的问题。
为实现上述目的,本发明的实施例提供了一种会话检测方法,对接收到的需要进行检测的报文执行深度检测,当检测出任一未处理特征时,执行以下步骤步骤1、识别所述未处理特征是否能够存在于报文所在会话的已识别协议层次上,是则执行下一步骤,否则丢弃该未处理特征;步骤2、识别所述未处理特征;当所述未处理特征匹配一预识协议时,为所述会话生成相应的已识别协议信息;当所述未处理特征匹配一预识特征且对所述会话后续报文生效时,在所述预识特征中为所述会话生成相应的已识别特征插件挂接点;
步骤3、将生成的已识别协议信息和已识别特征插件挂接点输出到所述会话的识别结果记录中。
本发明的实施例还提供了一种会话检测系统,包括会话识别结果记录模块,用于保存已识别协议信息和已识别特征插件挂接点;深度检测模块,用于接收报文并执行深度检测;特征过滤模块,用于对所述深度检测模块返回的匹配特征进行过滤,过滤掉不可能在已识别协议层次的特征;特征推导模块,用于接收经过特征过滤后的匹配特征,生成相应的已识别协议信息和相应的已识别特征插件挂接点,并输出到所述会话识别结果记录模块;还用于通过特征匹配指令或挂接点触发预识协议处理函数和预识特征插件,对所述报文进行处理。
由上述技术方案可知,本发明的实施例利用特征识别协议,并将已识别协议作为特征检测环境和过滤条件,具有以下有益效果1、提高了会话检测的准确度和灵活性;2、提高了会话检测的系统性能。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


图1为本发明所提供会话检测方法实施例1的流程图;图2为本发明所提供会话检测方法一较佳实施例的流程图;图3为本发明所提供会话检测系统实施例1的框图;图4为本发明所提供会话检测系统实施例2的框图;图5为本发明所提供会话检测系统实施例3的框图。
具体实施例方式
为了有效地将协议识别和特征识别结合起来,本发明的实施例提供了一种会话检测方法和一种会话检测系统,利用特征识别发现协议,同时利用协议识别结果作为更准确的特征识别环境,下面分别加以描述。
参见图1,为本发明所提供的会话检测方法实施例1的流程图,包括以下步骤步骤101、对接收到的需要进行检测的报文执行深度检测;作为本发明的一个特点,本发明为了将特征识别和协议识别结合起来,将特征格式定义为由网际协议(Internet Protocol,简称IP)/传输控制协议(Transfer Control Protocol,简称TCP)/用户数据报文协议(User DatagramProtocol,简称UDP)/因特网控制报文协议(Internet Control Message Protocol,简称ICMP)等协议选项及正则表达式组成,并与广泛部署的开放源码网络入侵检测系统(snort)的检测规则定义格式兼容。其中,所谓特征(signature)是指网络上数据包的数据模式,比如网络上特定攻击的数据包与解码信息的数据包具有不同的数据模式;本发明对特征的定义在snort规则定义格式的基础上实现了对特征的信息扩充,即特征携带本身所在的协议层次,当通过深度检测被检测出来后,能够根据本身携带的协议层次和正则表达式指示的特征本身信息,满足后续的融合协议和特征发现的需要。
步骤102、对检测出的一未处理特征,识别该未处理特征是否能够存在于报文所在会话的已识别协议层次上,是则执行步骤104,否则执行步骤103;所谓的已识别协议层次,是指通过对所在会话在先报文的检测,所识别出的特征所在的协议层次,这个层次可能为多层次,比如在TCP协议层次上,还已识别了HTTP协议层次,则识别该未处理特征是否能够存在于报文所在会话的已识别协议层次上包括识别是否能够存在于TCP协议或者HTTP协议皆可。
本步骤借助协议识别结果作为特征检测的环境,能够避免一些无意义的继续识别。比如,当报文所在协议层次为安全套接层(Secure Socket Layer,简称SSL)协议时,由于SSL协议对数据加密,所以基本上无法在SSL协议所属的会话中识别攻击特征,因此无需进一步的特征检测。
步骤103、丢弃该未处理特征,并执行步骤108;可以看出,通过协议实现未处理特征的过滤和丢弃,避免进一步识别检测,能够提高检测系统的性能;而对于需要进一步识别处理的特征,则继续执行步骤104至108的未处理特征识别步骤。
为了实现对未处理特征的识别,会话检测系统必须能够认知上述特征所对应的全部预识特征和预识协议,并通过匹配实现识别,这在现有技术中已经能够实现。其中,预识协议中还可以包括处理函数,预识特征中还可以包括挂接代码,以利于识别后的进一步处理。
但在本发明中,为了有效的将协议和特征融合起来,特征被分为两种类型一类是用于协议发现的特征,当这类特征发现后,可以扩展会话的已识别层次。具体来说,将IP/TCP/UDP/ICMP作为根协议,每一协议上都可以定义很多用于协议发现的特征,这些特征用于发现新的协议;比如,定义在已识别协议层次TCP上的特征,可以标识文件传送协议(File Transfer Protocol,简称FTP)、简单邮件传输协议(Simple Mail Transfer Protocol,简称SMTP)等,则深度检测之后通过进一步识别发现该类特征,就意味着在TCP层次上新的FTP、SMTP协议被发现。被发现的新的协议上,同时也定义着新的协议发现特征,因此通过协议发现的逐层定义,能够逐层限定特征检测的环境和条件。
另一类是触发类上报特征,这些特征定义在特定的协议层次上,比如攻击特征或者进行数据重组、截取的特征,都会触发相应的函数进行报文处理。
进一步的,可以基于预设的协议和特征库,使会话检测系统认知上述特征所对应的全部预识特征和预识协议,进而匹配识别该未处理特征的类型。该预设的协议和特征库能够记录大量的预识协议处理函数和预识特征插件,以备识别检测以及相应的触发处理。其中,预识协议处理函数由协议匹配指令触发,预识特征插件为挂接代码的集合,由特征匹配指令或者挂接点触发,能够为触发该插件的报文特征提供处理函数。在本实施例中,对特征类型的定义同样可以保存在协议和特征库中,作为协议和特征属性的一部分存在。
具体的识别检测步骤包括步骤104、识别所述未处理特征是否匹配一预识协议,是则为所述会话生成相应的已识别协议信息,并执行步骤105;否则执行步骤106;步骤105、将所述已识别协议信息输出到所述会话的识别结果记录中;一般来说,该已识别协议信息可以为协议库中的协议ID,而协议处理所需的实际执行函数则静态的记录在协议和特征库里的协议结构中,对该协议ID对应的任何报文和会话生效。
可以看出,进一步通过已识别协议信息的记录和已识别协议函数的调用,不再受限于现有技术中根据端口号识别协议的模式,而是根据具体的特征逐层识别协议,实现了协议的准确、灵活识别。
步骤106、识别所述未处理特征是否匹配一预识特征,是则执行步骤107,否则执行步骤109;当识别所述未处理特征匹配一预识特征时,还可以包括生成已识别特征信息,该已识别特征信息可以与步骤104中生成的已识别协议信息一起,作为当前报文的处理数据,发送给控制中心,用于监控报文检测的运行情况。
步骤107、识别所述匹配的预识特征是否对所述会话后续报文生效,是则在所述预识特征中为所述会话生成相应的已识别特征插件挂接点,并执行步骤108;否则执行步骤109;步骤108、将所述已识别特征插件挂接点输出到所述会话的识别结果记录中;需要指出,并不是所有匹配预识特征的情况都会在该预识特征上生成特征插件挂接点。由于某一特征可能同时应用于多个会话,因此,对于那些执行后,返回码表示需要对会话后续报文进行流量拦截或者处理的情况,就需要提供一个处理接口,以保证对某一会话处理的生效;此时,在协议和特征库相应的预识特征上为该会话生成特征插件挂接点。相对的,对于返回码表示仅对当前报文生效的预识特征时,直接在协议和特征库中调用相应特征插件执行即可,不需要生成挂接点来处理后续报文。
进一步的,通过将挂接点输出到识别结果记录中,比如,在识别结果记录中建立到挂接点的指针,后续报文无需再次检测即可触发协议和特征库中的挂接代码,且与所在会话对应,实现报文连续处理。
在步骤104到步骤108中,采取了先检测是否匹配预识协议再检测是否匹配预识特征的次序来加以说明,但本领域技术人员可以了解,只要能够检测出未处理特征的类型即可实现本发明的技术方案,与检测的顺序无关,换句话说,任何能够实现对未处理特征类型检测并采取相应挂接操作的步骤都可以同等替代步骤104至步骤108。
步骤109、查询是否检测出下一未识别特征,是则对所述未识别特征执行步骤102,否则对所述会话报文的检测结束,可以进行下一会话报文的检测。
通过本发明会话检测方法的实施例1可以看出,利用特征检测来准确识别协议,能够解决协议识别的灵活性、准确性问题,利用协议识别结果作为特征检测的环境,同样提高特征识别的准确度,并进一步提高了检测系统的性能。
本发明还提供了会话检测方法实施例2,在实施例1实现检测的基础上,当所述未处理特征匹配了一预识协议时,还包括触发相应的预识协议处理函数对所述报文进行处理的步骤;以及,当所述未处理特征匹配一预识特征时,还包括触发相应的预识特征插件对所述报文进行处理的步骤,实现一个完整的检测-处理流程。
即便如此,上述步骤所体现的仍是对报文执行深度检测后再逐一进行处理,如果对于保存在识别结果记录中的挂接点在深度检测之前加以调用,避免对已处理特征的深度检测和处理,将进一步提高系统性能,因此本实施例2在执行深度检测之前还包括调用所在会话的识别结果记录,通过识别结果记录触发相应的预识协议处理函数和相应的预识特征插件,对所述报文进行处理。
为了节约系统资源,本发明还提供了会话检测方法实施例3,在接收到报文之后还进一步包括识别报文所在会话是否需要继续执行检测的步骤,比如当某些会话已经超过最大检测长度,或者发现的协议为加密时,根本就不需要继续检测该会话。
其中,为了实现对继续检测的判断,可以定义在发现某些协议或者特征时,就无需继续检测;或者,可以定义需要检测的会话的数据长度,即当报文执行深度检测完成后,还包括计算报文所在会话检测流长的步骤,当所述检测流长超过了预设的检测长度时,指令终止对会话的检测;所述预设的检测长度为识别结果记录中相应预识协议所定义的全部或者部分特征的检测长度之和。
举例来说,可以将协议或者特征的检测判断融入计算会话检测流长的方案中,比如对于加密协议,由于该协议是加密的,因此它上面应该没有定义任何特征,也就是该协议上所有特征的最大检测长度为0;则一旦发现该协议,相应会话就无需继续检测。
或者,定义会话中已识别最上层协议上所有特征的最大长度为会话检测流长,如果已检测长度大于所需检测长度,相应会话也无需继续检测。作为特例,如果已识别最上层协议上没有特征,那么其需要检测的会话长度就为0,无需继续检测,可以通过指令终止对会话的检测。
本实施例3利用会话检测流长与需要检测的会话长度的比较,动态决定会话是否继续检测,能够显著提高检测性能。
相对现有技术中只能以固定的字节数(如2k、4k等)为依据,在进行报文保序的同时进行重组,然后再进行深度检测,因此其重组过程僵化,重组结果不能反映附件的真实情况的缺陷,本发明基于利用协议和特征识别结果能够有效的进行数据流的截取和重组的情况,提供了能够有效将协议识别、特征识别和数据流截取重组三方面融合的会话检测方法实施例4。在该实施例中,触发已识别协议处理函数和/或已识别特征插件对报文进行处理包括查询是否需要对所述报文进行重组保留,是则将所述报文与所在会话的在先报文进行重组及缓存,并对所在会话的下一报文执行会话检测步骤。
可以看出,本实施例4中重组可以在触发已识别协议处理函数和已识别特征插件时发生,也可以在为会话生成相应的协议信息和插件挂接点之后即时发生,不再局限于必须与保序同时进行,这是本实施例的关键点之一。
同时,保序功能在本发明实施例中仍可采用现有技术的方案,在接收到报文之后发生。一般来说,保序和重组之后,特征检测才能准确和无遗漏;但保序和重组代价较大,所以当某些会话已经超过最大检测长度时,根本就不需要继续检测该会话,因此可以关闭保序功能。进而,可以将保序功能是否关闭作为指标,首先进行识别报文所在会话保序功能是否关闭,如果关闭,则不再进行所述报文的保序和深度检测;如果识别该保序功能开启,则对所述报文进行保序,并调用所在会话的识别结果记录,对所述报文继续执行检测。至于何时进行重组,则视乎具体的协议处理情况和挂接点执行情况而定。
通过本实施例4,能够将TCP保序和应用层重组逻辑分开,提高了重组的灵活性;同时,基于协议和特征进行重组,将特征检测、协议识别和应用重组结合在一起,提高了重组的命中率和准确性。
参见图2,为本发明所提供的一较佳实施例的流程图,包括以下步骤步骤201、接收到报文;步骤202、检查该报文所在会话的保序功能是否关闭,是则说明该报文无需继续检测,当前会话报文检测结束;否则执行步骤203;步骤203、对该报文进行保序并调用报文所在会话的识别结果记录;步骤204、通过该识别结果记录中触发已识别协议处理函数和已识别特征插件,对所述报文进行处理,可以包括2041、检查该识别结果记录中是否存在已识别协议信息,是则执行步骤2042,否则执行步骤2044;2042、触发调用已识别协议信息相应的预识协议处理函数对该报文进行处理;
2043、查看处理结果是否为重组保留该报文,是则对将所述报文与所在会话的在先报文进行重组及缓存,本报文检测结束,可以执行对下一报文的检测;否则执行步骤2044;2044、检查该识别结果记录中是否存在已识别特征插件挂接点,是则执行步骤2045,否则执行步骤205;2045、触发调用所述已识别特征插件挂接点所对应的预识特征插件挂接代码对该报文进行处理;2046、查看处理结果是否为重组保留该报文,是则对将所述报文与所在会话的在先报文进行重组及缓存,本报文检测结束,可以执行对下一报文的检测;否则执行步骤205;步骤205、对该处理后的报文执行深度检测;步骤206、识别是否检测出的未处理特征,是则执行步骤207,否则执行步骤212;步骤207、对检测出的一未处理特征,识别其是否能够存在于报文所在会话的已识别协议层次上,是则执行步骤208,否则丢弃/跳过该未处理特征,执行步骤211;步骤208、识别该未处理特征的类型,匹配协议和特征库中一预识协议时,执行步骤2091,匹配协议和特征库中一预识特征时,执行步骤2101;步骤2091、为所述会话生成相应的已识别协议信息,比如该协议在库中的ID,通过该ID对库中协议函数的调用,实现了在报文当前协议层次上扩展了新的协议;步骤2092、将已识别协议信息输出到所述会话的识别结果记录中;步骤2093、根据匹配指令触发调用所述预识协议处理函数对该报文进行处理;本领域技术人员应当理解,本实施例仅为说明方便,而非对执行顺序的限定,本步骤2093可以发生在步骤2091之前,对本发明的技术效果不会产生影响。
步骤2094、查看处理结果是否为重组保留该报文,是则对将所述报文与所在会话的在先报文进行重组及缓存,本报文检测结束,可以执行对下一报文的检测;否则执行步骤211;步骤2101、为所述会话生成相应的已识别特征信息,比如该特征在库中的ID,以备系统控制会话检测状况时使用;步骤2102、根据匹配指令触发调用所述预识特征插件的挂接代码,对该报文进行处理;本领域技术人员应当理解,步骤2101~2105的顺序并不限于图2所示,例如还可以采用如下顺序步骤2102、2106、2101、2103、2104、2105。
步骤2103、检查该特征是否对对会话后续报文生效,是则执行步骤2104,否则执行步骤2106;步骤2104、在库中所述特征上为所述会话生成相应的已识别特征插件挂接点,即在为该会话对该预识特征的连续调用提供了接口;步骤2105、将已识别特征插件挂接点输出到所述会话的识别结果记录中;步骤2106、查看处理结果是否为重组保留该报文,是则对将所述报文与所在会话的在先报文进行重组及缓存,本报文检测结束,可以执行对下一报文的检测;否则执行步骤211;步骤211、查询是否检测出下一未识别特征,是则对所述未识别特征执行步骤207,否则执行步骤212;步骤212、计算报文所在会话的检测流长;步骤213、检查该检测流长是否超过了所有特征的检测长度,是则执行步骤214,否则本报文检测结束,可以执行对下一报文的检测;步骤214、关闭该会话的保序功能,本报文检测结束。
步骤212~214中,通过计算会话的检测流长,并将检测流长与所有特征的检测长度比较,如果超过了所有特征的检测长度则关闭会话保序功能,而保序功能的开关在本发明实施例的流程中决定了是否继续进行报文检测;因此,本领域普通技术人员可以理解,对于上述的步骤212~214中的操作,并不限于只能存在步骤211之后,可以存在与会话检测流程中的任何位置或与其他操作并行执行。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括如下步骤对接收到的需要进行检测的报文执行深度检测,当检测出任一未处理特征时,识别所述未处理特征是否能够存在于报文所在会话的已识别协议层次上,是则执行下一步骤,否则丢弃该未处理特征;识别所述未处理特征;当所述未处理特征匹配一预识协议时,为所述会话生成相应的已识别协议信息;当所述未处理特征匹配一预识特征且对所述会话后续报文生效时,在所述预识特征中为所述会话生成相应的已识别特征插件挂接点;将生成的已识别协议信息和已识别特征插件挂接点输出到所述会话的识别结果记录中。
本发明的实施例还提供了一种会话检测系统,如图3所示,为会话检测系统的实施例1,包括会话识别结果记录模块1,用于保存已识别协议信息和已识别特征插件挂接点;深度检测模块2,用于接收报文并执行深度检测,即实现数据多模式(一般有正则表达式表示)匹配功能,可以参考snort开源软件算法加以实现;特征过滤模块3,用于对所述深度检测模块2返回的匹配特征进行过滤,过滤掉不可能在已识别协议层次的特征;特征推导模块4,用于接收经过特征过滤模块3过滤后的匹配特征,根据本发明对特征的定义,扩展会话的已识别协议层次和上报新的已识别特征,生成相应的已识别协议信息和相应的已识别特征插件挂接点,并输出到所述会话识别结果记录模块1;还用于通过特征匹配指令或挂接点触发预识协议处理函数和预识特征插件,对所述报文进行处理。
通过本发明会话检测系统的实施例1可以看出,特征过滤模块3利用协议识别结果作为特征检测的环境,提高了特征识别的准确度,并提高了检测系统的性能;特征推导模块4利用特征检测来准确识别和扩展协议,能够解决协议识别的灵活性、准确性问题。
为了便于对会话检测情况进行控制,特征推导模块4还可以用于生成已识别特征信息,并提取已识别协议信息,一起上报给控制中心(图中未示)。
较佳的,本实施例1中可单独设置协议和特征库5,用于保存并为所述特征推导模块提供预识协议处理函数和预识特征插件。
举例来说,协议和特征库5记录的可以是协议和特征节点,这些节点表示了协议的层次关系、协议通过哪个特征发现、特征的属性以及特征所属的协议层次,另外,协议和特征上记录了处理函数和插件。
为了保持完整性,本实施例所提供的系统中还可以包括会话管理模块x,此模块进行会话的状态维护和管理工作,与大多数4-7层设备的会话管理功能没有差别,属于现有技术;其实现可以参考开源Linux内核防火墙netfilter的会话管理模块。
参见图4,为本发明所提供的会话检测系统实施例2的框图。在系统实施例1的基础上,进一步包括已识别插件处理模块6,与所述深度检测模块2连接,用于在对报文进行深度检测之前,根据所述会话识别结果记录模块1中的记录,触发相应预识协议处理函数和预识特征插件挂接代码对报文进行处理。
可以看出,已识别插件处理模块6的加入,在深度检测之前就调用存于识别结果记录中的挂接点,避免对已处理特征的深度检测和处理,进一步提高系统性能。
在系统实施例2中的处理,可以为触发对攻击特征的阻止以及对数据的重组和截取等,下面的系统实施例3就显示了对数据重组和截取的情况。
参见图5,为本发明所提供的会话检测系统实施例3的框图。在实施例2的基础上,进一步包括保序模块7,用于接收特征推导模块4的保序控制指令,在保序功能开启时对报文执行保序,完成TCP包的保序功能,并将保序后的报文送入所述已识别插件处理模块6;数据重组模块8,分别与所述特征推导模块4和已识别插件处理模块6连接,用于根据对所述报文进行重组保留的指令进行所述报文的重组和缓存,实现数据分片的组合和缓存功能。
在本实施例3中,保序模块7只做保序而不做重组,这体现了本发明将保序和重组分开的思想,重组功能由后续数据重组模块8根据插件挂接代码的执行结果来完成。
本领域技术人员可以看出,保序模块7和数据重组模块8亦可在系统实施例1的基础上添加,则保序模块7将保序后的报文送入所述深度检测模块2,数据重组模块8仅与特征推导模块4连接。
可以看出,通过引入保序模块7和数据重组模块8,将保序和应用层重组逻辑分开,提高了重组的灵活性;同时,基于协议和特征进行重组,将特征检测、协议识别和应用重组结合在一起,提高了重组的命中率和准确性。
由于本发明的实施例提供了一种可融合协议识别、特征检测、基于应用的数据截取和重组的会话检测系统,因此可将其作为IPS/IDS、统一威胁管理(Unified Threat Management,简称UTM)、基于应用的带宽管理和QoS等系统的重要组成部分。因此本发明还提供了应用于网络4~7层的交换设备,所述交换设备中设置有上述的会话检测系统。
本发明的实施例最后应说明的是以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。
权利要求
1.一种会话检测方法,其特征在于对接收到的需要进行检测的报文执行深度检测,当检测出任一未处理特征时,执行以下步骤步骤1、识别所述未处理特征是否能够存在于报文所在会话的已识别协议层次上,是则执行下一步骤,否则丢弃该未处理特征;步骤2、识别所述未处理特征;当所述未处理特征匹配一预识协议时,为所述会话生成相应的已识别协议信息;当所述未处理特征匹配一预识特征且对所述会话后续报文生效时,在所述预识特征中为所述会话生成相应的已识别特征插件挂接点;步骤3、将生成的已识别协议信息和已识别特征插件挂接点输出到所述会话的识别结果记录中。
2.根据权利要求1所述的会话检测方法,其特征在于还包括预设协议和特征库的步骤在所述库中设置预识协议处理函数和预识特征插件,用于进行特征匹配;且所述预识协议处理函数由协议匹配指令触发,所述预识特征插件由特征匹配指令或者挂接点触发,用于对报文进行处理。
3.根据权利要求1所述的会话检测方法,其特征在于所述接收到报文中特征的格式由协议选项和正则表达式组成,与广泛部署的开放源码网络入侵检测系统的检测规则定义格式兼容。
4.根据权利要求2所述的会话检测方法,其特征在于当所述未处理特征匹配了一预识协议时,还包括触发相应的预识协议处理函数对所述报文进行处理;以及,当所述未处理特征匹配一预识特征时,还包括触发相应的预识特征插件对所述报文进行处理。
5.根据权利要求1所述的会话检测方法,其特征在于执行深度检测之前还包括当存在对所述需要检测的报文对应的会话识别结果记录时,调用所在会话的识别结果记录,通过识别结果记录触发所述相应的预识协议处理函数和相应的预识特征插件,对所述报文进行处理。
6.根据权利要求4或5所述的会话检测方法,其特征在于触发预识协议处理函数和/或预识特征插件对报文进行处理包括查询是否需要对所述报文进行重组保留,是则将所述报文与所在会话的在先报文进行重组及缓存。
7.根据权利要求1所述的会话检测方法,其特征在于接收到报文之后还包括识别所在会话的保序功能是否关闭,是则不再进行所述报文的检测,否则对所述报文进行保序,判断是否已存在识别结果记录,是则调用所在会话的识别结果记录,对所述报文继续执行检测,否则,执行深度检测。
8.根据权利要求1所述的会话检测方法,其特征在于对报文执行深度检测完成后,还包括计算报文所在会话检测流长的步骤,当所述检测流长超过了预设的检测长度时,指令终止对所述会话的检测和\或关闭会话保序功能;所述预设的检测长度为识别结果记录中相应预识协议所定义的全部或者部分特征的检测长度之和。
9.根据权利要求1所述的会话检测方法,其特征在于接收到报文之后还包括对所述报文中的特征或协议进行识别,当发现报文中存在预先设定的特征或协议时,终止对会话的检测。
10.一种会话检测系统,其特征在于包括会话识别结果记录模块,用于保存已识别协议信息和已识别特征插件挂接点;深度检测模块,用于接收报文并执行深度检测;特征过滤模块,用于对所述深度检测模块返回的匹配特征进行过滤,过滤掉不可能在已识别协议层次的特征;特征推导模块,用于接收经过特征过滤后的匹配特征,生成相应的已识别协议信息和相应的已识别特征插件挂接点,并输出到所述会话识别结果记录模块;还用于通过特征匹配指令或挂接点触发预识协议处理函数和预识特征插件,对所述报文进行处理。
11.根据权利要求10所述的会话检测系统,其特征在于还包括协议和特征库,用于保存并为所述特征推导模块提供预识协议处理函数和预识特征插件。
12.根据权利要求10或11所述的会话检测系统,其特征在于还包括保序模块,用于接收特征推导模块的保序控制指令,对报文执行保序,并将保序后的报文送入所述深度检测模块;数据重组模块,与所述特征推导模块连接,用于根据对所述报文进行重组保留的指令进行所述报文的重组和缓存。
13.根据权利要求10或11所述的会话检测系统,其特征在于还包括已识别插件处理模块,与所述深度检测模块连接,用于在对报文进行深度检测之前,根据所述会话识别结果记录模块中的记录,触发相应预识协议处理函数和预识特征插件对报文进行处理。
14.根据权利要求13所述的会话检测系统,其特征在于还包括保序模块,用于接收特征推导模块的保序控制指令,对报文执行保序,并将保序后的报文送入所述已识别插件处理模块;数据重组模块,分别与所述特征推导模块和已识别插件处理模块连接,用于根据对所述报文进行重组保留的指令进行所述报文的重组和缓存。
15.一种应用于网络4~7层的交换设备,其特征在于所述交换设备中设置有权利要求11-15任一所述的会话检测系统。
全文摘要
本发明公开了一种会话检测方法,对接收到的需要进行检测的报文执行深度检测,当检测出任一未处理特征时,识别其是否能够存在于报文所在会话的已识别协议层次上,是则识别所述未处理特征,当未处理特征匹配一预识协议时,为会话生成相应的已识别协议信息;当所述未处理特征匹配一预识特征且对所述会话后续报文生效时,在所述预识特征中为所述会话生成相应的已识别特征插件挂接点,并将生成的已识别协议信息和已识别特征插件挂接点输出到会话的识别结果记录中;否则丢弃该未处理特征。本发明还公开了一种会话检测系统。通过本发明公开的方法和系统,提高了会话检测的准确度和灵活性以及会话检测的系统性能。
文档编号H04L12/26GK101060492SQ20071010601
公开日2007年10月24日 申请日期2007年5月29日 优先权日2007年5月29日
发明者胡华强 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1