一种数据传输处理方法、装置、系统及设备与流程

文档序号:16199789发布日期:2018-12-08 06:29阅读:131来源:国知局
一种数据传输处理方法、装置、系统及设备与流程

本发明涉及通信技术领域,尤其涉及一种数据传输处理方法、装置、系统及设备。

背景技术

在客户端向服务器传输数据的过程中,会出现向目标服务器发起大量恶意请求,导致服务器带宽、内存等资源被耗尽而无法响应正常用户请求的问题。

现有技术对这类恶意请求对应的攻击流量的处理方式主要包括:通过特征过滤、限速、水印等策略,用于对攻击流量做清洗;其中,特征过滤:部分攻击流量相对正常流量存在异常的特征,通过检查并过滤异常的特征,防护攻击;限速:在攻击发生后,对源ip和目的ip的包速率做限速;水印:客户端与防护系统共用一套水印计算算法,客户端发送报文的时候,计算水印,并嵌入载荷指定的位置,防护系统接收到报文后,使用相同的计算算法计算水印,并与报文中的水印做对比,如果一致,说明该数据包是正常,做转发;如果不一致,说明该数据包非法,做拦截。但是,现有方案的清洗效果均不理想,而且容易对正常业务流量造成误杀,从而影响服务器业务。

所以需要提供一种有效的数据传输处理方法,能够防护被攻击场景,保障服务器业务不受影响。



技术实现要素:

为了解决现有技术中的问题,本发明提供了一种数据传输处理方法、装置、系统及设备,具体地:

一方面提供了一种数据传输处理方法,所述方法包括:

接收第一数据报文,并生成随机字符串;

通过在所述第一数据报文中嵌入标志位和所述随机字符串,得到第二数据报文;

发送所述第二数据报文,并获取根据所述第二数据报文中随机字符串生成的第一密钥;

将所述第一密钥,与根据本地存储的随机字符串生成的第二密钥进行验证;

根据验证结果对所述第一数据报文进行处理。

另一方面提供了一种数据传输处理装置,所述装置包括:

随机字符串生成模块,用于接收第一数据报文,并生成随机字符串;

第二数据报文获取模块,用于通过在所述第一数据报文中嵌入标志位和所述随机字符串,得到第二数据报文;

第一密钥获取模块,用于发送所述第二数据报文,并获取根据所述第二数据报文中随机字符串生成的第一密钥;

密钥验证模块,用于将所述第一密钥,与根据本地存储的随机字符串生成的第二密钥进行验证;

数据报文处理模块,用于根据验证结果对所述第一数据报文进行处理。

进一步地,所述第一密钥获取模块,包括:

验证结果获取单元,用于获取根据所述标志位对所述第二数据报文进行验证的验证结果;

第一密钥获取单元,用于在验证出所述第二数据报文为挑战报文时,获取所述随机字符串生成的第一密钥。

进一步地,所述数据报文处理模块,包括:

第一处理单元,用于在所述第一密钥与所述第二密钥验证失败时,将所述第一数据报文丢弃。

进一步地,所述数据报文处理模块,还包括:第二处理单元,

所述第二处理单元包括:

信任记录添加子单元,用于在所述第一密钥与所述第二密钥验证成功时,将所述第一数据报文对应的报文属性信息加入信任记录表中;所述报文属性信息包括源ip地址和ttl生存时间;

第一数据报文发送子单元,用于发送所述第一数据报文。

进一步地,所述随机字符串生成模块,包括:

报文属性信息获取判断单元,用于获取所述第一数据报文对应的报文属性信息,并判断所述报文属性信息是否位于信任记录表中;

第一数据报文发送单元,在检测出所述报文属性信息位于所述信任记录表中,则发送所述第一数据报文;

随机字符串生成单元,用于在检测出所述报文属性信息不位于所述信任记录表中,则生成随机字符串。

另一方面提供了一种数据传输系统,所述系统包括:检测装置、控制装置,还包括上述方面所述的数据传输装置;

所述检测装置,用于采集从客户端发送的数据包,并将采集的数据包与预设数据包阈值进行比较;

所述控制装置,用于在所述检测装置检测到采集的数据包大于预设数据包阈值时,产生告警信息;并将所述告警信息发送给所述数据传输装置。

