一种防御攻击的方法和设备的制作方法

文档序号:7870226
专利名称:一种防御攻击的方法和设备的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种防御攻击的方法和设备。
背景技术
近年来,针对安全套接层(Secure Sockets Layer, SSL)的拒绝服务(Denial ofService, DoS)攻击越来越多,由于在SSL协议中,SSL的握手协议对于服务器来说计算量很大,服务器要进行私钥解密操作,其计算复杂度通常可以达到客户端的计算复杂度的指数倍。因此,SSL DoS攻击正是利用SSL协议的特点,通过一台普通电脑与数字用户线路(Digital Subscriber Line, DSL)连接,通过在短时间内频繁对加密密钥进行重新请求来消耗SSL服务器的CPU资源,对SSL服务器发起攻击。具体而言,客户端可以不断的向服务器发起密钥协商请求ClientHello消息,在客户端向服务器发起的ClientHello消息中包含了会话标识(Session Identity,SessionID),其中,该SessionID是可以复用的,若服务器的本地SessionID表中存在客户端发送的ClientHello消息中的SessionID,则服务器就向客户端发送包括该SessionID的密钥协商响应SeverHello消息,而当服务器自身的SessionID列表中不存在客户端所发送的SessionID时,服务器会随机产生一个新的SessionID发送至客户端,这样,客户端和服务器双方会继续完成SSL密钥协商过程,这种情况下,当客户端可以不断的向服务器发起ClientHello消息,不断的与服务器进行SSL密钥协商时,就很容易使得服务器资源耗尽,从而导致服务器对正常的业务无法访问。目前还没有有效的方法可以对SSL DoS攻击行为进行防范。

