一种异常连接的检测方法、装置及网关设备的制作方法

文档序号:7709712阅读:176来源:国知局
专利名称:一种异常连接的检测方法、装置及网关设备的制作方法
技术领域
本发明涉及信息安全领域,特别涉及一种异常连接的检测方法、装置及 网关设备。
背景技术
分布式拒绝服务(Distributed Denial of Service,简称DD0S )攻击 就是利用合理的服务请求来占用过多的服务资源,从而使服务器无法处理合 法用户的指令。DDOS攻击中的TCP全连接攻击是通过许多僵尸主机不断地与 服务器建立大量的TCP连接,直到服务器的连接、内存等资源被耗尽,从而 造成服务器拒绝服务,使服务器无法处理合法用户的指令。TCP全连接攻击 的特点是可以绕过一般防火墙的防护而达到攻击的目的。对于通常的网络服 务系统,能接受的TCP连接数是有限的,当遭受TCP全连接攻击时,会导致 网站访问非常緩慢甚至无法访问。
为实现对全连接攻击的检测,现有技术采用的是连接数阈值判断法。通 常防火墙或DDOS检测设备会检测被保护服务器的连接总数,如果检测出连接 总数大于连接数阈值,则认为存在TCP连接异常,即存在全连接攻击。具体 做法是防火墙或DDOS检测设备中的连接检查模块会对需要防范的流量中的 TCP连接进行检测,统计TCP连接三次握手完成后的握手成功报文的数量, 并在设定的时间段到达后得出统计值,当统计值大于连接数阈值时识别出TCP 连接为异常连接,即存在全连接攻击。
发明人在实现本发明的过程中,发现由于正常访问流量会随时间段的不 同而发生变化,正常访问流量增大时,流量中的TCP连接的数量也会随之增 加,当一定时间段内流量中的TCP连接的数量超过连接数阈值时,正常的TCP连接会被识别为异常连接,即被判定为全连接攻击,从而产生对全连接攻击 的误报。