另一方面提供了一种设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上一方面所述的数据传输处理方法。

另一方面提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上一方面所述的数据传输处理方法。

本发明提供的一种数据传输处理方法、装置、系统及设备,具有的有益效果为:

本发明通过获取到第一数据信息后,生成随机字符串;并在第一数据报文中添加标志位以及所述随机字符串,得到第二数据报文;进一步获取所述随机字符串生成的第一密钥;将所述第一密钥,与防护系统侧的随机字符串生成的第二密钥进行验证;根据验证结果对所述第一数据报文进行处理。具体地,本发明能够根据密钥验证的方式,对客户端的合法性进行判断;在判断为合法客户端的情况下,通过为所述客户端添加信任记录的形式,使所述客户端的后续数据报文能够正常发送;在判断出属于不合法客户端时,将该客户端发送的数据报文丢弃,进而实现对攻击流量的清洗,从而实现攻击的防护。可见,本发明能够有效识别客户端和攻击源,分情况对相应的数据报文进行处理,有效防护攻击,保证正常业务不受影响。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。

图1是本发明实施例提供的实施环境的示意图;

图2是本发明实施例提供的系统架构图;

图3是本发明实施例提供的一种数据传输处理方法流程图;

图4是本发明实施例提供的接收第一数据报文,并生成随机字符串步骤的流程图;

图5是本发明实施例提供的通过在所述第一数据报文中嵌入标志位和所述随机字符串,得到第二数据报文步骤的流程图;

图6(a)是本发明实施例提供的业务报文的组成示意图;

图6(b)是本发明实施例提供的挑战报文的组成示意图;

图7是本发明实施例提供的在发送所述第二数据报文,并获取根据所述第二数据报文中随机字符串生成的第一密钥步骤的流程图;

图8是本发明实施例提供的根据验证结果对所述第一数据报文进行处理步骤的流程图;

图9是本发明实施例提供的另一种数据传输处理方法流程图;

图10是本发明实施例提供的另一种数据传输处理方法对应的时序图;

图11是本发明实施例提供的一种数据传输处理装置框架图;

图12是本发明实施例提供的第二数据报文获取模块的组成示意图;

图13是本发明实施例提供的第一密钥获取模块的组成示意图;

图14是本发明实施例提供的数据报文处理模块的组成示意图;

图15是本发明实施例提供的随机字符串生成模块组成示意图;

图16是本发明实施例提供的一种数据传输系统示意图;

图17是本发明实施例的一种数据传输处理设备的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够包含在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

网络数据在传输过程中,会出现分布式拒绝服务(ddos:distributeddenialofservice)攻击的情况;具体地,所述分布式拒绝服务(ddos)攻击,是指黑客通过控制散步在互联网各处的肉鸡,同时间向目标服务器发起大量恶意请求,导致服务器带宽、内存等资源被耗尽而无法响应正常用户请求的攻击手法。

比如,分布式拒绝服务(ddos)攻击中包括有udp泛洪(udpflood)攻击,其是现网最为常见的ddos攻击类型,通过肉鸡(黑客控制的机器)向目标服务器发送大量的udp请求报文,会导致服务器接口满载,正常业务无法响应。由于udp协议是一种无连接的协议,在进行数据传输之前,源ip不必与服务器进行连接,只要服务器有一个udp的端口提供相关服务,源ip就可以针对相关服务对所述服务器极性攻击。

现有针对udpflood的防护技术,主要通过特征过滤、限速、水印等策略对攻击流量做清洗;但往往清洗效果不理想,而且容易对正常业务流量造成误杀,影响业务。所以,本发明提出了一种可以有效防护攻击的防护方案,尤其是针对udplood攻击的防护,能够简单高效地解决一直是业界难题的udplood攻击的问题。

如图1所示,其示出了本说明书实施例提供的实施环境的示意图。该实施环境包括:服务器02和与该服务器02进行信息通信的终端01。

终端01可以为手机、平板电脑、膝上型便携获取机、pad或台式获取机等等。终端01中运行有应用程序,应用程序可以是任何具有虚拟资源收发功能的应用程序;例如,终端01中运行的应用程序可以是社交应用程序、即时通信应用程序、支付类应用程序、游戏应用程序、阅读应用程序、专用于收发虚拟资源的应用程序等等。服务器02可以是一台服务器,也可以是由若干台服务器组成的服务器集群,或者是一个云获取服务中心。服务器02通过网络与终端01建立通信连接。