发明内容
本发明的实施例提 供一种防御攻击的方法和设备,能够有效地对SSL DoS攻击行为进行防范。为达到上述目的,本发明的实施例采用如下技术方案第一方面,本发明的实施例提供一种防御攻击的方法,包括在与客户端建立传输控制协议TCP连接后,接收所述客户端发送的密钥协商请求消息,所述密钥协商请求消息包括所述客户端的源IP地址、用户名和会话标识;根据所述客户端的源IP地址和用户名判断是否存在所述客户端的会话监控表,所述会话监控表用于记录已进行密钥协商的客户端的源IP地址、用户名及会话标识信息;若存在所述客户端的会话监控表,则判断所述客户端的会话监控表中是否存在所述会话标识;若所述会话监控表中不存在所述会话标识,则在所述会话监控表中记录所述会话标识;判断所述客户端的会话标识数是否大于第一预设值;若所述客户端的会话标识数大于所述第一预设值,则断开所述TCP连接。
结合第一方面,在第一种可能实现的方式中,所述方法还包括获取单位时间内所述客户端的会话标识数的增量;判断在所述单位时间内所述客户端的会话标识数的增量是否大于第二预设值;若在所述单位时间内所述客户端的会话标识数的增量大于所述第二预设值,则断开所述TCP连接。结合第一方面或第一方面的第一种可能实现的方式,在第二种可能实现的方式中,所述方法还包括若不存在所述客户端的会话监控表,则根据所述客户端的源IP地址、用户名和会话标识创建所述会话监控表,并在所述会话监控表中记录所述会话标识。结合第一方面或第一方面的第一种可能实现的方式或第一方面的第二种可能实现的方式,在第三种可能实现的方式中,还包括若所述会话监控表中存在所述会话标识或所述客户端的会话标识数不大于所述第一预设值,则向所·述客户端发送包括所述会话标识的密钥协商响应消息。结合第一方面或第一方面的第一种可能实现的方式或第一方面的第二种可能实现的方式,在第四种可能实现的方式中,所述断开所述TCP连接之后,还包括在所述会话监控表中删除所述会话标识信息。结合第一方面的第一种可能实现的方式,在第五种可能实现的方式中,还包括若在所述单位时间内所述客户端的会话标识数的增量大于所述第二预设值,将所述客户端加入黑名单。第二方面,提供一种防御攻击设备,包括接收单元,用于在与客户端建立传输控制协议TCP连接后,接收所述客户端发送的密钥协商请求消息,所述密钥协商请求消息包括所述客户端的源IP地址、用户名和会话标识;判断单元,用于根据所述客户端的源IP地址和用户名判断是否存在所述客户端的会话监控表,所述会话监控表用于记录已进行密钥协商的客户端的源IP地址、用户名及会话标识信息;所述判断单元,还用于当存在所述客户端的会话监控表时,判断所述客户端的会话监控表中是否存在所述会话标识;记录单元,用于当所述判断单元判断若所述会话监控表中不存在所述会话标识时,在所述会话监控表中记录所述会话标识;所述判断单元,还用于判断所述客户端的会话标识数是否大于第一预设值;处理单元,用于当所述判断单元判断所述客户端的会话标识数大于所述第一预设值时,断开所述TCP连接。结合第二方面,在第一种可能实现的方式中,还包括增量获取单元,用于获取单位时间内所述客户端的会话标识数的增量;所述判断单元,还用于判断所述增量获取单元获取的在所述单位时间内所述客户端的会话标识数的增量是否大于第二预设值;所述处理单元,还用于当所述判断单元判断在所述单位时间内所述客户端的会话标识数的增量大于所述第二预设值时,断开所述TCP连接。
结合第二方面或第二方面的第一种可能实现的方式,在第二种可能实现的方式中,还包括监控表管理单元,用于当所述判断单元判断不存在所述客户端的会话监控表时,根据所述客户端的源IP地址、用户名和会话标识创建所述客户端的会话监控表,并在所述会话监控表中记录所述会话标识。结合第二方面或第二方面的第一种可能实现的方式或第二方面的第二种可能实现的方式,在第三种可能实现的方式中,还包括发送单元,用于当所述判断单元判断所述会话监控表中存在所述会话标识或所述客户端的会话标识数不大于所述第一预设值时,向所述客户端发送包括所述会话标识的密钥协商响应消息。结合第二方面的第二种可能实现的方式,在第四种可能实现的方式中,所述监控表管理单元,还用于在所述处理单元断开所述TCP连接之后,在所述会话监控表中删除所述会话标识信息;所述处理单元,还用于若在所述单位时间内所述客户端的会话标识数的增量大于所述第二预设值,将所述客户端加入黑名单。本发明实施例提供一种防御攻击的方法和设备,通过在与客户端建立传输控制协议TCP连接后,接收客户 端发送的密钥协商请求消息,密钥协商请求消息包括客户端的源IP地址、用户名和会话标识,根据客户端的源IP地址和用户名判断是否存在客户端的会话监控表,若存在客户端的会话监控表,则判断客户端的会话监控表中是否存在会话标识,若会话监控表中不存在会话标识,则在会话监控表中记录会话标识,判断客户端的会话标识数是否大于第一预设值,若客户端的会话标识数大于第一预设值,则断开TCP连接,从而能够有效地对SSL DoS攻击行为进行防范。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的一种防御攻击的方法的应用网络架构示意图;图2为本发明实施例提供的一种防御攻击的方法流程示意图;图3为本发明实施例提供的一种防御攻击的方法流程示意图;图4为本发明实施例提供的一种防御攻击设备的结构示意图;图5为本发明实施例提供的另一种防御攻击设备结构示意图;图6为本发明实施例提供的又一种防御攻击设备结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本实施例提供的防御攻击的方法可以在路由器101或防火墙102等网关产品上实现,可以应用到分布式拒绝服务(Distributed Denial ofservice ;以下简称DDoS)清洗设备中,其中路由器101、防火墙102等网关产品或DDoS清洗设备部署在全套接层(SecureSocketLayer ;以下简称SSL)服务器103的前端,从而能够阻挡攻击者对SSL服务器103发起的攻击,实现对SSL服务器103的保护。并且,本发明实施例提供的防御攻击的方法还可以以软件的形式部署在SSL服务器103上,对SSL请求进行检测,从而防止SSL拒绝服务(Denial of Service ;以下简称DoS)攻击行为。图1为本发明实施例提供的一种防御攻击的方法的应用网络架构示意图,如图1所示,攻击者可以与正常用户一样使用普通电脑来与SSL服务器103进行交互,攻击者通过与SSL服务器103建立传输控制协议(TransmissionControl Protocol ;以下简称TCP)连接后,并在建立的TCP连接中不停的快速重复协商密钥,以对SSL服务器103进行攻击。其中,攻击者可以通过与SSL服务器103建立的一个TCP连接对SSL服务器103发起攻击,也可以通过与SSL服务器103建立的多个TCP连接对SSL服务器103发起攻击,当然,TCP连接的连接数越多,对SSL服务器造成的危害越大。并且,攻击者也可能有多个。本发明实施例提供一种防御攻击的方法,如图2所示,该防御攻击的方法可以用于防范安全套接层(Secure Socket Layer ;以下简称SSL)拒绝服务(Denial of service ;以下简称DoS)攻击。该方法包括S201、在与客户端建立传输控制协议TCP连接后,接收客户端发送的密钥协商请求消息,密钥协商请求消息包括客户端的源IP地址、用户名和会话标识。

