会话处理的方法和装置制造方法

文档序号:8003503阅读:135来源:国知局
会话处理的方法和装置制造方法
【专利摘要】本发明提供了一种会话处理的方法和装置。所述方法包括:根据接收的客户端请求创建与客户端的会话;按照五元组对捕获的数据包进行重组得到会话的数据报文;从数据报文中提取得到客户端行为属性,判断客户端行为属性是否超出基线,若是,则中断与客户端的会话。所述装置包括:会话创建模块,用于根据客户端请求创建与客户端的会话;重组模块,用于按照五元组对捕获的数据包进行重组得到数据报文;报文处理模块,用于从数据报文中提取客户端行为属性,判断客户端行为属性是否超出基线,若是,则通知会话中断模块;会话中断模块,用于中断与客户端的会话。采用本发明能避免对服务器中恶意攻击的滞后判定以及对汇聚了源地址的客户端访问进行误判。
【专利说明】会话处理的方法和装置

【技术领域】
[0001]本发明涉及网络安全技术,特别是涉及一种会话处理的方法和装置。

【背景技术】
[0002]服务器与客户端进行会话的过程中,常常接收到攻击者操纵客户端或模拟客户端发送的恶意数据流或请求来消耗服务器资源,进而使得服务器无法正常运行。因此,为保证服务器安全,通常对接收的数据包基于源地址和目的地址进行统计,以依据统计得到的数量值判断是否已经遭受恶意攻击。
[0003]然而,这一传统的恶意攻击判别方法由于是根据统计得到的数量值判定当前已经遭受了恶意攻击,因此,是事后于恶意攻击的实施的,在完成恶意攻击的判定时,攻击者已经建立了足够多的空连接,影响了服务器接纳新建连接的能力。
[0004]并且对于使用嫩I或者网关技术对服务器进行访问的客户端而言,经由嫩I或者网关技术的设备将多个客户端的源地址汇聚成一个,使得服务器中对汇聚的源地址统计得到的数量值大都会进行误判,将这一类客户端对服务器的访问误判为恶意攻击。


【发明内容】

[0005]基于此,有必要针对服务器中恶意攻击的滞后判定以及对汇聚了源地址客户端访问进行误判的技术问题,提供一种能避免对服务器中恶意攻击的滞后判定以及对汇聚了源地址的客户端访问进行误判的会话处理的方法。
[0006]此外,还有必要提供一种能避免对服务器中恶意攻击的滞后判定以及对汇聚了源地址的客户端访问进行误判的会话处理的装置。
[0007]一种会话处理的方法,包括如下步骤:
[0008]根据接收的客户端请求创建与所述客户端的会话;
[0009]按照五元组对捕获的数据包进行重组得到会话的数据报文;
[0010]从所述数据报文中提取得到客户端行为属性,判断所述客户端行为属性是否超出基线,若是,贝0
[0011]中断与所述客户端的会话。
[0012]一种会话处理的装置,包括:
[0013]会话创建模块,用于根据接收的客户端请求创建与所述客户端的会话;
[0014]重组模块,用于按照五元组对捕获的数据包进行重组得到所述会话的数据报文;
[0015]报文处理模块,用于从所述数据报文中提取得到客户端行为属性,判断所述客户端行为属性是否超出基线,若是,则通知会话中断模块;
[0016]会话中断模块,用于中断与所述客户端的会话。
[0017]上述会话处理的方法和装置,接收到客户端所发起的请求创建与该客户端的会话,按照五元组对捕获的数据包进行重组得到会话的数据报文,从数据报文中提取得到客户端行为属性,以判断客户端行为属性是否超出基线,若是,则说明该客户端的会话为恶意会话,将会对服务器造成攻击,进而将中断与该客户端的会话,以避免该客户端即将实施的攻击,采用本发明与现有技术相比,避免了对服务器中恶意攻击的滞后判定以及对汇聚了源地址的客户端访问进行的误判,通过侦测客户端行为保证了服务器的安全性。

【专利附图】

【附图说明】
[0018]图1为一个实施例中会话处理的方法流程图;
[0019]图2为一个实施例中从数据报文中提取得到客户端行为属性,判定该客户端行为属性是否超出基线的方法流程图;
[0020]图3为另一个实施例中从数据报文中提取得到客户端行为属性,判定该客户端行为属性是否超出基线的方法流程图;
[0021]图4为另一个实施例中从数据报文中提取得到客户端行为属性,判定该客户端行为属性是否超出基线的方法流程图;
[0022]图5为一个实施例中会话处理装置的结构示意图;
[0023]图6为一个实施例中报文处理模块的结构示意图;
[0024]图7为另一个实施例中报文处理模块的结构示意图;
[0025]图8为另一个实施例中报文处理模块的结构示意图。