需要给与说明的是,本技术方案提供的数据传输处理方法,涉及到如下的系统部署架构,如图2所示,该系统架构主要包括攻击检测系统、控制系统、防护系统;对应的防护流程主要包括:

由核心路由器通过分光,把镜像流量转发到攻击检测系统,通过所述攻击检测系统对所述镜像流量做攻击检测;

在所述攻击检测系统检测到源ip受到攻击后,所述攻击检测系统会产生告警信息,并将所述告警信息发送到控制系统;

所述控制系统进一步把接收到的告警信息发送给防护系统;

在所述防护系统收到告警信息后,会根据与核心路由器建立的bgp邻居关系,向核心路由器发布被攻击的源ip的路由,将攻击流量由源ip的路由牵引到所述防护系统;

所述防护系统会对攻击流量进行分析,并根据分析结果进行过滤;最后把攻击流量清洗,并把正常流量回注,也就是防护系统将接收到的数据报文发送给服务器。

其中,图2中的正常流量为“防护系统--核心路由器--核心网关--服务器”这条路线中的数据流量,图2中的“isp(internetserviceprovider)网络--核心路由器--防护系统”这条路线中的数据流量为攻击流量和正常流量之和。

其中,对于bgp的相关内容给与说明的是,

bgp(bordergatewayprotocol)为边界网关协议,是互联网上一个核心的去中心化自治路由协议;它通过维护ip路由表或前缀表来实现自治系统(as)之间的可达性,属于矢量路由协议。其中,当一台路由器收到建立邻居的请求后,如果发现数据包的目标ip不是自己的bgp源地址,那么就拒绝该连接请求;当请求数据包的目标ip与自己的bgp源地址相同时,可以建立bgp邻居关系。

具体地,本说明书实施例提供了一种数据传输处理方法,如图3所示,所述方法可以包括:

s202.接收第一数据报文,并生成随机字符串;

本实施例通过防护系统对攻击流量进行分析;详细地,在客户端发送数据报文(本实施例中的第一数据报文)时,基于所述防护系统位于所述客户端与服务器之间,使得所述防护系统接收到所述客户端发送的数据报文。

比如,玩家进行游戏过程中,每个操作指令都会通过数据报文的形式与服务器进行交互;而当游戏中途,针对服务器的ddos攻击发生时,防护系统即启动防护流程。此时客户端发送的数据报文(防护流程中的第一个数据报文),被防护系统接收到,进行数据分析。

一种具体的实施方式中,步骤s202接收第一数据报文,并生成随机字符串,如图4所示,可以包括:

s402.获取所述第一数据报文对应的报文属性信息,并判断所述报文属性信息是否位于信任记录表中;

具体地,防护系统在获取到第一数据报文时,同时能够获取到发送所述第一数据报文的客户端的报文属性信息,其中所述报文属性信息包括源ip地址和ttl生存时间。

其中,源ip地址和ttl生存时间在信任验证成功后,存储在防护系统的信任记录表中,也就是说所述信任记录表中包括源ip、ttl;在信任记录表中,每个源ip都绑定唯一一个ttl,配对成为一组信息。例如:

ip:123.23.42.13ttl:53

ip:123.23.42.123ttl:102

s404.在检测出所述报文属性信息位于所述信任记录表中,则发送所述第一数据报文;

其中,在防护系统检测出该第一数据报文的报文属性信息位于所述信任记录表中,则所述该第一数据报文具有信任记录,对应的客户端属于合法客户端,可以将接收到的数据报文正常的发送,所以,该第一数据报文可以转发至服务器。

s406.在检测出所述报文属性信息不位于所述信任记录表中,则生成随机字符串。

其中,在检测出所述报文属性信息并没有位于所述信任列表中,则说明所述第一数据报文的源ip地址和ttl不具有信任记录,也就是还未经过信任验证;此时,生成随机字符串,将所述第一数据报文进行之后的信任记录的验证。

具体地,检测所述报文属性信息是否位于所述信任记录表,可以包括:

判断所述源ip地址和ttl生存时间是否位于信任记录表中;

在检测出所述源ip地址和ttl生存时间位于所述信任记录表中,若是,则所述源ip地址为具有信任记录的源ip地址,说明,该源ip之前已经经过源ip挑战算法的验证,属于合法源;同时,所述ttl生存时间为具有信任记录的ttl;则说明客户端属于合法客户端;此时,客户端发出的第一数据报文就正常地通过防护系统的转发,发送至服务器。

在检测出该源ip没有存在所述信任记录表中,说明所述源ip不具有信任记录,也就是,该源ip还未经过验证;此时,将所述第一数据报文进行之后的信任记录的验证。

其中,不同的操作系统的默认ttl值不同,可以通过返回的ttl值判断对应系统的类型;下面举例给出不同操作系统对应的不同的ttl值:

ttl=32windows9x/me

ttl=64linux

ttl=128windows200x/xp

ttl=255unix

需要给与说明的是,本实施例中的源ip和ttl都是报文里面的字段,其中,源ip和ttl的验证可以在源ip验证之后进一步对ttl进行验证;也可以将所述源ip和ttl一并验证。本实施例中的验证,就是判断源ip对应的字段和ttl对应的字段,跟记录保存的已验证的信任信息是否匹配。

进一步地,本实施例中所述防护系统自动生成随机字符串,并且,记录所述第一数据报文对应的源端口、目的端口、源ip、目的ip、协议(比如udp用户数据报协议),以及所述随机字符串的信息。

其中,本实施例中可以是通过如下方法生成随机字符串,一般生成一个20字节的随机字符串。

随机字符串生成方法:

publicstaticstringgetrandomstring(intlength){

//1.定义一个字符串(a-z,a-z,0-9)即62个数字字母;

string

str="zxcvbnmlkjhgfdsaqwertyuiopqwertyuiopasdfghjklzxcvbnm1234567890";

//2.由random生成随机数

randomrandom=newrandom();

stringbuffersb=newstringbuffer();

//3.长度为几就循环几次

for(inti=0;i<length;++i){

//4.从62个的数字或字母中选择

intnumber=random.nextint(62);

//5.将产生的数字通过length次承载到sb中

sb.append(str.charat(number));

}

//6.将承载的字符转换成字符串

returnsb.tostring();

}

publicstaticvoidmain(string[]args){

//这里的20是生成20位随机码,可以根据需求自定义

stringrandom1=getrandomstring(20);

system.out.println(random1);

}

s204.通过在所述第一数据报文中嵌入标志位和所述随机字符串,得到第二数据报文;

进一步地,在记录上述信息之后,防护系统伪造服务器ip,向客户端发送数据报文,其中该伪造的数据报文(本实施例中的第二数据报文)为在第一数据报文中添加标志位信息以及添加上述生成的随机字符串的信息得到的,属于一个反向探测报文。

具体地,步骤s204通过在所述第一数据报文中嵌入标志位和所述随机字符串,得到第二数据报文,如图5所示,可以包括:

s602.在所述第一数据报文的载荷的第一个字节嵌入所述标志位;

s604.在所述标志位之后添加所述随机字符串,得到所述第二数据报文;

所述第二数据报文可以包括“upd头、标志位、随机字符串、载荷”。在所述标志位为第一数值时,所述第二数据报文为挑战报文;在所述标志位为第二数值时,所述第二数据报文为业务报文;所述第一数值与第二数值不同。

其中,所述标志位为一个字节,标志位对应的数值可以是0x00~0xff的任意一个值;比如可以设置所述第一数值为1(十六进制的01),设置所述第二数值为0(十六进制的00);通过1和0的区分进行业务报文和挑战报文的区分判断;若判断出标志位为1,则说明所述第二数据报文为挑战报文;若判断出标志位为0,则说明所述第二数据报文为业务报文。

需要给与说明的是,本说明书提供的数据传输方法涉及到客户端和服务器的逻辑改造;具体地:

(1)服务器逻辑改造:

业务下行流量(服务器发往客户端的方向),在载荷的第一个字节嵌入标志位,通过所述标志位以使客户端判断该流量对应的是业务报文还是挑战报文。