示例性的,以SSL服务器为该方法的执行主体来进行描述,该服务器在与客户端建立TCP (Transmission Control Protocol,传输控制协议)连接之后,就开始与客户端进A SSL (Secure Sockets Layer,安全套接层)协议的密钥协商过程,即开始进入与客户端的握手过程。期间,客户端要进行公钥加密操作,服务器要进行私钥解密操作,以便于为网络通信提供安全及数据完整性。S202、根据客户端的源IP地址和用户名判断是否存在客户端的会话监控表,会话监控表用于记录已进行密钥协商的客户端的源IP地址、用户名及会话标识信息。S203、若存在客户端的会话监控表,则判断客户端的会话监控表中是否存在会话标识。S204、若会话监控表中不存在会话标识,则在会话监控表中记录会话标识。S205、判断客户端的会话标识数是否大于第一预设值。S206、若判定客户端的会话标识数大于第一预设值,则断开TCP连接。本发明实施例提供一种防御攻击的方法,通过在与客户端建立传输控制协议TCP连接后,接收客户端发送的密钥协商请求消息,密钥协商请求消息包括客户端的源IP地址、用户名和会话标识,根据客户端的源IP地址和用户名判断是否存在客户端的会话监控表,若存在客户端的会话监控表,则判断客户端的会话监控表中是否存在会话标识,若会话监控表中不存在会话标识,则在会话监控表中记录会话标识,判断客户端的会话标识数是否大于第一预设值,若客户端的会话标识数大于第一预设值,则断开TCP连接,这样能够有效地对SSL DOS攻击行为进行防范。
本发明实施例提供另一种防御攻击的方法,该方法以SSL服务器执行主体进行说明,如图3所示,包括S301、接收客户端建立的传输控制协议TCP连接请求消息,进入步骤S302。S302、判断客户端是否在黑名单中,若客户端在黑名单中,则进入步骤S317,若客户端不在黑名单中,则进入步骤S303。其中,黑名单中记录有可疑的攻击者信息,包括可疑的攻击客户端的源IP地址及用户名等信息,用以阻止服务器与黑名单中的客户端建立TCP连接。具体的,当客户端对服务器发起大量的连接而造成攻击时,服务器就可以将该客户端加入到黑名单中。若已经在黑名单中的客户端向服务器再次发起连接请求时,服务器就可以直接阻止该客户端进行TCP连接;若客户端不在黑名单中,则服务器允许该客户端进行TCP连接,并进行正常通信。可以理解的是,可以给黑名单中的客户端设置一定的老化时间,当达到老化时间后,该客户端才可以重新与服务器进行TCP连接。S303、与客户端建立TCP连接,并接收客户端发送的密钥协商请求消息,密钥协商请求消息包括客户端的源IP地址、用户名和会话标识(SessionID),进入步骤S304。示例性的,服务器与客户端建立了 TCP连接之后,通信双方就可以同时进行数据的传输,进而进入服务器与客户端的SSL协商过程,用以保障在网络上数据的传输安全,可以利用数据加密(Encryption)技术,确保数据在网络的传输过程中不会被截取及窃听。在进行SSL协商时,客户端会向服务端发送密钥协商请求消息(ClientHello消息),该密钥协商请求消息可以包括版本信息、随机数、SessionID以及加密算法,当客户端与服务器的通信数据需要进行压缩时,该密钥协商请求消息还可以包括压缩算法。其中,SSL协议位于TCP协议与各种应用层协议(例如HTTP协议)之间,为数据通讯提供安全支持,可以为高层`协议提供数据封装、压缩、加密等基本功能的支持,也用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。S304、判断是否存在客户端对应的会话监控表,会话监控表用于记录已进行密钥协商的客户端的源IP地址、用户名及会话标识信息,若不存在,则进入步骤S305 ;若存在,则进入步骤S306。S305、根据客户端的源IP地址、用户名和会话标识创建会话监控表,并在会话监控表中记录会话标识。示例性的,当服务器从客户端接收到密钥协商请求消息后,服务器会根据密钥协商请求消息判断与该客户端对应的会话监控表是否存在。当服务器判断出与该客户端对应的会话监控表不存在时,也就是该客户端是首次向服务器发起连接,服务器会根据客户端发送的密钥协商请求消息为该客户端创建会话监控表,并在会话监控表中记录该客户端的会话标识,并可以将客户端的会话标识数设置为1,而后向客户端发送包括会话标识的密钥协商响应消息。其中,会话监控表可以包括客户端的源IP、用户名、会话标识。这里的用户名也可以为机器名,用来可以区分一个独立的访问源,例如在NAT (Network AddressTranslation,网络地址转换)的网络环境中,仅仅通过客户端的源IP很难区分多个客户端的接入。这样,客户端首次向服务器发起连接时,服务器将该客户端的会话标识添加到密钥协商响应消息(SeverHello消息)中发送至客户端,进而继续完成与客户端的SSL协商过程。其中,服务器向客户端发送的密钥协商响应消息可以包括版本信息、随机数、sessionID以及加密算法,当需要对通信的数据进行压缩时,该消息也可能包括压缩算法。这样,当密钥协商响应消息也包括压缩算法时,通过客户端与服务器互发密钥协商消息,可以完成SSL版本信息、随机数、sessionID、加密算法以及压缩算法的协商。S306、判断会话监控表中是否存在客户端的会话标识,若存在,则进入步骤S307 ;若不存在,则进入步骤S308。S307、向用户端发送包括客户端的会话标识的密钥协商响应消息。示例性的,当服务器从客户端接收到密钥协商请求消息后,服务器判断出与该客户端对应的会话监控表存在,再判断该会话监控表中客户端的会话标识是否存在,假设客户端的会话标识为Sessionl,若服务器判断会话监控表中存在Sessionl,则该Sessionl是合法可复用的,则将该Sessionl添加到密钥协商响应消息中,进而向客户端发送包括Sessionl的密钥协商响应消息,继续完成SSL协商的后续流程。S308、在会话监控表中记录客户端的会话标识,进入步骤S309。示例性的,当服务器从客户端接收到密钥协商请求消息后,服务器判断出与该客户端对应的会话监控表存在,再判断该会话监控表中客户端的会话标识是否存在,假设客户端的会话标识为Sessionl,当会话监控表中不存在Sessionl时,服务器就在会话监控表中记录该Sessionl,并将该客户端的会话标识数加一,或者将会话标识数累加一个固定值。其中,会话标识数即为客户端与服务器建立的SSL连接数。S309、判断客户端的访问时间是否大于单位时间,若大于,则进入步骤S310 ;若不大于,则进入步骤S313。其中,该每一个单 位时间即是一个检测周期,设置该单位时间是为了用于检测客户端与服务器在一段时间内建立的SSL连接数。该单位时间的时长可以根据实际情况来设置,这里不做限定。S310、获取单位时间内客户端的会话标识数的增量,进入步骤S311。示例性的,可以先获取在一个单位时间开始时刻客户端的会话标识数CountNuml ,而后再获取在该单位时间结束时刻客户端的会话标识数CountNum2,通过CountNum2-CountNuml就可以得到在一个单位时间内的客户端的会话标识数的增量。S311、判断在单位时间内,客户端的会话标识数的增量是否大于第二预设值,若大于第二预设值,则进入步骤S312 ;若不大于,则重启定时器,返回步骤S310。具体的,若单位时间内,客户端向服务器发起的连接数不大于第二预设值,则服务器重启定时器,返回执行S310,开始获取下一个单位时间内客户端向服务器发起的连接数,即该客户端的会话标识数的增量。S312、将客户端加入到黑名单。示例性的,当客户端向服务器进行访问时,客户端便可以利用服务器协商的计算量远高于自己,且可以主动发起SSL重新协商的优势来制造DoS攻击。针对此情况,当客户端在单位时间内向服务器发起的连接数,即单位时间内会话监控表中客户端的会话标识数的增量大于第二预设值时,服务器就将该客户端加入到黑名单中,并终止与客户端的通信协商流程。这样,若把单位时间设置较短时,就能够抵御在短时间内发起的大量DoS攻击。其中,黑名单中记录有可疑的攻击客户端信息,包括可疑的攻击客户端的源IP地址及用户名等信息,用以阻止服务器与黑名单中的客户端建立TCP连接。示例性的,假设单位时间为I秒,第二预设值为10,即服务器在I秒时间内可以支持的连接数最多为10个。若客户端在这I秒时间内向服务器发起的连接数大于10,即I秒时间内会话监控表中客户端的会话标识数的增量大于10,服务器就将该客户端加入到黑名单中,并向客户端发送错误消息来终止与客户端的SSL协议的协商,防止了该客户端制造DoS攻击。其中,服务器中的黑名单可以按照一定的周期进行老化,只有当黑名单老化后,被加入黑名单的客户端才可以重新与服务器建立TCP连接以及SSL连接,这样,服务器可以抵御客户端通过在短时间内向服务器发起大量的连接的瞬时攻击。S313、判断客户端的会话标识数是否大于第一预设值,若客户端的会话标识数大于第一预设值,则进入步骤S314 ;若客户端的会话标识数不大于第一预设值,则进入步骤S307。示例性的,第一预设值可以为服务器设定的每个客户端能与服务器建立的最大SSL连接数。当服务器对客户端的会话标识数加一或者累加一个固定值后,判断加一或累加固定值后的会话标识数是否大于第一预设阈值,当不大于第一预设阈值时,服务器将会话标识添加到密钥协商响应消息中,再将密钥协商响应消息发送至客户端,以便于服务器与客户端继续完成SSL协商的后续流程。具体的,该后续流程例如可以为,若服务器与客户端采用证书交换密钥,则 服务器要提供自身的数字证书,并在Certificate (认证)消息中向客户端发送该数字证书,服务器发送ServerHelloDone (密钥协商完成消息)以表示这一握手阶段的完成。可选的,服务器与与客户端也可以不采用证书交换密钥,而采用Hellman-Deffie (加密)算法来交换密钥,这时服务器需要提供其他的密钥信息来继续与客户端的SSL的密钥协商流程。S314、终止与客户端的安全套接层协议的协商,进入步骤S315。具体的,可以通过向客户端发送错误消息来终止与客户端的安全套接层协议的协商。S315、断开与客户端建立的TCP连接,进入步骤S316。S316、在会话监控表中删除客户端的会话标识信息。其中,会话监控表中的信息包括客户端的会话标识和会话指针等信息。在服务器断开与客户端的TCP连接之后,将客户端当前的会话标识信息进行删除。另外,在客户端的会话老化,或者由于客户端或者服务器终止通信时,也可以将客户端的会话监控表中客户端当前的会话标识信息删除。综上所述,若客户端在一段时间内向服务器发起的连接数,即会话标识数大于第一预设值,则服务器向客户端发送错误消息来终止与客户端的SSL协商;或者,若客户端在单位时间内向服务器发起的连接数的增量,即会话标识数的增量大于第二预设值,则服务器将客户端加入黑名单,而后向客户端发送错误消息来终止与客户端的SSL协商,进而断开与客户端建立的TCP连接,并将会话监控表中客户端的会话标识信息删除。这样,服务器可以将与客户端之间建立的SSL协商次数控制在一个合理的范围内,能够有效地对SSLDoS攻击行为进行防范。
需要说明的是,S309 S312是可以用于设备判断客户端在单位时间内的会话标识数是否大于第二预设值进行实施的,S313 S316是可以用于设备判断客户端的会话标识数是否大于第一预设值进行实施的,其中,S309 S312与S313 S316可以为两种并列的实施方法,即可以单独执行S309 S312或S313 S316,也可以为两种互为补充的实施方法,将S309 S312与S313 S316都进行执行,但不限定这两种实施方法的执行顺序,具体情况可以根据客户端发起的连接情况来进行执行。S317、拒绝客户端的TCP连接请求。具体的,当在步骤S302中判断发起TCP连接请求的客户端在黑名单中时,由于黑名单中记录的是攻击主机的IP地址以及用户名,因此可以向所述客户端发送重置请求RST消息来拒绝所述客户端发起的所述TCP连接请求,拒绝与客户端建立TCP连接。当然,可以理解的是,还可以通过丢弃所述客户端发送的TCP连接请求消息的方式拒绝所述客户端的TCP连接请求。本发明实施例提供一种防御攻击的方法,通过在与客户端建立传输控制协议TCP连接后,接收客户端发送的密钥协商请求消息,根据客户端的源IP地址和用户名判断是否存在客户端的会话监控表,若存在客户端的会话监控表,则判断客户端的会话监控表中是否存在会话标识,若会话监控表中不存在会话标识,则在会话监控表中记录会话标识,判断客户端的会话标识数是否大于第一预设值,若客户端的会话标识数大于第一预设值,则断开TCP连接,或者获取单位时间内客户端的会话标识数的增量,判断在单位时间内客户端的会话标识数的增量是否大于第二预设值,若在单位时间内客户端的会话标识数的增量大于第二预设值,则断·开TCP连接,这样能够防御客户端在短时间发起的大量连接来进行瞬时攻击,有效地对SSL DoS攻击行为进行防范。本发明实施例还提供一种防御攻击设备01,该设备可以是路由器、防火墙或DDoS清洗设备等网关设备,也可以是SSL服务器,如图4所示,包括接收单元011,用于在与客户端建立传输控制协议TCP连接后,接收客户端发送的密钥协商请求消息,密钥协商请求消息包括客户端的源IP地址、用户名和会话标识。判断单元012,用于根据客户端的源IP地址和用户名判断是否存在客户端的会话监控表,会话监控表用于记录已进行密钥协商的客户端的源IP地址、用户名及会话标识信
肩、O判断单元012,还用于当存在客户端的会话监控表时,判断客户端的会话监控表中是否存在会话标识。记录单元013,用于当判断单元012判断会话监控表中不存在会话标识时,在会话监控表中记录会话标识。判断单元012,还用于判断客户端的会话标识数是否大于第一预设值。处理单元014,用于当判断单元012判断客户端的会话标识数大于第一预设值时,断开TCP连接。本发明实施例提供一种防御攻击设备,通过在与客户端建立传输控制协议TCP连接后,接收客户端发送的密钥协商请求消息,根据客户端的源IP地址和用户名判断是否存在客户端的会话监控表,若存在客户端的会话监控表,则判断客户端的会话监控表中是否存在会话标识,若会话监控表中不存在会话标识,则在会话监控表中记录会话标识,判断客户端的会话标识数是否大于第一预设值,若客户端的会话标识数大于第一预设值,则断开TCP连接,从而能够有效地对SSL DoS攻击行为进行防范。进一步的,如图5所示,防御攻击设备01在图4所示实施例的基础上还可以包括增量获取单元015,用于获取单位时间内客户端的会话标识数的增量;所述判断单元012,还用于判断增量获取单元015获取的在单位时间内客户端的会话标识数的增量是否大于第二预设值;处理单元014,还用于当判断单元012判断当单位时间内客户端的会话标识数的增量大于第二预设值时,断开TCP连接。进一步的,所述防御攻击设备01还可以包括监控表管理单元016,用于当判断单元012判断不存在客户端的会话监控表时,根据客户端的源IP地址、用户名和会话标识创建客户端的会话监控表,并在会话监控表中记录会话标识。再进一步的,还可以包括发送单元017,用于当判断单元012判断会话监控表中存在会话标识或客户端的会话标识数不大于第一预设值时,向客户端发送包括会话标识的密钥协商响应消息。再进一步的,所述监控表管理单元016还可以用于在处理单元断开TCP连接之后,在会话监控表中删除会话标识信息。

更进一步的,处理单元014,还可以用于若在单位时间内客户端的会话标识数的增量大于第二预设值,将客户端加入黑名单。本发明实施例所示的防御攻击设备在上述实施例的基础之上还可以通过获取单位时间内客户端的会话标识数的增量,判断在单位时间内客户端的会话标识数的增量是否大于第二预设值,若在单位时间内客户端的会话标识数的增量大于第二预设值,则断开TCP连接,这样能够防御客户端在短时间发起的大量连接来进行瞬时攻击,更进一步的提高了对SSL DoS攻击行为的防御功能。图6为本发明实施例提供另一种防御攻击设备02,该设备可以为路由器、防火墙或DDOS清洗设备,还可以是包含攻击防御能力的主机服务器,本发明具体实施例并不对设备的具体实现做限定。如图6所示,该防御攻击设备02可以包括处理器(processor)021,通信接口(CommunicationsInterface)022,存储器(memory023,通信总线 024。处理器021,通信接口 022,存储器023通过通信总线024完成相互间的通信。通信接口 022,用于与网元通信,比如客户端或SSL服务器等。处理器021,用于执行程序025,具体可以执行上述图2或图3所示的方法实施例中的相关步骤。具体地,程序025可以包括程序代码,所述程序代码包括计算机操作指令。处理器021可能是一个中央处理器CPU,或者是特定集成电路ASIC (ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。存储器023,用于存放程序025。存储器023可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。程序025可以包括接收单元011,用于在与客户端建立传输控制协议TCP连接后,接收客户端发送的密钥协商请求消息,密钥协商请求消息包括客户端的源IP地址、用户名和会话标识。判断单元012,用于根据客户端的源IP地址和用户名判断是否存在客户端的会话监控表,会话监控表用于记录已进行密钥协商的客户端的源IP地址、用户名及会话标识信
肩、O判断单元012,还用于当存在客户端的会话监控表时,判断客户端的会话监控表中是否存在会话标识。记录单元013,用 于当判断单元012判断会话监控表中不存在会话标识时,在会话监控表中记录会话标识。判断单元012,还用于判断客户端的会话标识数是否大于第一预设值;处理单元014,用于当判断单元012判断客户端的会话标识数大于第一预设值时,断开TCP连接。程序025中各模块的具体实现可以参见图4或图5所示实施例中的相应模块,在此不赘述。本发明实施例提供一种防御攻击设备,通过在与客户端建立传输控制协议TCP连接后,接收客户端发送的密钥协商请求消息,根据客户端的源IP地址和用户名判断是否存在客户端的会话监控表,若存在客户端的会话监控表,则判断客户端的会话监控表中是否存在会话标识,若会话监控表中不存在会话标识,则在会话监控表中记录会话标识,判断客户端的会话标识数是否大于第一预设值,若客户端的会话标识数大于第一预设值,则断开TCP连接,从而能够有效地对SSL DoS攻击行为进行防范。在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的连接可以是通过一些接口,可以是电性,机械或其它的形式。另外,在本发明各个实施例中的设备中,各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。且上述的各单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括U盘、移动硬盘、只读存储器(Read Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
权利要求
1.一种防御攻击的方法,其特征在于,包括在与客户端建立传输控制协议TCP连接后,接收所述客户端发送的密钥协商请求消息,所述密钥协商请求消息包括所述客户端的源IP地址、用户名和会话标识;根据所述客户端的源IP地址和用户名判断是否存在所述客户端的会话监控表,所述会话监控表用于记录已进行密钥协商的客户端的源IP地址、用户名及会话标识信息;若存在所述客户端的会话监控表,则判断所述客户端的会话监控表中是否存在所述会话标识;若所述会话监控表中不存在所述会话标识,则在所述会话监控表中记录所述会话标判断所述客户端的会话标识数是否大于第一预设值;若所述客户端的会话标识数大于所述第一预设值,则断开所述TCP连接。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括获取单位时间内所述客户端的会话标识数的增量;判断在所述单位时间内所述客户端的会话标识数的增量是否大于第二预设值;若在所述单位时间内所述客户端的会话标识数的增量大于所述第二预设值,则断开所述TCP连接。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括若不存在所述客户端的会话监控表,则根据所述客户端的源IP地址、用户名和会话标识创建所述客户端的会话监控表,并在所述会话监控表中记录所述会话标识。
4.根据权利要求1至3任意一项所述的方法,其特征在于,还包括若所述会话监控表中存在所述会话标识或所述客户端的会话标识数不大于所述第一预设值,则向所述客户端发送包括所述会话标识的密钥协商响应消息。
5.根据权利要求1至3任意一项所述的方法,其特征在于,所述断开所述TCP连接之后,还包括在所述会话监控表中删除所述会话标识信息。
6.根据权利要求2所述的方法,其特征在于,还包括若在所述单位时间内所述客户端的会话标识数的增量大于所述第二预设值,将所述客户端加入黑名单。
7.一种防御攻击设备,其特征在于,包括接收单元,用于在与客户端建立传输控制协议TCP连接后,接收所述客户端发送的密钥协商请求消息,所述密钥协商请求消息包括所述客户端的源IP地址、用户名和会话标判断单元,用于根据所述客户端的源IP地址和用户名判断是否存在所述客户端的会话监控表,所述会话监控表用于记录已进行密钥协商的客户端的源IP地址、用户名及会话标识信息;所述判断单元,还用于当存在所述客户端的会话监控表时,判断所述客户端的会话监控表中是否存在所述会话标识;记录单元,用于当所述判断单元判断所述会话监控表中不存在所述会话标识时,在所述会话监控表中记录所述会话标识;所述判断单元,还用于判断所述客户端的会话标识数是否大于第一预设值;处理单元,用于当所述判断单元判断所述客户端的会话标识数大于所述第一预设值时,断开所述TCP连接。
8.根据权利要求7所述的防御攻击设备,其特征在于,还包括增量获取单元,用于获取单位时间内所述客户端的会话标识数的增量;所述判断单元,还用于判断所述增量获取单元获取的在所述单位时间内所述客户端的会话标识数的增量是否大于第二预设值;所述处理单元,还用于当所述判断单元判断当所述单位时间内所述客户端的会话标识数的增量大于所述第二预设值时,断开所述TCP连接。
9.根据权利要求7或8所述的防御攻击设备,其特征在于,还包括监控表管理单元,用于当所述判断单元判断不存在所述客户端的会话监控表时,根据所述客户端的源IP地址、用户名和会话标识创建所述客户端的会话监控表,并在所述会话监控表中记录所述会话标识。
10.根据权利要求7至9任意一项所述的防御攻击的设备,其特征在于,还包括发送单元,用于当所述判断单元判断所述会话监控表中存在所述会话标识或所述客户端的会话标识数不大于所述第一预设值时,向所述客户端发送包括所述会话标识的密钥协商响应消息。
11.根据权利要求9所述的防御攻击设备,其特征在于,所述监控表管理单元,还用于在所述处理单元断开所述TCP连接之后,在所述会话监控表中删除所述会话标识信息;所述处理单元,还用于若在所述单位时间内所述客户端的会话标识数的增量大于所述第二预设值,将所述客户端加入黑名单。
全文摘要
本发明实施例提供一种防御攻击的方法和设备,涉及通信领域,有效地对SSL DoS攻击行为进行防范。该方法包括通过在与客户端建立传输控制协议TCP连接后,接收客户端发送的密钥协商请求消息,若存在客户端的会话监控表,则判断客户端的会话监控表中是否存在会话标识,若不存在会话标识,则在会话监控表中记录会话标识,判断客户端的会话标识数是否大于第一预设值,若客户端的会话标识数大于第一预设值,则断开TCP连接。
文档编号H04L29/06GK103051633SQ20121057234
公开日2013年4月17日 申请日期2012年12月25日 优先权日2012年12月25日
发明者孙宏 申请人:华为技术有限公司
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1