【具体实施方式】
[0026]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0027]如图1所示,在一个实施例中,一种会话处理的方法,包括如下步骤:
[0028]步骤3110,根据接收的客户端请求创建与客户端的会话。
[0029]本实施例中,服务器接收到任一客户端所发起的客户端请求,此时,将根据该客户端请求创建服务器与客户端之间的会话。具体的,根据接收的客户端请求进行服务器与客户端之间的三次握手,进而实现发起请求的客户端与服务器之间的连接,以创建该客户端与服务器的会话。
[0030]步骤3130,按照五元组对捕获的数据包进行重组得到会话的数据报文。
[0031〕 本实施例中,五元组指的是数据包中的源地址、目的地址、源端口、目的端口和协议号,其中,源地址即为发送数据包的客户端所对应的网络地址,目的地址为接收了数据包的服务器所对应的地址,源端口则为客户端为当前会话随机分配的端口号,目的端口指示了服务器中用于接收该数据包的端口 ;协议号则指示了用于进行数据包传输的协议。
[0032]通过五元组即可确定一个会话,即拥有相同五元组的数据包将从属于同一会话。服务器将捕获得到由客户端发送的数据包,此时,将按照数据包中的五元组对数据包进行重组,以得到服务器和客户端进行会话的数据报文。
[0033]进一步的,按照五元组将捕获的数据包放置于相应的链表中,其中,链表的表头保存了五元组等信息,该链表所放置的数据包中的五元组是与表头中存储的五元组相一致的,服务器与客户端的会话均对应了一个链表。
[0034]具体的,捕获得到客户端所发送的数据包之后,将从数据包中提取该数据包所对应的五元组,以查找是否存在与提取的五元组相匹配的链表,进而将该数据包放入与提取的五元组相匹配的链表中,若不存在与提取的五元组相匹配的链表,则创建新的链表。
[0035]按照五元组将捕获的若干个数据包拼接在一起以得到客户端与服务器进行会话的数据报文。
[0036]步骤3150,从数据报文中提取得到客户端行为属性,判定该客户端行为属性是否超出基线,若是,则进入步骤3170,若否,则返回步骤3130。
[0037]本实施例中,从数据报文中的若干个数据包得到发送这些数据包的客户端所对应的客户端行为属性,进而通过客户端行为属性侦测客户端行为。其中,客户端行为属性包括会话创建时发送首个数据包的时间间隔、有载荷的数据包被丢弃后的重传时间以及前几个数据包的平均大小。
[0038]具体的,预先配置用于衡量客户端行为的基线,其中,所配置的基线可包括用于对客户端在创建会话时发送首个数据包的行为进行衡量的基线时间、用于衡量客户端对有载荷的数据包被丢弃后的重传该数据包的行为的基线以及用于衡量客户端中发送数据包的大小的基线,此外,还可根据运营的实际需要设置。进一步的,预先配置的基线是在干净的环境中测量得到的。
[0039]若判断得到该客户端行为属性已经超出了基线,则说明当前的客户端行为存在异常,相应的,该客户端行为所对应的会话是恶意会话,因此,为了避免对服务器进行攻击,将需要通过步骤3170中断这一恶意会话,保证服务器的正常运营;若判断得到该客户端行为属性并未超出配置的基线,则说明当前的客户端行为是正常的,相应的,该客户端行为所对应的会话是客户端与服务器的正常会话,因此,不需要对这一会话做任何处理,返回步骤8130继续侦测服务器捕获到的数据包即可。
[0040]步骤3170,中断与客户端的会话。
[0041]本实施例中,若判断得到提取的客户端行为属性已经超出了配置的基线,则判定当前所进行的会话为恶意会话,将中断服务器与提取的客户端行为属性所对应的客户端之间的会话,以避免占用服务器资源,影响服务器的运行。
[0042]在一个实施例中,上述步骤3170的具体过程为:断开与客户端之间的连接,并丢弃客户端所对应的数据包。
[0043]本实施例中,进行恶意会话的客户端即为攻击者所使用的客户端或模拟客户端,因此,将断开这一进行恶意会话的客户端与服务器之间的连接,并丢弃该客户端所发送的所有数据包。
[0044]如图2所示,在一个实施例中,上述步骤3150包括:
[0045]步骤315匕,从数据报文中提取会话创建时发送首个数据包的时间间隔。
[0046]本实施例中,由数据报文中记录的会话创建时间和发送首个数据包的时间即可得到会话创建时发送首个数据包的时间间隔。
[0047]步骤31533,判断时间间隔是否大于相应的基线时间,若是,则进入步骤3170,若否,则返回步骤3130。
[0048]本实施例中,若判断到会话创建时发送首个数据包的时间间隔超出了配置的基线时间,则说明该会话是恶意会话的可能性非常高,因此,将进入步骤3170中断该会话,若否,对返回步骤3130继续进行恶意会话的侦测。
[0049]如图3所示,在一个实施例中,上述步骤3150包括:
[0050]步骤31511从数据报文中提取有载荷的数据包被丢弃后的重传时间。
[0051]本实施例中,从数据报文中提取记录的有载荷的数据包被丢弃后客户端进行重传所对应的时间,即重传时间。
[0052]步骤31536,根据基线判断重传时间是否超时,若是,则进入步骤3170,若否,则返回步骤3130。
[0053]本实施例中,根据预先配置的基线判断该重传时间是否已经超时,若是,则说明该数据包所在的会话可能为恶意会话,因此,将进入步骤3170中断该会话,若否,则返回步骤3130。
[0054]如图4所示,在一个实施例中,上述步骤3150包括:
[0055]步骤3151(3,从数据报文中按照捕获的先后顺序提取预设数量个数据包,以得到提取的数据包所对应的平均大小。
[0056]本实施例中,在若干个数据包所拼接的数据报文中,按照捕获数据包的先后顺序提取预设数量个数据包,以得到提取的数据包所对应的大小,以求取平均值,进而计算得到这些提取的数据包所对应的平均大小。
[0057]步骤3153(3,判断该平均大小是否超出基线,若是,则进入步骤3170,若否,则返回步骤3130。
[0058]本实施例中,判断计算得到的平均大小是否超出了配置的基线,若是,则说明数据包异常,所对应的会话为恶意会话的可能性很高,因此,需要中断该会话。
[0059]需要说明的是,上述会话处理的方法中,可选用如上所述的一种或多种客户端行为属性进行恶意会话的判定,所选用的客户端行为属性越多,则判定越为精确,但是,并不仅限于如上所述的客户端行为属性,还可选用其它的一些客户端行为属性,在此不一一进行列举。
[0060]如图5所示,在一个实施例中,一种会话处理的装置,包括会话创建模块110、重组模块130、报文处理模块150和会话中断模块170。
[0061]会话创建模块110,用于根据接收的客户端请求创建与客户端的会话。
[0062]本实施例中,服务器中的会话创建模块110接收到任一客户端所发起的客户端请求,此时,将根据该客户端请求创建服务器与客户端之间的会话。具体的,会话创建模块110根据接收的客户端请求进行服务器与客户端之间的三次握手,进而实现发起请求的客户端与服务器之间的连接,以创建该客户端与服务器的会话。
[0063]重组模块130,用于按照五元组对捕获的数据包进行重组得到会话的数据报文。
[0064]本实施例中,五元组指的是数据包中的源地址、目的地址、源端口、目的端口和协议号,其中,源地址即为发送数据包的客户端所对应的网络地址,目的地址为接收了数据包的服务器所对应的地址,源端口则为客户端为当前会话随机分配的端口号,目的端口指示了服务器中用于接收该数据包的端口 ;协议号则指示了用于进行数据包传输的协议。
[0065]通过五元组即可确定一个会话,即拥有相同五元组的数据包将从属于同一会话。服务器将捕获得到由客户端发送的数据包,此时,重组模块130将按照数据包中的五元组对数据包进行重组,以得到服务器和客户端进行会话的数据报文。
[0066]进一步的,重组模块130按照五元组将捕获的数据包放置于相应的链表中,其中,链表的表头保存了五元组等信息,该链表所放置的数据包中的五元组是与表头中存储的五元组相一致的,服务器与客户端的会话均对应了一个链表。
[0067]具体的,捕获得到客户端所发送的数据包之后,重组模块130将从数据包中提取该数据包所对应的五元组,以查找是否存在与提取的五元组相匹配的链表,进而将该数据包放入与提取的五元组相匹配的链表中,若不存在与提取的五元组相匹配的链表,则创建新的链表。
[0068]重组模块130按照五元组将捕获的若干个数据包拼接在一起以得到客户端与服务器进行会话的数据报文。
[0069]报文处理模块150,用于从数据报文中提取得到客户端行为属性,判断客户端行为属性是否超出基线,若是,则通知会话中断模块170,若否,则通知重组模块130。
[0070]本实施例中,报文处理模块150从数据报文中的若干个数据包得到发送这些数据包的客户端所对应的客户端行为属性,进而通过客户端行为属性侦测客户端行为。其中,客户端行为属性包括会话创建时发送首个数据包的时间间隔、有载荷的数据包被丢弃后的重传时间以及前几个数据包的平均大小。
[0071]具体的,预先配置用于衡量客户端行为的基线,其中,所配置的基线可包括用于对客户端在创建会话时发送首个数据包的行为进行衡量的基线时间、用于衡量客户端对有载荷的数据包被丢弃后的重传该数据包的行为的基线以及用于衡量客户端中发送数据包的大小的基线,此外,还可根据运营的实际需要设置。进一步的,预先配置的基线是在干净的环境中测量得到的。
[0072]若报文处理模块150判断得到该客户端行为属性已经超出了基线,则说明当前的客户端行为存在异常,相应的,该客户端行为所对应的会话是恶意会话,因此,为了避免对服务器进行攻击,将需要通知会话中断模块170中断这一恶意会话,保证服务器的正常运营;若报文处理模块150判断得到该客户端行为属性并未超出配置的基线,则说明当前的客户端行为是正常的,相应的,该客户端行为所对应的会话是客户端与服务器的正常会话,因此,不需要对这一会话做任何处理,通知重组模块130继续侦测服务器捕获到的数据包即可。
[0073]会话中断模块170,用于中断与客户端的会话。
[0074]本实施例中,若判断得到提取的客户端行为属性已经超出了配置的基线,则判定当前所进行的会话为恶意会话,会话中断模块170将中断服务器与提取的客户端行为属性所对应的客户端之间的会话,以避免占用服务器资源,影响服务器的运行。
[0075]在一个实施例中,上述会话中断模块170还用于断开与客户端之间的连接,并丢弃客户端所对应的数据包。
[0076]本实施例中,进行恶意会话的客户端即为攻击者所使用的客户端或模拟客户端,因此,会话中断模块170将断开这一进行恶意会话的客户端与服务器之间的连接,并丢弃该客户端所发送的所有数据包。
[0077]如图6所不,在一个实施例中,上述报文处理模块150包括第一提取单兀151&和第一判断单元1533。
[0078]第一提取单元15匕,用于从数据报文中提取会话创建时发送首个数据包的时间间隔。
[0079]本实施例中,第一提取单元15匕由数据报文中记录的会话创建时间和发送首个数据包的时间即可得到会话创建时发送首个数据包的时间间隔。
[0080]第一判断单元153^用于判断时间间隔是否大于相应的基线时间,若是,则通知会话中断模块170,若否,则通知重组模块130。
[0081]本实施例中,若第一判断单元1533判断到会话创建时发送首个数据包的时间间隔超出了配置的基线时间,则说明该会话是恶意会话的可能性非常高,因此,将通知会话中断模块170中断该会话,若否,通知重组模块130继续进行恶意会话的侦测。
[0082]如图7所示,在一个实施例中,上述报文处理模块150包括第二提取单元1516和第二判断单元153匕
[0083]第二提取单元15化,用于从数据报文中提取有载荷的数据包被丢弃后的重传时间。
[0084]本实施例中,第二提取单元1516从数据报文中提取记录的有载荷的数据包被丢弃后客户端进行重传所对应的时间,即重传时间。
[0085]第二判断单元1536,用于根据基线判断重传时间是否超时,若是,则通知会话中断模块170,若否,则通知重组模块130。
[0086]本实施例中,第二判断单元1536根据预先配置的基线判断该重传时间是否已经超时,若是,则说明该数据包所在的会话可能为恶意会话,因此,将通知会话中断模块170中断该会话,若否,则通知会话中断模块170。
[0087]如图8所示,在一个实施例中,上述报文处理模块150包括第三提取单元15化和第三判断单元153(3。
[0088]第三提取单元151(3,用于从数据报文中按照捕获的先后顺序提取预设数量个数据包,以得到提取的数据包所对应的平均大小。
[0089]本实施例中,在若干个数据包所拼接的数据报文中,第三提取单元151。按照捕获数据包的先后顺序提取预设数量个数据包,以得到提取的数据包所对应的大小,以求取平均值,进而计算得到这些提取的数据包所对应的平均大小。
[0090]第三判断单元153(3,用于判断平均大小是否超出基线,若是,则通知会话中断模块170,若否,则通知重组模块130。
[0091]本实施例中,第三判断单元153(3判断计算得到的平均大小是否超出了配置的基线,若是,则说明数据包异常,所对应的会话为恶意会话的可能性很高,因此,需要中断该会话。
[0092]需要说明的是,上述会话处理的装置中,可选用如上所述的一种或多种客户端行为属性进行恶意会话的判定,所选用的客户端行为属性越多,则判定越为精确,但是,并不仅限于如上所述的客户端行为属性,还可选用其它的一些客户端行为属性,在此不一一进行列举。
[0093]上述会话处理的方法和装置,接收到客户端所发起的请求创建与该客户端的会话,按照五元组对捕获的数据包进行重组得到会话的数据报文,从数据报文中提取得到客户端行为属性,以判断客户端行为属性是否超出基线,若是,则说明该客户端的会话为恶意会话,将会对服务器造成攻击,进而将中断与该客户端的会话,以避免该客户端即将实施的攻击,采用本发明与现有技术相比,避免了对服务器中恶意攻击的滞后判定以及对汇聚了源地址的客户端访问进行的误判,通过侦测客户端行为保证了服务器的安全性。
[0094]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(0651(1-01117 1611101*7,001)或随机存储记忆体(^00688161110狀1)等。
[0095]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【权利要求】
1.一种会话处理的方法,包括如下步骤: 根据接收的客户端请求创建与所述客户端的会话; 按照五元组对捕获的数据包进行重组得到会话的数据报文; 从所述数据报文中提取得到客户端行为属性,判断所述客户端行为属性是否超出基线,若是,则 中断与所述客户端的会话。
2.根据权利要求1所述的方法,其特征在于,所述中断与所述客户端的会话的步骤包括: 断开与所述客户端之间的连接,并丢弃所述客户端所对应的数据包。
3.根据权利要求1所述的方法,其特征在于,所述从所述数据报文中提取得到客户端行为属性,判断所述客户端行为属性是否超出基线的步骤为: 从所述数据报文中提取所述会话创建时发送首个数据包的时间间隔; 判断所述时间间隔是否大于相应的基线时间,若是,则进入所述中断与所述客户端的会话的步骤。
4.根据权利要求1所述的方法,其特征在于,所述从所述数据报文中提取得到客户端行为属性,判断所述客户端行为属性是否超出基线的步骤为: 从所述数据报文中提取有载荷的数据包被丢弃后的重传时间; 根据基线判断所述重传时间是否超时,若是,则进入所述中断与所述客户端的会话的步骤。
5.根据权利要求1所述的方法,其特征在于,所述从所述数据报文中提取得到客户端行为属性,判断所述客户端行为属性是否超出基线的步骤为: 从所述数据报文中按照捕获的先后顺序提取预设数量个数据包,以得到提取的数据包所对应的平均大小; 判断所述平均大小是否超出基线,若是,则进入所述中断与所述客户端的会话的步骤。
6.一种会话处理的装置,其特征在于,包括: 会话创建模块,用于根据接收的客户端请求创建与所述客户端的会话; 重组模块,用于按照五元组对捕获的数据包进行重组得到所述会话的数据报文;报文处理模块,用于从所述数据报文中提取得到客户端行为属性,判断所述客户端行为属性是否超出基线,若是,则通知会话中断模块; 会话中断模块,用于中断与所述客户端的会话。
7.根据权利要求6所述的装置,其特征在于,所述会话中断模块还用于断开与所述客户端之间的连接,并丢弃所述客户端所对应的数据包。
8.根据权利要求6所述的装置,其特征在于,所述报文处理模块包括: 第一提取单元,用于从所述数据报文中提取所述会话创建时发送首个数据包的时间间隔; 第一判断单元,用于判断时间间隔是否大于相应的基线时间,若是,则通知所述会话中断模块。
9.根据权利要求6所述的装置,其特征在于,所述报文处理模块包括: 第二提取单元,用于从数据报文中提取有载荷的数据包被丢弃后的重传时间; 第二判断单元,用于根据基线判断所述重传时间是否超时,若是,则通知所述会话中断模块。
10.根据权利要求6所述的装置,其特征在于,所述报文处理模块包括: 第三提取单元,用于从所述数据报文中按照捕获的先后顺序提取预设数量个数据包,以得到提取的数据包所对应的平均大小; 第三判断单元,用于判断所述平均大小是否超出基线,若是,则通知所述会话中断模块。
【文档编号】H04L29/06GK104348808SQ201310334769
【公开日】2015年2月11日 申请日期:2013年8月2日 优先权日:2013年8月2日
【发明者】陈曦, 白惊涛 申请人:深圳市腾讯计算机系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1