其中,所述业务报文为服务器给客户端发送的承载业务的报文;所述挑战报文为防护系统给客户端发送的用于防护的报文。

(2)客户端逻辑改造:

客户端在接收到服务器或者防护系统返回的报文时,会对载荷中的第一个字节(标志位)做检查;以数据报文为udp报文为例:

如图6(a)所示,如果接收到的报文标志位是置0的(此时标志位后面为业务数据),则判断该报文为业务报文;对应地,所述防护系统是将所述业务报文返回给客户端;

如图6(b)所示,如果接收到的报文标志位是置1的(此时标志位后面为随机字符串),则判断该报文为挑战报文;对应地,所述防护系统是将所述挑战报文返回给客户端。

s206.发送所述第二数据报文,并获取根据所述第二数据报文中随机字符串生成的第一密钥;

一种具体的实施方式中,步骤s206发送所述第二数据报文,并获取根据所述第二数据报文中随机字符串生成的第一密钥,如图7所示,可以包括:

s802.获取根据所述标志位对所述第二数据报文进行验证的验证结果;

s804.在验证出所述第二数据报文为挑战报文时,获取所述随机字符串生成的第一密钥。

其中,防护系统将第二数据报文发送给客户端,在客户端收到所述第二数据报文之后,根据标志位(比如0还是1)对所述第二数据报文进行判断,在判断出所述第二数据报文为挑战报文时,所述客户端会读取挑战报文中的随机字符串,根据所述随机字符串生成第一密钥,并将所述第一密钥发送给防护系统。

具体地,本实施例中可以通过目的ip、目的端口、随机字符串三者作为计算因子,利用加密算法计算得到所述第一密钥;根据经验一般得到4个字节的第一密钥。

s208.将所述第一密钥,与根据本地存储的随机字符串生成的第二密钥进行验证;

其中,所述防护系统的本地记录有生成的随机字符串的信息,通过相同的算法将本地记录的随机字符串生成第二密钥;进一步地,将获取到的第一密钥与第二密钥进行比对验证,用于判断对应的源ip是否合法,并根据验证的结果进行对应数据报文的处理。

s210.根据验证结果对所述第一数据报文进行处理。

一种具体地实施方式中,步骤s210根据验证结果对所述第一数据报文进行处理,如图8所示,可以包括:

s1002.在所述第一密钥与所述第二密钥验证失败时,将所述第一数据报文丢弃;

具体地,如果密钥验证失败,则说明发送该数据报文的客户端的源ip为不合法客户端;收到的数据报文并非正常的业务报文,而是属于攻击报文;其中,由于攻击者控制的肉鸡(黑客控制的机器)并非合法客户端,无法通过挑战算法的验证;所以肉鸡发出来的报文会被防护系统拦截;之后经所述防护系统将该对应的数据报文丢弃,也就是攻击流量被防护系统清洗,实现攻击的防护。

还可以包括:

s1004.在所述第一密钥与所述第二密钥验证成功时,将所述第一数据报文对应的报文属性信息加入信任记录表中;所述报文属性信息包括源ip地址和ttl生存时间。

具体地,在密钥验证成功之后,则说明对应的客户端为合法的客户端,此时所述第一数据报文能够被正常发送;对应的源ip和ttl都被加入信任。

其中,在客户端合法性验证的过程中,不仅借助源ip的验证,同时利用ttl的验证,这能够避免由于攻击者随机伪造源ip发起攻击时,伪造的源ip刚好命中信任的源ip,导致攻击流量透传的问题。

在源ip和ttl加入信任之后,对应的客户端再次发送数据报文时,防护系统根据接收的数据报文,检查得到源ip和对应的ttl已经加入信任记录,则此时,该数据报文可以直接转发。

需要给与说明的是,本实施例中客户端对应的源ip地址和ttl等同于对应终端的源ip地址和ttl生存时间;具体地,源ip为地址,数据向外发送时发送机器本身的ip地址,也成为逻辑地址;ttl生存时间,使用“跳数“作为ttl的单位;数据报文每经历一个路由器时对应的ttl值就会减1。