发明内容
本发明的目的是提供一种异常连接的检测方法、装置及网关设备,可以
提高^r测全连接攻击的准确率。
本发明实施例提供了一种异常连接的检测方法,包括 接收客户端发送的连接请求消息; 与所述客户端建立TCP连接;
当在设定时间内未接收到所述客户端发送的数据包时,识别所述TCP连 接为异常连接;
当在设定时间内接收到所述客户端发送的数据包时,则根据协议报文对 所述数据包进行验证,如果验证成功则识别所述TCP连接为正常连接,如果 验证失败则识别所述TCP连接为异常连接。
本发明实施例还提供了一种异常连接的检测装置,包括 收发模块,用于接收客户端发送的连接请求消息,并与所述客户端建立 TCP连接;
检测模块,用于检测在设定时间内是否接收到所述客户端发送的数据包; 验证模块,用于当所述检测模块的检测结果为在设定时间内接收到所述 客户端发送的数据包时,根据协议报文对所述数据包进行验证;
识别模块,用于当所述检测模块的检测结果为在设定时间内未接收到所 述客户端发送的数据包时,识別所述TCP连接为异常连接,当所述验ii4莫块 对所述数据包验证成功时识别所述TCP连接为正常连接、或者当所述验证模 块对所述数据包验证失败时识别所述TCP连接为异常连接。
本发明实施例提供了 一种网关设备,包括上述异常连接的检测装置。 本发明实施例的技术方案中,在设定时间内检测是否接收到客户端发送的数据包,并根据协议报文对在设定时间内接收的数据包进行验证,当该客
户端向服务器发起全连接攻击时,能够识别出与该客户端建立的TCP连接为 异常连接,从而提高了检测全连接攻击的准确率。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对 实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地, 下面描述中的附图仅仅是本发明的 一些实施例,对于本领域普通技术人员 来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的 附图。
图1为本发明实施例一提供的异常连接的检测方法的流程图; 图2为本发明实施例二提供的异常连接的检测方法的流程图; 图3为本发明实施例三提供的异常连接的检测方法的流程图; 图4为本发明实施例四提供的异常连接的检测方法的流程图; 图5为本发明实施例五提供的异常连接的检测方法的流程图; 图6为本发明实施例六提供的异常连接的检测方法的流程图; 图7为本发明实施例七提供的异常连接的检测装置的结构示意图; 图8为本发明实施例八提供的异常连接的检测装置的结构示意图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而 不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做 出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例一提供的异常连接的检测方法的流程图,如图1所 示,该方法包^舌步骤IOI、接收客户端发送的连接请求消息;
具体地,连接请求消息可以为SYN消息,SYN (synchronize)消息是 TCP/IP建立连接时使用的握手信号。 步骤102、与客户端建立TCP连接;
具体地,在接收到客户端发送的SYN消息后,向客户端返回SYN-ACK消 息,客户端再发送ACK消息作为应答,从而完成建立TCP连接的过程。其中, SYN-ACK消息是对SYN消息的应答消息,而ACK消息是对SYN-ACK消息的响 应消息。
本步骤中在接收到SYN消息后并未将该SYN消息转发给服务器,而是与 客户端建立TCP连接。
步骤103、在设定时间内检测是否接收到客户端发送的数据包,如果是 则执行步骤104,否则执行步骤106;
其中设定时间可以为预先设定的任意时间段。
步骤104、根据协议报文对所述数据包进行验证,如果验证成功则执行 步骤105,如果验证失败则执行步骤106;
本实施例中协议才艮文根据实际应用的不同可以为http协议报文、ftp协 议报文、ssh协议报文等。
具体地,可以验证数据包的内容与协议报文类型是否一致,如果数据包 的内容与协议报文类型一致则验证成功,如果数据包的内容与协议"J艮文类型 不一致则-验i正失败。
步骤105、识别TCP连接为正常连接;
如果验证成功则认为接收的数据包是正常的数据包,该TCP连接为正常 连接,即该客户端未对服务器进行全连接攻击。 步骤106、识别TCP连接为异常连接;
如果在设定时间内没有接收到任何数据包,则识别该TCP连接为异常连 接,即该客户端对服务器进行全连接攻击。本实施例的技术方案中,在设定时间内检测是否接收到客户端发送的数 据包,并根据协议报文对在设定时间内接收的数据包进行验证,当该客户端
向服务器发起全连接攻击时,能够识别出与该客户端建立的TCP连接为异常 连接,从而提高了检测全连接攻击的准确率。
图2为本发明实施例二提供的异常连接的检测方法的流程图,如图2所 示,该方法包括
步骤201、接收客户端发送的连接请求消息,该连接请求消息中携带有 客户端地址信息;
本实施例中的各步骤可以由异常连接的检测装置执行,具体的,当客户 端向服务器发送连接请求消息时,异常连接的检测装置接收该连接请求消息。
步骤202、判断设置的记录表中是否包括客户端地址信息,如果是则执 行步骤208,否则执行步骤203;
记录表中存储有可信的客户端地址信息和不可信的(或恶意的)客户端 地址信息,可信的客户端地址信息为通过验证的客户端地址信息,不可信的 客户端地址信息为未通过验证的客户端地址信息。在实际应用中记录表中可 以包括白名单和黑名单,白名单中存储有可信的客户端地址信息,黑名单中 存储有恶意的客户端地址信息。
步骤203、与客户端建立TCP连接;
具体的,即异常连接的检测装置接收到客户端发送的连接请求消息后, 如果根据设置的记录表,判断该连接请求消息中携带的客户端地址信息为陌 生的地址信息,则该检测装置代替服务器与客户端建立TCP连接。
步骤204、在设定时间内检测是否接收到客户端发送的数据包,如果是 则执行步骤205,否则执行步骤207;
具体的,在正常连接的情况下,在异常连接的检测装置与客户端建立TCP 连接后,客户端会向异常连接的检测装置发送数据包,因此,异常连接的检 测装置可以通过检测是否在设定时间内检测是否接收到客户端发送的数据包初步判断该TCP连接是否为异常连接。
步骤205、根据协议报文对数据包进行验证,如果验证成功则执行步骤 206,如果验证失败则执行步骤207;
具体地,根据协议报文对数据包进行验证具体可以为验证数据包的内容 与协议报文是否一致,如果数据包的内容与协议报文一致则验证成功,如果 数据包的内容与协议报文不一致则^i正失败。
步骤206、识别TCP连接为正常连接,将客户端地址信息存储于设置的 记录表中,断开与客户端建立的TCP连接,流程结束。
具体地,将客户端地址信息存储于记录表中的可信的客户端地址信息中。
步骤207、识别TCP连接为异常连接,将客户端地址信息存储于设置的 记录表中,丟弃TCP连接,流程结束。
具体地,将客户端地址信息存储于记录表中的恶意的客户端地址信息中。
步骤208、允许或者拒绝客户端与服务器建立TCP连接,流程结束。
具体地,当判断出可信的客户端地址信息中包括该客户端地址信息即该 客户端地址信息为可信的客户端地址信息时,允许客户端与服务器建立TCP 连接,此时异常连接的检测装置将客户端发送的连接请求消息转发给服务器, 使客户端与服务器建立TCP连接;当判断出恶意的客户端地址信息中包括该 客户端地址信息即该客户端地址信息为恶意的客户端地址信息时,拒绝客户 端与服务器建立TCP连接,此时异常连接的检测装置拒绝客户端的连接请求, 从而保护服务器免受TCP全连接攻击。
本实施例的技术方案中,在设定时间内检测是否接收到客户端发送的数 据包,并才艮据协议才艮文对在设定时间内接收的数据包进行验证,当该客户端 向服务器发起全连接攻击时,能够及时识别出与该客户端建立的TCP连接为 异常连接,从而提高了检测全连接攻击的准确率和实时性。
图3为本发明实施例三提供的异常连接的检测方法的流程图,如图3所 示,该方法包4舌步骤301、接收客户端发送的连接请求消息,该连接请求消息中携带端
口信息和客户端地址信息;
本实施例中各步骤可以由异常连接的检测装置来执行;
其中,才艮据应用协_汉的不同,端口信息可以为HTTPS端口等,并且该端
口信息可以采用默认端口信息,也可以采用用户自定义的端口信息;客户端
地址信息可以为客户端的IP地址信息。
步骤302、从连接请求消息携带的端口信息中解析出协议类型;
例如,异常连接的检测装置根据端口信息检测该端口为HTTPS端口,从
而可以解析出该数据包为HTTPS协议类型的数据包,HTTPS协议是由SSL与
HTTP协议一起构建的可进行加密传输、身份认证的网络协议。SSL是一个在
客户机和具有SSL功能的服务器之间的安全连接中对数据进行加密和解密的协议。
步骤303、查询预先配置的待检测的协议类型中是否包括识别出的协议 类型,如果是则执行步骤304,否则执行步骤313;
具体的,由于预先配置的待检测的协议类型可以包括一种或者多种协议, 因此,可以查询识别出的所述数据包的协议类型是否属于待检测的范围。
步骤304、判断设置的白名单和黑名单中是否包括客户端地址信息,如 果白名单和黑名单中不包括该客户端地址信息,则执行步骤305;如果白名
单中包括客户端地址信息则执行步骤313;如果黑名单中包括客户端地址信 息则执行步骤314;
具体的,为提高检测质量,可以同时设置白名单和黑名单。白名单中设 置的客户端地址信息为允许通过的客户端地址信息,黑名单中设置的客户端 地址信息为拒绝通过的客户端地址信息。当然,本领域技术人员可以知道, 同时设置白名单和黑名单只是一种较佳的实现方式,也可以只设置白名单或 只设置黑名单。
步骤305、与客户端建立TCP连接,进入步骤306;步骤306、在设定时间内检测是否接收到客户端发送的数据包,如果是 则执行步骤307,否则执行步骤310;
步骤307、根据协议报文对所述数据包进行验证,如果验证成功则执行 步骤308;如果验证失败则执行步骤310;
具体的,可以验证数据包的内容与协议报文是否一致,如果数据包的内 容与协议报文一致则验证成功,如果数据包的内容与协议报文不一致则验证 失败。
步骤308、识别TCP连接为正常连接,进入步骤309;
步骤309、将客户端地址信息加入白名单,并向客户端发送断开连接消 息,流程结束。
其中,断开连接消息可以为RST消息。
步骤310、识别TCP连接为异常连接,进入步骤311;
步骤311、丢弃TCP连接,释放TCP连接占用的资源,进入步骤312;
步骤312、将客户端地址信息加入黑名单,流程结束。
步骤313、允许客户端与服务器建立TCP连接,流程结束。
步骤314、拒绝客户端与服务器建立TCP连接,流程结束。
可以理解的是,本实施例中,当识别出TCP连接为异常连接后,可以先 执行步骤312将客户端地址信息加入黑名单,再执行步骤311丢弃TCP连接, 并释》文TCP连接占用的资源。
本实施例中,当识别出TCP连接为异常连接后,还可以仅执行步骤311、 丟弃TCP连接,并释放TCP连接占用的资源,而不执行步骤312,即不将客 户端地址信息加入黑名单;或者,本实施例中,还可以仅设置白名单而不设 置黑名单,这样当执行步骤311之后,不用执行步骤312中的将客户端地址 信息加入黑名单的步骤。这样,当该客户端再次请求建立TCP连接时,需要 执行本实施例中的各步骤以识别出该客户端的TCP连接为异常连接。此种情 况中,异常连接的检测装置需要不断地与客户端建立TCP连接,并重复执行检测出该TCP连接为异常连接的过程。实际上,此种情况为异常连接的检测 装置代替服务器承受客户端发起全连接攻击的情况。
本实施例的技术方案中,在设定时间内检测是否接收到客户端发送的数 据包,并根据协议报文对在设定时间内接收的数据包进行验证,当该客户端 向服务器发起全连接攻击时,能够及时识别出与该客户端建立的TCP连接为 异常连接,从而提高了检测全连接攻击的准确率和实时性。
图4为本发明实施例四提供的异常连接的检测方法的流程图,本实施例 主要应用于协议类型为FTPS协议的情况,如图4所示,该方法包括
步骤401、接收客户端发送的连接请求消息,该连接请求消息中携带端 口信息和客户端地址信息;
本实施例中各步骤可以由异常连接的检测装置来执行。
步骤402、从连接请求消息携带的端口信息中解析出协议类型;
具体的,在本实施例中,该协议类型为FTPS协议类型。FTPS是在安全 套接层使用标准的FTP协议和指令的一种增强型TFP协议,为FTP协议和数 据通道增加了 SSL安全功能。FTPS也称作"FTP-SSL"和"FTP-over-SSL"。
步骤403、查询预先配置的协议类型中是否包括识别出的协议类型,如 果是则执行步骤404,否则执行步骤415;
步骤404、判断设置的白名单和黑名单中是否包括客户端地址信息,如 果白名单和黑名单中都不包括该客户端地址信息,则执行步骤405;如果白
名单中包括客户端地址信息则liM亍步骤415;如果黑名单中包括客户端地址 信息则执行步骤416;
步骤405、与客户端建立TCP连接;
步骤406、在静默时间内检测是否接收到客户端发送的数据包,如果是 则执行步骤412,否则执行步骤407;
静默时间可以为任意设置的时间。在FTPS协议类型下,在与客户端建立 TCP连接后,在设置的静默时间内,正常情况下客户端不会主动向异常连接的检测装置发送任何数据包,因此,本步骤中通过在静默时间内检测是否接 收到客户端发送的数据包也可以判断发送该数据包的客户端是否为可信的客 户端。
步骤407、向客户端发送版本数据包,进入步骤408; 具体的,在FTPS协议类型下,在设置的静默时间内,客户端不会向对 端设备(与客户端建立TCP连接的对端设备)发送数据包,只在收到对端设
施例中如果客户端需要向异常连接的检测装置发送数据包,则需要先收到异 常连接的检测装置发送的FTPS版本数据包。
步骤408、在设定时间内检测是否接收到客户端发送的数据包,如果是 则执行步骤409;如果否则执行步骤412;
具体的,当异常连接的检测装置向客户端发送版本数据包后,在设定时 间内检测是否接收到客户端发送的数据包,如果是则执行步骤409;如果否 则执行步骤412。
步骤409、根据协议报文对所述数据包进行验证,如果验证成功则执行 步骤410;如果验证失败则执行步骤412;
具体的,可以验证数据包的内容与协议报文是否一致,如果数据包的内 容与协议报文一致则验证成功,如果数据包的内容与协议报文不一致则驺3正 失败。
步骤410、识别TCP连接为正常连接,进入步骤411; 步骤411、将客户端地址信息加入白名单,并向客户端发送断开连接消 息,流程结束。
其中,断开连接消息可以为RST消息。
步骤412、识别TCP连接为异常连接,进入步骤413;
步骤413、丟弃TCP连接,并释放TCP连接占用的资源,执行步骤414;
步骤414、将客户端地址信息加入黑名单,流程结束。步骤415、允许客户端与服务器建立TCP连接,流程结束。 步骤416、拒绝客户端与服务器建立TCP连接,流程结束。 本实施例的技术方案中,在设定时间内检测是否接收到客户端发送的数 据包,并根据协议报文对在设定时间内接收的数据包进行验证,当该客户端 向服务器发起全连接攻击时,能够及时识别出与该客户端建立的TCP连接为 异常连接,从而提高了检测全连接攻击的准确率和实时性。
下面通过一个具体的实施例对本发明异常连接的检测方法应用于HTTPS 协议进行详细说明,HTTPS协议是由SSL与http协议一起构建的可进行加密 传输、身份认证的网络协议。本实施例中客户端为HTTPS客户端,服务器为 HTTPS服务器,本实施例中的流程描述的主要是对客户端发送的连接请求进 行全连接攻击检测并检测出建立的TCP连接为正常连接的情况。本实施例中 检测全连接攻击的过程可以由异常连接的检测装置来执行,该异常连接的检 测装置可以单独部署,也可以设置于网关设备中,因此本实施例中以包括异 常连接的检测装置的网关设备为例描述异常连接的检测方法。图5为本发明 实施例五提供的异常连接的检测方法的流程图,如图5所示,包括
步骤501、客户端向网关设备发送SYN消息,该SYN消息中携带HTTPS 端口信息和HTTPS客户端的IP地址;
步骤502、网关设备从SYN消息携带的HTTPS端口信息解析出协议类型为 HTTPS协议,并查询出预先配置的协议类型中包括HTTPS协议; 即识别出的HTTPS协议属于需要进行全连接攻击检测的范围。 其中HTTPS端口信息可以为默认的端口 443,也可以采用用户自定义的端 口信息。
步骤503、网关设备判断出设置的白名单和黑名单中均不包括客户端的 IP地址信息;
步骤504、网关设备向HTTPS客户端发送SYN-ACK消息; 步骤505、 HTTPS客户端向网关设备返回ACK消息;从而HTTPS客户端与网关设备建立TCP连接。
步骤506、将HTTPS客户端的IP地址添加到老化表中,并设定老化时间,
该老化时间即为设定时间;
步骤507、网关设备在老化时间内接收到HTTPS客户端发送的数据包; 步骤508 、网关设备根据HTTPS协议报文对数据包进行验证并验证成功; 该HTTPS协议报文可以为HTTPS协议中的Hello消息。 网关设备可根据Hello消息对接收的数据包进行验证,如果数据包与
Hello消息一致,则验证成功;如果数据包与Hello消息不一致,则^ii失
败。换言之,在验证成功的情况下,HTTPS客户端发送的数据包就是Hello
消息
步骤509、网关设备识别出TCP连接为正常连接,将HTTPS客户端的地 址信息加入白名单;
步骤510、网关设备向HTTPS客户端返回RST消息,以断开与HTTPS客 户端的TCP连接;
步骤511、 HTTPS客户端通过网关设备向HTTPS服务器发送SYN消息; 网关设备查询出白名单中包括SYN消息中携带的客户端的IP地址,则将
SYN消息转发给HTTPS服务器。
步骤512、 HTTPS服务器通过网关设备向HTTPS客户端发送SYN-ACK消息; 步骤513、 HTTPS客户端向通过网关设备向HTTPS服务器返回ACK消息,
从而与HTTPS服务器建立TCP连接;
步骤514、 HTTPS客户端通过网关设备与HTTPS服务器进行HTTPS数据传输。
在本实施例中,如果网关设备根据HTTPS协议报文对数据包进行验证并 验证失败,则识别出TCP连接为异常连接,并将客户端的IP地址加入黑名单, 当该HTTPS客户端重新向HTTPS服务器发送SYN消息时,网关设备将拒绝 HTTPS客户端与HTTPS服务器建立TCP连接。下面通过一个具体的实施例对本发明异常连接的4企测方法应用于FTPS 协议进行详细说明,本实施例中客户端为FTPS客户端,服务器为FTPS服务 器,本实施例中的流程描述的主要是对客户端发送的连接请求进行全连接攻 击检测并检测出建立的TCP连接为正常连接的情况。本实施例中检测全连接 攻击的过程可以由异常连接的检测装置来执行,该异常连接的检测装置可以 单独部署,也可以设置于网关设备中,因此本实施例中以包括异常连接的检 测装置的网关设备为例描述异常连接的检测方法。图6为本发明实施例六提 供的异常连接的检测方法的流程图,如图6所示,包括
步骤601、 FTPS客户端向网关设备发送SYN消息,该SYN消息中携带FTPS 端口信息和FTPS客户端的IP地址;
步骤602、网关设备从SYN消息携带的FTPS端口信息解析出协议类型为 FTPS协议,并查询出预先配置的协议类型中包括FTPS协议;
即识别出的FTPS协议属于需要进行全连接攻击检测的范围。
其中FTPS端口信息可以为默i^的端口 21,也可以采用用户自定义的端 口信息。
步骤603、网关设备判断出设置的白名单和黑名单中均不包括客户端的 IP地址信息;
步骤604、网关设备向FTPS客户端发送SYN-ACK消息; 步骤605、 FTPS客户端向网关设备返回ACK消息; 从而FTPS客户端与网关设备建立TCP连接。
步骤606、网关设备将FTPS客户端的IP地址添加到老化表中,并设定 老化时间,该老化时间即为静默时间;
步骤607、网关设备在老化时间内检测出未接收到FTPS客户端发送的数 据包;
步骤608、网关设备向FTPS客户端发送版本数据包ftp version; ftp version为FTPS协议中的数据包;步骤609、网关设备预先设置设定时间;
步骤610、网关设备在设定时间内接收到FTPS客户端发送的数据包; 步骤611 、网关设备根据FTPS协议报文对数据包进行验证并验证成功; 该FTPS协议报文为FTPS协议中的USER Command消息; 网关设备可根据USER Co隨and消息对接收的数据包进行验证,如果数据
包与USER Command消息一致,则-验i正成功;如果凝:据包与USER Command消
息不一致,则验证失败。换言之,在验证成功的情况下,FTPS客户端发送的
数据包就是USER Command消息。
步骤612、网关设备识别出TCP连接为正常连接,将FTPS客户端的地址
信息加入白名单;
步骤613、网关设备向FTPS客户端返回RST消息,以断开与HTTPS客户 端的TCP连接;
步骤614、 FTPS客户端通过网关设备向FTPS服务器发送SYN消息; 网关设备查询出白名单中包括SYN消息中携带的客户端的IP地址,则将
SYN消息转发给FTPS服务器。
步骤615、 FTPS服务器通过网关设备向FTPS客户端发送SYN-ACK消息; 步骤616、 FTPS客户端向通过网关设备向FTPS服务器返回ACK消息,从
而与FTPS服务器建立TCP连接;
步骤617、 FTPS客户端通过网关设备与FTPS服务器进行FTPS数据传输。 在本实施例中,如果网关设备根据FTPS协议报文对数据包进行验证并验
证失败,则识别出TCP连接为异常连接,并将客户端的IP地址加入黑名单,
当该FTPS客户端重新向FTPS服务器发送SYN消息时,网关设备将拒绝FTPS
客户端与FTPS服务器建立TCP连接。
本实施例中,如果网关设备在老化时间(也就是静默时间)检测出接收
到FTPS客户端发送的数据包,则网关设备识别该TCP连接为异常连接,并将
客户端的IP地址加入黑名单,当该FTPS客户端重新向FTPS服务器发送SYN消息时,网关设备将拒绝FTPS客户端与FTPS服务器建立TCP连接。
图7为本发明实施例七提供的异常连接的检测装置的结构示意图,如图
7所示,异常连接的检测装置包括收发模块111、检测模块112、验证模块113
和识别模块114,其中
收发模块111,用于接收客户端发送的连接请求消息,并与该客户端建
立TCP连接;
具体地,收发模块111接收客户端发送的连接请求消息后向客户端发送 连接应答消息,并接收客户端返回的应答消息,与客户端建立TCP连接。其 中连接请求消息可以为SYN消息、连接应答消息可以为SYN-ACK消息,应答 消息可以为ACK消息。
检测模块112,用于在设定时间内检测是否接收到客户端发送的数据包; 具体地,检测模块112会将检测出接收到客户端发送的数据包的检测结 果发送给验证模块113,或者将检测出未接收到客户端发送的数据包的检测 结果发送给识别模块114。可以理解的是,客户端发送的数据包可以由收发 模块lll接收。
验证模块113,用于在检测模块112检测出接收到数据包时,根据协议 报文对所接收的数据包进行验证;
具体地,验证模块113可以验证该数据包的内容与协议报文类型是否一 致,如果数据包的内容与协议报文类型一致,则验证成功,如果数据包的内 容与协议才艮文类型不一致,则验证失败。
识别模块114,用于当检测模块112检测的结果为未接收到数据包时识 别TCP连接为异常连接,当在所述验证模块113对所述数据包验证成功时识 别所述TCP连接为正常连接、或者在所述验证模块113对所述数据包验证失 败时识别所述TCP连接为异常连接。
具体地,识别模块114可以根据检测模块112的检测结果识别TCP连接 为异常连接。还可以根据验证才莫块113的验证结果识别所述TCP连接是否为异常连接,具体的,当验iJMt块113的验证结果为验证成功时识别TCP连接 为正常连接,当驺,证-漠块113的验证结果为验证失败时识别TCP连接为异常 连接。
本实施例的技术方案中,异常连接的检测装置可以在设定时间内检测是 否接收到客户端发送的数据包,并根据协议报文对在设定时间内接收的数据 包进行验证,当该客户端向服务器发起全连接攻击时,异常连接的检测装置 能够识别出与该客户端建立的TCP连接为异常连接,从而提高了检测全连接 攻击的准确率。
图8为本发明实施例八提供的异常连接的检测装置的结构示意图,如图 8所示,本实施例中的异常连接的检测装置在图7中实施例的基础上增设了 判断模块115、第一处理模块116和第二处理模块117,具体的,在本发明实 施例中,收发模块111包括第一收发子模块1111和第二收发子模块1112, 判断模块115包括第一判断子模块1151和第二判断子模块1152,其中
第一收发子模块1111,用于接收客户端发送的连接请求消息,该连接请 求消息携带有客户端端口号信息和客户端地址信息;
第一判断子模块1151,用于根据设置的记录表判断待检测的协议类型中 是否包括所述连接请求消息的协议类型,如果是,则触发第二判断子模块 1152,否则触发第一处理才莫块116;
具体的,所述连接请求消息的协议类型可以通过解析所述连接请求消息 中携带的客户端端口号信息得到。该设置的记录表中包含有待检测的协议类 型信息、可信的客户端地址信息以及不可信的客户端地址信息。
第二判断子模块1152,用于根据设置的记录表中的地址信息判断是否包 括所述客户端地址信息,如果是则触发第一处理模块116,否则触发第二收 发模块1112;
具体的,记录表中存储有可信的客户端地址信息和不可信的(或恶意的) 客户端地址信息,可信的客户端地址信息为通过验i正的客户端地址信息,不可信的客户端地址信息为未通过验证的客户端地址信息。在实际应用中记录 表中可以包括白名单和/或黑名单,白名单中存储的是可信的客户端地址信 息,黑名单中存储的是恶意的客户端地址信息。
第二收发模块1112,用于与所述客户端建立TCP连接,并触发检测模块
113;
也就是说,此时,由该异常连接的检测装置代替服务器与所述客户端建 立TCP连接,从而启动对该客户端的验证过程。
检测模块112,用于检测在设定时间内是否接收到客户端发送的数据包, 如果是,则触发验证模块113,否则触发识别模块114;
具体的,在正常连接的情况下,在异常连接的检测装置与客户端建立TCP 连接后,客户端会向异常连接的检测装置发送数据包,因此,检测模块112 可以通过在设定时间内检测是否接收到客户端发送的数据包初步判断该TCP 连接是否为异常连接。
验证模块113,用于根据协议报文对客户端在设定时间内发送的数据包 进行验证;
具体的,根据协议报文对数据包进行验证具体可以为验证数据包的内容 与协议报文是否一致,如果数据包的内容与协议报文一致则验证成功,如果 数据包的内容与协议报文不一致则验证失败。
识别模块114,用于验证模块113的验证结果以及检测模块112的检测 结果识别所述TCP连接是否为异常连接,并触发第二处理模块117;
具体的,当检测结果112结果为在设定时间内未接收到客户端发送的数 据包时,识别该TCP连接为异常连接;当验证模块113的验证结果为验证失 败时,识别该TCP连接为异常连接;当验证模块113的验证结果为验证成功 时,识别该TCP连接为正常连接。
第一处理模块116,用于根据第一判断子模块1151的判断结果和第二判 断子模块1152的判断结果对该连接请求消息进行相应处理;具体的,当第一判断子模块1151根据设置的记录表判断该数据包的协议 类型不是待检测的协议类型时,将该连接请求消息发送给服务器,使服务器 与客户端建立TCP连接;当第二判断子模块1152根据设置的记录表判断出该 客户端地址信息为可信的客户端地址信息时,将该连接请求消息发送给服务 器,使服务器与客户端建立TCP连接;当第二判断子模块1152根据设置的记 录表判断出该客户端地址信息为可信的客户端地址信息时,拒绝该客户端的 连接请求消息。
第二处理模块117,用于当识别模块114识别出该TCP连接为正常连接 时,将该客户端地址信息存储于设置的记录表中,并断开该TCP连接;当识 别模块114识别出该TCP连接为异常连接时,将该客户端地址信息存储于设 置的记录表中,并丢弃该TCP连接。
具体的,当识别出该TCP连接为正常连接时,可以向客户端返回RST消 息,拒绝客户端的TCP连接;当识别出该TCP连接为异常连接时,丢弃该TCP 连接,从而使服务器免受该客户端的全连接攻击。
可以理解的是,判断模块115中也可以只包括第二判断子模块1152,第 一处理模块116和第二处理模块117可以是一个模块。
可以理解的是,对于ftp类型数据包,进一步地,检测模块112还可以 在静默时间内检测是否接收到客户端发送的数据包,并将在静默时间内接收 到数据包的检测结果发送给识别模块114,由识别模块114识别该TCP连接 为异常连接;或者检测模块112将在静默时间内未接收到数据包的检测结果 发送给收发模块111,由收发模块111向客户端发送版本数据包,并由检测 模块112在设定时间内检测是否接收到客户端发送的数据包。
本实施例的技术方案中,异常连接的检测装置可以在设定时间内检测是 否接收到客户端发送的数据包,并根据协议报文对在设定时间内接收的数据 包进行验证,当该客户端向服务器发起全连接攻击时,异常连接的检测装置 能够识别出与该客户端建立的TCP连接为异常连接,从而提高了检测全连接攻击的准确率。
本发明实施例的技术方案可应用于对多种协议类型的全连接攻击进行检
测,包括HTTP、 HTTPS、 FTP、 FTPS或者SSH等协议类型。
需要说明的是,本发明实施例中的异常连接的检测装置可单独设置,也 可设置于各种网关设备中,例如防火墙、抗DD0S设备、统一威胁管理(Unified Threat Management,筒称UTM )设备或者入侵防御系统(Intrusion Prevention System,筒称IPS)设备等,具体不再赘述。
程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于 计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例 的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或F逭才;^储"i己小乙体(Random Access Memory, RAM)等。
最后应说明的是以上实施例仅用以说明本发明的技术方案而非对其进 行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技 术人员应当理解其依然可以对本发明的技术方案进行修改或者等同替换, 而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的 精神和范围。
权利要求
1、一种异常连接的检测方法,其特征在于,包括接收客户端发送的连接请求消息;与所述客户端建立TCP连接;当在设定时间内未接收到所述客户端发送的数据包时,识别所述TCP连接为异常连接;当在设定时间内接收到所述客户端发送的数据包时,则根据协议报文对所述数据包进行验证,如果验证成功则识别所述TCP连接为正常连接,如果验证失败则识别所述TCP连接为异常连接。
2、 根据权利要求1所述的方法,其特征在于,所述根据协议报文对所述 数据包进行验证包括验证所述数据包的内容与所述协议报文是否一致,如果一致则验证成功, 否则验证失败。
3、 根据权利要求l所述的方法,其特征在于,所述连接请求消息携带客 户端地址信息;则所述接收客户端发送的连接请求消息之后还包括判断设置的记录表中是否包括所述客户端地址信息;当所述记录表中未包括所述客户端地址信息时,执行所述与所述客户端 建立TCP连接的步骤;或者,当所述记录表中包括所述客户端地址信息时,则,如果根据所述记录表 判断所述客户端地址信息为可信的客户端地址信息,则将所述客户端的连接 请求消息发送给服务器,使所述客户端与服务器建立TCP连接;如果根据所 述记录表判断所述客户端地址信息为不可信的客户端地址信息,则拒绝所述 客户端的连接请求。
4、 根据权利要求3所述的方法,其特征在于,还包括当识别所述TCP连接为异常连接时,将所述客户端地址信息存储于所述记录表中,丢弃所述TCP连接;当识别所述TCP连接为正常连接时,将所述客户端地址信息存储于所述 记录表中,断开与所述客户端建立的TCP连接。
5、 一种异常连接的检测装置,其特征在于,包括收发模块,用于接收客户端发送的连接请求消息,并与所述客户端建立 TCP连接;检测模块,用于检测在设定时间内是否接收到所述客户端发送的数据包; 验证模块,用于当所述检测模块的检测结果为在设定时间内接收到所述 客户端发送的数据包时,根据协议报文对所述数据包进行验证;识别模块,用于当所述检测模块的检测结果为在设定时间内未接收到所 述客户端发送的数据包时,识别所述TCP连接为异常连接,当所述验证模块 对所述数据包验证成功时识别所述TCP连接为正常连接、或者当所述验证模 块对所述数据包-^i正失败时识别所述TCP连接为异常连接。
6、 根据权利要求5所述的装置,其特征在于,还包括判断模块;所述收 发模块包括第 一收发子模块和第二收发子模块;所述第一收发子模块,用于接收所述连接请求消息,所述连接请求消息 携带客户端地址信息;所述判断模块,用于判断设置的记录表中是否包括所述第 一收发子模块 接收的连接请求消息携带的客户端地址信息,当所述记录表中未包括所述客 户端地址信息时,触发所述第二收发子模块;所述第二收发子模块,用于当所述判断模块判断所述记录表中未包括客 户端地址信息的判断结果时,与所述客户端建立TCP连接。
7、 根据权利要求6所述的装置,其特征在于,还包括 第一处理模块,用于当所述判断模块判断所述记录表中包含所述客户端地址信息时,如果根据所述记录表判断所述客户端地址信息为可信的客户端 地址信息,则将所述客户端的连接请求消息发送给服务器,使所述客户端与服务器建立TCP连接;如果根据所述记录表判断所ii^户端地址信息为不可 信的客户端地址信息,则拒绝所述客户端的连接请求。
8、 根据权利要求6所述的装置,其特征在于,还包括 第二处理模块,用于当识别模块识别出所述TCP连接为正常连接时,将该客户端地址信息存储于设置的记录表中,并断开该TCP连接;当识别模块 识别出所述TCP连接为异常连接时,将该客户端地址信息存储于设置的记录 表中,并丢弃所述TCP连接。
9、 一种网关设备,其特征在于,包括权利要求5至8任一所述的异常 连接的检测装置。
全文摘要
本发明实施例公开了一种异常连接的检测方法、装置及网关设备。方法包括接收客户端发送的连接请求消息;与所述客户端建立TCP连接;当在设定时间内未接收到所述客户端发送的数据包时,识别所述TCP连接为异常连接;当在设定时间内接收到所述客户端发送的数据包时,则根据协议报文对所述数据包进行验证,如果验证成功则识别所述TCP连接为正常连接,如果验证失败则识别所述TCP连接为异常连接。本发明实施例的技术方案中当客户端向服务器发起全连接攻击时,能够识别出与该客户端建立的TCP连接为异常连接,从而提高了检测全连接攻击的准确率。
文档编号H04L12/56GK101594269SQ20091015103
公开日2009年12月2日 申请日期2009年6月29日 优先权日2009年6月29日
发明者莉 杨, 武 蒋 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1