本实施例中,客户端第一次发数据包(或是数据报文)的时候,防护系统在接收到该数据包之后,给所述客户端反弹一个挑战包(新的数据报文),让客户端去按既定流程对挑战包验证一遍;同时把客户端的源ip和ttl记录保存下来。那么,如果验证通过(添加信任),只要接收到的数据包的源ip和ttl是该客户端的,防护系统就可以直接将接收到的数据包转发到服务器上。如果验证不通过,说明该数据包对应的客户端不能信任,丢弃该数据包。

本发明实施例提供的数据传输处理方法,能够通过设置标志位,对数据报文进行检查,判断出业务报文还是挑战报文;并进一步通过密钥的验证方式,判断所述源ip是否合法,成功实现对源ip的挑战;进而可以有效防护伪造源ip、正常报文重放(黑客把获取的正常业务报文重放给服务器(大量发包))等攻击场景;从而有效防护现网的攻击,保障服务器业务不受影响。

本说明书实施例提供了一种数据传输处理方法,如图9-10所示,所述方法可以包括:

s1202.防护系统在接收到客户端的数据报文时,检查该发送该数据报文的源ip和ttl是否已经有信任记录;

如果有记录,说明该源ip之前已经经过源ip挑战算法的验证,属于合法源,则客户端将该数据报文正常转发至服务器;

如果没有记录,说明该源ip还未经过验证,进入步骤s1004;

s1204.防护系统自动生成随机字符串,并记录源端口、目的端口、源ip、目的ip、协议和随机字符串信息;

其中,所述协议比如说udp(userdatagramprotocol)用户数据报协议。

s1006.记录上述信息后,防护系统伪造服务器ip向客户端发送新的数据报文:对源ip的合法性做挑战;

其中,新的数据报文为伪造的数据报文,其中该数据报文中包括标志位和所述随机字符串;

s1208.客户端收到新的数据报文后,检查该数据报文载荷中的标志位,判断所述标志位是否为第一数值;

若为第一数值,则可以判断出该数据报文是防护系统返回的挑战报文;此时:

s1210.客户端读取所述随机字符串,并根据加密算法计算生成第一密钥;

s1212.客户端把计算后的第一密钥发送给防护系统;

s1214.防护系统接收到客户端发送过来的第一密钥后,根据步骤s1004记录的信息,利用记录的信息按照算法计算出第二密钥;并且与客户端发送过来的第一密钥做比对;

s1216.如果第一密钥与第二密钥一致,则判断出源ip合法;作为一种可选的实施方式,可以对对应的ttl同时或是进一步进行验证,在验证通过时,将该源ip和ttl加入信任,后续对应客户端发送的报文正常被转发。如果第一密钥与第二密钥不一致,则把该数据报文丢弃;

s1218:客户端再次发送业务报文,此时防护系统检查信任记录,若客户端对应的源ip和ttl已经加入信任记录表,则这个源ip和ttl对应客户端的报文直接正常转发。

需要给与说明的是,信任关系是这样一种情形,如果主体能够符合客体所假定的期望值,那么称客体对主体是信任的;在本实施例中,源ip加入信任,则源ip对应的客户端与服务器建立了信任关系,所述客户端相对于服务器来说可以被信任。

本发明实施例能够通过防护系统对源ip发送挑战报文进行挑战,通过密钥验证的方式判断源ip是否为合法的客户端,如果是合法客户端,则成功经过挑战验证;还可以同时或进一步对客户端对应的ttl进行验证,在验证通过之后,将该源ip和ttl加入信任记录表,后续报文转发的正常业务都不受影响。如果是攻击报文,由于攻击者控制的肉鸡并非客户端,所以无法经过挑战算法验证,攻击流量被防护系统清洗,实现攻击的防护;特别是udpflood(用户数据报协议泛洪)攻击的防护。

本说明书实施例提供了一种数据传输处理装置,如图11所示,所述装置包括:

随机字符串生成模块202,用于接收第一数据报文,并生成随机字符串;

第二数据报文获取模块204,用于通过在所述第一数据报文中嵌入标志位和所述随机字符串,得到第二数据报文;

第一密钥获取模块206,用于发送所述第二数据报文,并获取根据所述第二数据报文中随机字符串生成的第一密钥;

密钥验证模块208,用于将所述第一密钥,与根据本地存储的随机字符串生成的第二密钥进行验证;

数据报文处理模块210,用于根据验证结果对所述第一数据报文进行处理。

一种可行的实施方式中,所述第二数据报文获取模块204,如图12所示,可以包括:

标志位嵌入单元402,用于在所述第一数据报文的载荷的第一个字节嵌入所述标志位;

随机字符串添加单元404,用于在所述标志位之后添加所述随机字符串,得到所述第二数据报文;

其中,在所述标志位为第一数值时,所述第二数据报文为挑战报文;

在所述标志位为第二数值时,所述第二数据报文为业务报文。

一种可行的实施方式中,所述第一密钥获取模块206,如图13所示,可以包括:

验证结果获取单元602,用于获取根据所述标志位对所述第二数据报文进行验证的验证结果;

第一密钥获取单元604,用于在验证出所述第二数据报文为挑战报文时,获取所述随机字符串生成的第一密钥。

一种可行的实施方式中,所述数据报文处理模块210,如图14所示,可以包括:

所述第一处理单元802,用于在所述第一密钥与所述第二密钥验证失败时,将所述第一数据报文丢弃;

所述数据报文处理模块210,还可以包括第二处理单元804

所述第二处理单元804,包括信任记录添加子单元1002,用于在所述第一密钥与所述第二密钥验证成功时,将所述第一数据报文对应的报文属性信息加入信任记录表中;所述报文属性信息包括源ip地址和ttl生存时间;

第一数据报文发送子单元1004,用于发送所述第一数据报文。

一种可行的实施方式中,所述随机字符串生成模块202,如图15所示,可以包括:

1202报文属性信息获取判断单元,用于获取所述第一数据报文对应的报文属性信息,并判断所述报文属性信息是否位于信任记录表中;

1204第一数据报文发送单元,在检测出所述报文属性信息位于所述信任记录表中,则发送所述第一数据报文;

1206随机字符串生成单元,用于在检测出所述报文属性信息不位于所述信任记录表中,则生成随机字符串。

需要说明的是,装置实施例具有与方法实施例相同的发明构思。

本说明书实施例提供了一种数据传输系统,所述系统包括:如图16所示,检测装置、控制装置,还包括上述装置实施例所述的数据传输装置;

所述检测装置,用于采集从客户端发送的数据包,并将采集的数据包与预设数据包阈值进行比较;

所述控制装置,用于在所述检测装置检测到采集的数据包大于预设数据包阈值时,产生告警信息;并将所述告警信息发送给所述数据传输装置。

本说明书实施例提供了一种设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述方法实施例任一所述的数据传输处理方法。

具体地,本说明书实施例还提供了一种数据传输处理设备的示意图,请参考图17。该设备用于实施上述实施例中提供的数据传输处理方法。具体来讲:

所述服务器2000包括中央处理单元(cpu)2001、包括随机存取存储器(ram)2002和只读存储器(rom)2003的系统存储器2004,以及连接系统存储器2004和中央处理单元2001的系统总线2005。所述服务器2000还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(i/o系统)2006,和用于存储操作系统2013、应用程序2014和其他程序模块2015的大容量存储设备2007。

所述基本输入/输出系统2006包括有用于显示信息的显示器2008和用于用户输入信息的诸如鼠标、键盘之类的输入设备2009。其中所述显示器2008和输入设备2009都通过连接到系统总线2005的输入输出控制器2010连接到中央处理单元2001。所述基本输入/输出系统2006还可以包括输入输出控制器2010以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器2010还提供输出到显示屏、打印机或其他类型的输出设备。

所述大容量存储设备2007通过连接到系统总线2005的大容量存储控制器(未示出)连接到中央处理单元2001。所述大容量存储设备2007及其相关联的计算机可读介质为服务器2000提供非易失性存储。也就是说,所述大容量存储设备2007可以包括诸如硬盘或者cd-rom驱动器之类的计算机可读介质(未示出)。

不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、eprom、eeprom、闪存或其他固态存储其技术,cd-rom、dvd或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器2004和大容量存储设备2007可以统称为存储器。

根据本发明的各种实施例,所述服务器2000还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器2000可以通过连接在所述系统总线2005上的网络接口单元2011连接到网络2012,或者说,也可以使用网络接口单元2011来连接到其他类型的网络或远程计算机系统(未示出)。

所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行;上述一个或者一个以上程序包含用于执行上述后台服务器侧的方法的指令,所述指令用于执行:

接收第一数据报文,并生成随机字符串;

通过在所述第一数据报文中嵌入标志位和所述随机字符串,得到第二数据报文;

发送所述第二数据报文,并获取根据所述第二数据报文中随机字符串生成的第一密钥;

将所述第一密钥,与根据本地存储的随机字符串生成的第二密钥进行验证;

根据验证结果对所述第一数据报文进行处理。

一种可行的实施方式,所述通过在所述第一数据报文中嵌入标志位和所述随机字符串,得到第二数据报文,包括:

在所述第一数据报文的载荷的第一个字节嵌入所述标志位;

在所述标志位之后添加所述随机字符串,得到所述第二数据报文;

其中,在所述标志位为第一数值时,所述第二数据报文为挑战报文;

在所述标志位为第二数值时,所述第二数据报文为业务报文。

一种可行的实施方式,所述发送所述第二数据报文,之后包括:

获取根据所述标志位对所述第二数据报文进行验证的验证结果;

在验证出所述第二数据报文为挑战报文时,获取所述随机字符串生成的第一密钥。

一种可行的实施方式,所述根据验证结果对所述第一数据报文进行处理,包括:

在所述第一密钥与所述第二密钥验证失败时,将所述第一数据报文丢弃。

一种可行的实施方式,所述根据验证结果对所述第一数据报文进行处理,还包括:

在所述第一密钥与所述第二密钥验证成功时,将所述第一数据报文对应的报文属性信息加入信任记录表中;所述报文属性信息包括源ip地址和ttl生存时间;

发送所述第一数据报文。

一种可行的实施方式,所述接收第一数据报文,并生成随机字符串,包括:

获取所述第一数据报文对应的报文属性信息,并判断所述报文属性信息是否位于信任记录表中;

在检测出所述报文属性信息位于所述信任记录表中,则发送所述第一数据报文;

在检测出所述报文属性信息不位于所述信任记录表中,则生成随机字符串。

本说明书实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述方法实施例任一所述的数据传输处理方法;具体地,可以包括:

接收第一数据报文,并生成随机字符串;

通过在所述第一数据报文中嵌入标志位和所述随机字符串,得到第二数据报文;

发送所述第二数据报文,并获取根据所述第二数据报文中随机字符串生成的第一密钥;

将所述第一密钥,与根据本地存储的随机字符串生成的第二密钥进行验证;

根据验证结果对所述第一数据报文进行处理。

一种可行的实施方式,所述通过在所述第一数据报文中嵌入标志位和所述随机字符串,得到第二数据报文,包括:

在所述第一数据报文的载荷的第一个字节嵌入所述标志位;

在所述标志位之后添加所述随机字符串,得到所述第二数据报文;

其中,在所述标志位为第一数值时,所述第二数据报文为挑战报文;

在所述标志位为第二数值时,所述第二数据报文为业务报文。

一种可行的实施方式,所述发送所述第二数据报文,之后包括:

获取根据所述标志位对所述第二数据报文进行验证的验证结果;

在验证出所述第二数据报文为挑战报文时,获取所述随机字符串生成的第一密钥。

一种可行的实施方式,所述根据验证结果对所述第一数据报文进行处理,包括:

在所述第一密钥与所述第二密钥验证失败时,将所述第一数据报文丢弃。

一种可行的实施方式,所述根据验证结果对所述第一数据报文进行处理,还包括:

在所述第一密钥与所述第二密钥验证成功时,将所述第一数据报文对应的报文属性信息加入信任记录表中;所述报文属性信息包括源ip地址和ttl生存时间;

发送所述第一数据报文。

一种可行的实施方式,所述接收第一数据报文,并生成随机字符串,包括:

获取所述第一数据报文对应的报文属性信息,并判断所述报文属性信息是否位于信任记录表中;

在检测出所述报文属性信息位于所述信任记录表中,则发送所述第一数据报文;

在检测出所述报文属性信息不位于所述信任记录表中,则生成随机字符串。

可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络设备中的至少一个网络设备。可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是:上述本说明书实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1