数据处理方法及设备与流程

文档序号:24046733发布日期:2021-02-23 19:04阅读:94来源:国知局
数据处理方法及设备与流程

[0001]
本发明涉及计算机领域,尤其涉及数据处理方法及设备。


背景技术:

[0002]
分布式拒绝服务(ddos,distributed denial of service)攻击是破坏网络可用性的顽疾,其主要包括drdos攻击和泛洪(flooding)两种攻击类型。drdos攻击成本极低,攻击能力极强,单次攻击流量可能被作为反射器的公共服务器放大至几十倍甚至十几万倍,使得drdos攻击成为入侵者的惯用攻击手段;目前,drdos攻击事件在ddos攻击事件中的占比,已经高于flooding攻击事件在ddos攻击事件中的占比。
[0003]
以drdos攻击为例,入侵者可能通过其控制的受控设备,将目标设备的互联网协议(ip,internet protocol)地址作为源ip地址,向大量分布式部署的反射器分别发送数据量相对较小的服务请求,使得每个反射器以目标设备的ip地址作为目的ip地址,向目标设备发送数据量相对较大的数据包。如此,大量数据量相对较大的数据包汇聚到目标设备而挤占目标设备的资源,影响目标设备所能提供的服务,形成分布式反射拒绝服务(drdos,distributed reflection denial of service)攻击。
[0004]
常规的ddos攻击防御方案,无法快速的针对指向目标设备的数据包的合法性进行确定,导致并非用于攻击目标设备的合法数据包无法及时到达甚至无法到达目标设备。有鉴于此,希望能够改进的方案,以期实现更为快速的确定数据包的合法性。


技术实现要素:

[0005]
本申请实施例提供了一种数据处理方法及设备,可实现在网络设备中快速确定数据包的合法性。
[0006]
本申请实施例至少提供了如下技术方案:
[0007]
第一方面,提供了一种数据处理方法,应用于网络设备,所述方法包括:
[0008]
接收第一数据包;其中,所述第一数据包包括源ip地址和第一验证码;
[0009]
获取第一密钥;
[0010]
根据所述源ip地址和所述第一密钥生成第二验证码;
[0011]
如果所述第二验证码和所述第一验证码相同,则确定所述第一数据包合法。
[0012]
在一种可能的实施方式中,
[0013]
所述第一数据包还包括第一设备的位置定位符;
[0014]
所述方法还包括:如果所述第一数据包合法,则根据所述位置定位符,向所述第一设备发送所述第一数据包。
[0015]
在一种可能的实施方式中,所述第一数据包还包括服务标识符。
[0016]
在一种可能的实施方式中,所述根据所述源ip地址和所述第一密钥生成第二验证码,包括:根据所述源ip地址、所述第一密钥,以及位置定位符、服务标识符、第一动态参数中的任意一项或多项,生成所述第二验证码。
[0017]
在一种可能的实施方式中,所述第一验证码位于所述第一数据包包括的网络层协议头部中。
[0018]
在一种可能的实施方式中,所述第一验证码位于所述第一数据包包括的目的ip地址中。
[0019]
在一种可能的实施方式中,所述第一数据包还包括位置定位符和服务标识符,所述位置定位符、所述服务标识符位于所述目的ip地址中。
[0020]
在一种可能的实施方式中,所述网络层协议头部包括互联网协议第六版(ipv6,internet protocol version 6)头部,所述第一验证码位于所述ipv6头部的扩展头部中。
[0021]
在一种可能的实施方式中,所述第一验证码位于所述第一数据包包括的传输层协议头部中。
[0022]
在一种可能的实施方式中,所述传输层协议头部包括传输控制协议(tcp,transmission control protocol)头部,所述第一验证码位于所述tcp头部的可选字段中。
[0023]
在一种可能的实施方式中,
[0024]
所述第一数据包还包括位置定位符;
[0025]
所述获取第一密钥,包括:根据所述位置定位符获取所述第一密钥。
[0026]
在一种可能的实施方式中,
[0027]
在所述根据所述位置定位符获取所述第一密钥之前,所述方法还包括:接收第一密钥分配信息,所述第一密钥分配信息包括所述位置定位符和所述第一密钥;
[0028]
所述根据所述位置定位符获取所述第一密钥,包括:根据所述位置定位符,从所述第一密钥分配信息中提取所述第一密钥。
[0029]
在一种可能的实施方式中,
[0030]
所述第一数据包还包括服务标识符;
[0031]
在所述根据所述位置定位符获取所述第一密钥之前,所述方法还包括:接收第二密钥分配信息,所述第二密钥分配信息包括所述位置定位符和第二密钥;
[0032]
所述根据所述位置定位符获取所述第一密钥,包括:
[0033]
根据所述位置定位符,从所述第二密钥分配信息中提取所述第二密钥;
[0034]
根据所述第二密钥和所述服务标识符,计算所述第一密钥。
[0035]
在一种可能的实施方式中,在所述获取第一密钥之前,所述方法还包括:检测所述第一数据包是否是响应数据包;
[0036]
如果所述第一数据包是响应数据包,则确定。
[0037]
在一种可能的实施方式中,在所述第一数据包是响应数据包的情况下,所述方法还包括:确定单位时间内接收的、来自所述源ip地址对应的第二设备的数据包的数量;
[0038]
如果所述数量不小于第一预设阈值,则将所述源ip地址标记为不可信ip地址。
[0039]
在一种可能的实施方式中,在所述第一数据包是响应数据包的情况下,所述方法还包括:确定单元时间内接收的、来自所述源ip地址对应的第二设备的数据包的数据总量;
[0040]
如果所述数据总量不小于第二预设阈值,则将所述源ip地址标记为不可信ip地址。
[0041]
在一种可能的实施方式中,在所述根据所述位置定位符,向所述第一设备发送所述第一数据包之前,所述方法还包括:
[0042]
确定标记的各个不可信地址中是否包括所述源ip地址;
[0043]
如果各个不可信地址中未包括所述源ip地址,则确定。
[0044]
第二方面,提供了一种数据处理方法,应用于第一设备,所述方法包括:
[0045]
生成第二数据包;其中,所述第二数据包包括目的ip地址和第一验证码,所述第一验证码由所述第一设备根据所述目的ip地址和第一密钥生成;
[0046]
发送所述第二数据包。
[0047]
在一种可能的实施方式中,所述第一验证码由所述第一设备根据所述目的ip地址、所述第一密钥,以及位置定位符、服务标识符、第二动态参数中的任意一项或多项生成。
[0048]
在一种可能的实施方式中,所述第一验证码位于所述第二数据包包含的网络层协议头部中。
[0049]
在一种可能的实施方式中,所述第一验证码位于所述第二数据包包含的源ip地址中。
[0050]
在一种可能的实施方式中,所述第二数据包还包括位置定位符和服务标识符,所述位置定位符、所述服务标识符位于所述源ip地址中。
[0051]
在一种可能的实施方式中,所述网络层协议头部包括ipv6头部,所述第一验证码位于所述ipv6头部的扩展头部中。
[0052]
在一种可能的实施方式中,所述第一验证码位于所述第二数据包包含的传输层协议头部中。
[0053]
在一种可能的实施方式中,所述传输层协议头部包括tcp头部,所述第一验证码位于所述tcp头部的可选字段中。
[0054]
在一种可能的实施方式中,
[0055]
所述第二数据包还包括位置定位符;
[0056]
所述方法还包括:向网络设备发送第一密钥分配信息,所述第一密钥分配信息包括所述位置定位符和所述第一密钥。
[0057]
在一种可能的实施方式中,
[0058]
所述第二数据包还包括服务标识符;
[0059]
所述第一密钥由所述第一设备根据所述服务标识符和第二密钥生成。
[0060]
在一种可能的实施方式中,所述方法还包括:向网络设备发送第二密钥分配信息,所述第二密钥分配信息包括所述位置定位符和所述第二密钥。
[0061]
第三方面,提供了一种数据处理方法,应用于第二设备,包括:
[0062]
接收第二数据包;其中,所述第二数据包包括所述第二设备的ip地址和第一验证码,所述第一验证码由发送所述第二数据包的第一设备根据所述第二设备的ip地址和第一密钥生成,并且用于网络设备对所述第二设备发送的第一数据包的合法性进行验证;
[0063]
生成第一数据包;其中,所述第一数据包包括源ip地址和所述第一验证码,所述源ip地址为所述第二设备的ip地址;
[0064]
向所述第一设备发送所述第一数据包。
[0065]
在一种可能的实施方式中,所述第一验证码位于所述第一数据包包括的网络层协议头部中或传输层协议头部中。
[0066]
在一种可能的实施方式中,所述第一数据包还包括位置定位符和服务标识符;
[0067]
所述位置定位符、所述服务标识符和第一验证码位于所述第一数据包包括的目的ip地址中。
[0068]
在一种可能的实施方式中,所述网络层协议头部包括互联网协议第六版ipv6头部,所述第一验证码位于所述ipv6头部的扩展头部中。
[0069]
第四方面,提供了一种网络设备,所述网络设备包括:
[0070]
第一接口单元,用于接收第一数据包;其中,所述第一数据包包括源ip地址和第一验证码;
[0071]
处理单元,用于获取第一密钥;根据所述源ip地址和所述第一密钥生成第二验证码;以及,如果所述第二验证码和所述第一验证码相同,则确定所述第一数据包合法。
[0072]
在一种可能的实施方式中,
[0073]
所述网络设备还包括第二接口单元;
[0074]
所述第一数据包还包括第一设备的位置定位符;
[0075]
所述处理单元,还用于在所述第一数据包合法的情况,触发所述第二接口单元;
[0076]
所述第二接口单元,用于在所述处理单元的触发下,根据所述位置定位符,向所述第一设备发送所述第一数据包。
[0077]
在一种可能的实施方式中,所述第一数据包还包括服务标识符。
[0078]
在一种可能的实施方式中,所述处理单元,具体用于根据所述源ip地址、所述第一密钥,以及位置定位符、服务标识符、第一动态参数中的任意一项或多项,生成所述第二验证码。
[0079]
在一种可能的实施方式中,所述第一验证码位于所述第一数据包包括的网络层协议头部中。
[0080]
在一种可能的实施方式中,所述第一验证码位于所述第一数据包包括的目的ip地址中。
[0081]
在一种可能的实施方式中,所述第一数据包还包括位置定位符和服务标识符,所述位置定位符、所述服务标识符位于所述目的ip地址中。
[0082]
在一种可能的实施方式中,所述网络层协议头部包括ipv6头部,所述第一验证码位于所述ipv6头部的扩展头部中。
[0083]
在一种可能的实施方式中,所述第一验证码位于所述第一数据包包括的传输层协议头部中。
[0084]
在一种可能的实施方式中,所述传输层协议头部包括tcp头部,所述第一验证码位于所述tcp头部的可选字段中。
[0085]
在一种可能的实施方式中,
[0086]
所述第一数据包还包括位置定位符;
[0087]
所述处理单元,具体用于根据所述位置定位符获取所述第一密钥。
[0088]
在一种可能的实施方式中,
[0089]
所述网络设备还包括第二接口单元,用于接收第一密钥分配信息,所述第一密钥分配信息包括所述位置定位符和所述第一密钥;
[0090]
所述处理单元,具体用于根据所述位置定位符,从所述第一密钥分配信息中提取所述第一密钥。
[0091]
在一种可能的实施方式中,
[0092]
所述第一数据包还包括服务标识符;
[0093]
所述网络设备还包括第二接口单元,用于接收第二密钥分配信息,所述第二密钥分配信息包括所述位置定位符和第二密钥;
[0094]
所述处理单元,具体用于根据所述位置定位符,从所述第二密钥分配信息中提取所述第二密钥;以及根据所述第二密钥和所述服务标识符,计算所述第一密钥。
[0095]
在一种可能的实施方式中,
[0096]
所处处理单元,还用于检测所述第一数据包是否是响应数据包;如果所述第一数据包是响应数据包,则确定。
[0097]
在一种可能的实施方式中,
[0098]
所述处理单元,还用于确定单位时间内接收的、来自所述源ip地址对应的第二设备的数据包的数量;如果所述数量不小于第一预设阈值,则将所述源ip地址标记为不可信ip地址。
[0099]
在一种可能的实施方式中,所述方法还包括:
[0100]
所述处理单元,还用于确定单元时间内接收的、来自所述源ip地址对应的第二设备的数据包的数据总量;如果所述数据总量不小于第二预设阈值,则将所述源ip地址标记为不可信ip地址。
[0101]
在一种可能的实施方式中,所述处理单元,还用于确定标记的各个不可信地址中是否包括所述源ip地址;如果各个不可信地址中未包括所述源ip地址,则触发所述第二接口单元。
[0102]
第五方面,提供了一种第一设备,所述第一设备包括:
[0103]
处理单元,用于生成第二数据包;其中,所述第二数据包包括目的ip地址和第一验证码,所述第一验证码由所述第一设备根据所述目的ip地址和第一密钥生成;
[0104]
接口单元,用于发送所述第二数据包。
[0105]
在一种可能的实施方式中,所述第一验证码由所述处理单元根据所述目的ip地址、所述第一密钥,以及位置定位符、服务标识符、第二动态参数中的任意一项或多项生成。
[0106]
在一种可能的实施方式中,所述第一验证码位于所述第二数据包包含的网络层协议头部中。
[0107]
在一种可能的实施方式中,所述第一验证码位于所述第二数据包包含的源ip地址中。
[0108]
在一种可能的实施方式中,所述第二数据包还包括位置定位符和服务标识符,所述位置定位符、所述服务标识符位于所述源ip地址中。
[0109]
在一种可能的实施方式中,所述网络层协议头部包括ipv6头部,所述第一验证码位于所述ipv6头部的扩展头部中。
[0110]
在一种可能的实施方式中,所述第一验证码位于所述第二数据包包含的传输层协议头部中。
[0111]
在一种可能的实施方式中,所述传输层协议头部包括tcp头部,所述第一验证码位于所述tcp头部的可选字段中。
[0112]
在一种可能的实施方式中,
[0113]
所述第二数据包还包括位置定位符;
[0114]
所述接口单元,还用于向网络设备发送第一密钥分配信息,所述第一密钥分配信息包括所述位置定位符和所述第一密钥。
[0115]
在一种可能的实施方式中,
[0116]
所述第二数据包还包括服务标识符;
[0117]
所述第一密钥由所述处理单元根据所述服务标识符和第二密钥生成。
[0118]
在一种可能的实施方式中,
[0119]
所述接口单元,还用于向网络设备发送第二密钥分配信息,所述第二密钥分配信息包括所述位置定位符和所述第二密钥。
[0120]
第六方面,提供了一种第二设备,所述第二设备包括:
[0121]
接口单元,用于接收第二数据包;其中,所述第二数据包所述第二设备的ip地址和第一验证码,所述第一验证码由发送所述第二数据包的第一设备根据所述第二设备的ip地址和第一密钥生成,并且用于网络设备对所述第二设备发送的第一数据包的合法性进行验证;
[0122]
处理单元,用于生成第一数据包;其中,所述第一数据包包括源ip地址和所述第一验证码,所述源ip地址为所述第二设备的ip地址;
[0123]
所述接口单元,还用于向所述第一设备发送所述第一数据包。
[0124]
在一种可能的实施方式中,
[0125]
所述第一验证码位于所述第一数据包包括的网络层协议头部中或传输层协议头部中。
[0126]
在一种可能的实施方式中,所述第一验证码位于所述第一数据包包括的目的ip地址中。
[0127]
在一种可能的实施方式中,所述第一数据包还包括位置定位符和服务标识符,所述位置定位符、所述服务标识符位于所述目的ip地址中。
[0128]
在一种可能的实施方式中,所述网络层协议头部包括ipv6头部,所述第一验证码位于所述ipv6头部的扩展头部中。
[0129]
第七方面,提供了一种网络设备,所述网络设备包括:收发器、存储器和处理器,所述存储器存储有一个或多个程序,所述一个或多个程序包括指令,当所述指令被所述网络设备执行时,使得所述网络设备执行如第一方面中任一项所述的方法。
[0130]
第八方面,提供了一种第一设备,所述第一设备包括:收发器、存储器和处理器,所述存储器存储有一个或多个程序,所述一个或多个程序包括指令,当所述指令被所述第一设备执行时,使得所述第一设备执行如第二方面中任一项所述的方法。
[0131]
第九方面,提供了一种第二设备,所述第二设备包括:收发器、存储器和处理器,所述存储器存储有一个或多个程序,所述一个或多个程序包括指令,当所述指令被所述第一设备执行时,使得所述第二设备执行如第三方面中任一项所述的方法。
[0132]
第十方面,提供了一种计算机可读存储介质,用于存储指令,当所述指令被执行时,实现上述第一方面、第二方面、第三方面中任一项所述的方法。
[0133]
第十一方面,提供了一种通信装置,该通信装置具有实现上述第四方面中网络设备的功能。这些功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或
软件包括一个或多个与上述功能相对应的单元。
[0134]
第十二方面,提供了一种通信装置,该通信装置具有实现上述第五方面中第一设备的功能。这些功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。
[0135]
第十三方面,提供了一种通信装置,该通信装置具有实现上述第六方面中第二设备的功能。这些功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。
[0136]
第十四方面,提供了一种通信装置,该通信装置可以为上述第四方面中的网络设备,或者为设置在网络设备中的芯片。该通信装置包括存储器、通信接口以及处理器,其中,该存储器用于存储计算机程序或指令,处理器与存储器、通信接口耦合,当处理器执行所述计算机程序或指令时,使通信装置执行上述第一方面中由网络设备执行的方法。
[0137]
第十五方面,提供了一种通信装置,该通信装置可以为上述第五方面中的第一设备,或者为设置在第一设备中的芯片。该通信装置包括存储器、通信接口以及处理器,其中,该存储器用于存储计算机程序或指令,处理器与存储器、通信接口耦合,当处理器执行所述计算机程序或指令时,使通信装置执行上述第二方面中由第一设备执行的方法。
[0138]
第十六方面,提供了一种通信装置,该通信装置可以为上述第六方面中的第二设备,或者为设置在第二设备中的芯片。该通信装置包括存储器、通信接口以及处理器,其中,该存储器用于存储计算机程序或指令,处理器与存储器、通信接口耦合,当处理器执行所述计算机程序或指令时,使通信装置执行上述第三方面中由第二设备执行的方法。
[0139]
第十七方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面中由网络设备执行的方法、第二方面中由第一设备执行的方法或者第三方面中由第二设备执行的方法。
[0140]
第十八方面,提供了一种芯片系统,该芯片系统包括处理器,用于实现上述第一方面的方法中网络设备的功能,例如,接收或处理上述第一方面的方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存程序指令和/或数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
[0141]
第十九方面,提供了一种芯片系统,该芯片系统包括处理器,用于实现上述第二方面的方法中第一设备的功能,例如,接收或处理上述第二方面的方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存程序指令和/或数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
[0142]
第二十方面,提供了一种芯片系统,该芯片系统包括处理器,用于实现上述第三方面的方法中第二设备的功能,例如,接收或处理上述第三方面的方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存程序指令和/或数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
[0143]
根据本申请实施例中提供的技术方案,利用第二设备的ip地址,针对不同的第二设备生成不同的第一验证码;不同的第二设备向第一设备发送的第一数据包中则分别包括不同的第一验证码;网络设备可针对来自第二设备的第一数据包包括的第一验证码的准确性进行验证,以确定来自第二设备的数据包的合法性,从而实现在网络设备中快速确定数
据包的合法性。
附图说明
[0144]
下面对实施例或现有技术描述中所需使用的附图作简单地介绍。
[0145]
图1为本申请实施例适用的一种应用场景的示意图。
[0146]
图2为现有技术中一种ddos防御方案的系统框架示意图。
[0147]
图3为本申请实施例的系统框架示意图。
[0148]
图4为本申请实施例中提供的一种应用于网络设备的数据处理方法的流程图。
[0149]
图5为ipv4头部的结构示意图。
[0150]
图6为ipv6头部的结构示意图。
[0151]
图7为本申请实施例中提供的一种应用于第一设备的数据处理方法的流程图。
[0152]
图8为本申请实施例中提供的一种应用于第二设备的数据处理方法的流程图。
[0153]
图9为本申请实施例中第一设备和第二设备通过网络设备交互数据包的过程示意图。
[0154]
图10为本申请实施例中提供的一种网络设备的结构示意图。
[0155]
图11为本申请实施例中提供的另一种网络设备的结构示意图。
[0156]
图12为本申请实施例中提供的一种第一设备的结构示意图。
[0157]
图13为本申请实施例中提供的一种第二设备的结构示意图。
具体实施方式
[0158]
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
[0159]
图1为本申请实施例适用的一种业务场景的示意图。如图1所示,受控设备指由入侵者直接控制的设备,入侵者在得知目标设备(比如服务器)的ip地址之后,即可控制多个受控设备以目标设备的ip地址为源ip地址,向大量分布式部署的反射器发送服务请求。大量分布式部署的反射器包括但不限于dns、ntp服务器、ssdp服务器、简单网络管理协议(snmp,simple network management protocol)服务器,比如还可以包括轻量目录访问协议(ldap,lightweight directory access protocol)服务器。每个反射器在接收到来自受控设备的服务请求之后,即可向目标设备发送用于攻击目标设备的数据包,形成ddos攻击。然而,目标设备在受到ddos攻击的过程中,由反射器向目标设备发送的数据包,不仅包括用于攻击目标设备的数据包,还可能包括并非用于攻击目标设备的合法数据包,比如反射器对来自目标设备的服务请求进行响应以发出的响应数据包、反射器主动发出的、用于请求目标设备向其提供特定服务的请求数据包。
[0160]
在一种ddos攻击防御方案中,可通过指定的服务器向客户端预先分发令牌来区分合法数据包和用于攻击目标设备的数据包,合法流量将被发送至目标设备。如图2所示,每个独立的自治域(as)中均包括一个用于管辖该as包含的每个服务器的rts服务器,每个as中还包括与该as的rts服务器协同工作的验证节点(vp),需要访问服务器的设备为客户端;当客户端需要访问一个服务器时,该客户端首先需要访问该服务器所属as的rts以获取令牌,该客户端向该服务器发送的数据包中需要携带其获取的令牌,该客户端向该服务器发送的数据包到达该服务器所在as之后,该服务器所在as中的vp可对该数据包携带的令牌进
行验证,当且仅当在令牌验证通过的情况下,比如该数据包携带的令牌与vp所属as的rts服务器向该客户端提供的令牌相同、令牌使用次数未超过最大次数的情况下,该数据包才可被进一步转发至该服务器。该方案依赖于多个as之间的相互协作,所有的as均需要部署rts服务器,需要改动系统框架以及边界网关协议(bgp,border gateway protocol),难以在上述业务场景中进行应用。
[0161]
在另一种ddos攻击防御方案中,可以在目标设备受到ddos攻击时,通过网络设备将需要发送至目标设备的数据包引入黑洞,使得需要发送至目标设备的流量不再被网络设备转发至受保护设备。该方案可保证与目标设备共用通信链路的其他设备能够正常提供服务,但是,这将导致并非用于攻击目标设备的合法数据包无法到达受保护设备。
[0162]
在另一种ddos攻击防御方案中,可设置流量清洗中心,在目标设备受到ddos攻击时,通过目标设备一侧的网络设备将需要发送至目标设备的数据包转发至流量清洗中心,流量清洗中心可以对其接收的数据包进行上层协议解析、攻击特征识别以及相应的计算处理,从而确定其接收的数据包是否合法,合法的数据包将被转发至目标设备,不合法的数据包不会被转发至目标设备。该方案中,对于每一个数据包,流量清洗中心均需要花费较长的时间才能确定出该数据包的合法性,这将导致并非用于攻击目标设备的合法数据包无法及时到达目标设备;而且,流量清洗中心依赖于专门部署的硬件设备,比如需要部署在专用的ddos防火墙设备上或者其他专用设备上,成本较高且不易实施。
[0163]
图3为本申请实施例的系统框架示意图。如图3所示,需要防御ddos攻击的设备通常为服务器或个人计算机,且每个服务器或个人计算机通常并非独立存在,而是与其他设备协同工作;比如,需要防御ddos攻击的多个服务器可能组成一个能够提供一项或多项服务的服务器集群(或者称为安全域、子网、自治域、数据中心)。为了方便描述,本申请实施例中将需要防御ddos攻击的设备称为第一设备,且主要以第一设备是服务器来示例性描述本申请实施例中提供的技术方案;将可能向第一设备发送用于攻击第一设备的数据包,对第一设备形成ddos攻击的设备称为第二设备,可以理解的,第二设备包括但不限于可以作为反射器的各种公共服务器。通常的,形成一个服务器集群或局域网的每个服务器可能托管于同一个服务提供方;该服务器集群中的每个服务器均可连接到同一个网络设备,比如连接到同一个边界网关,以便服务提供方对服务器集群中的每个服务器接收或发送的数据包进行统一的管理。
[0164]
对于可能向第一设备发送用于攻击第一设备的数据包的多个第二设备,任意两个第二设备通常具有不同的ip地址;因此,可利用第二设备的ip地址,对不同的第二设备生成不同的第一验证码,使得不同的第二设备向第一设备交互的数据包中分别包括不同的第一验证码。网络设备可针对来自第二设备的第一数据包包括的第一验证码的准确性进行验证,以确定来自第二设备的数据包的合法性,从而实现在网络设备中快速确定数据包的合法性。具体地,位于第一设备和第二设备之间的网络设备,可根据相应的第一密钥和其接收的第一数据包包括的源ip地址生成第二验证码,如果第二验证码和第一验证码不同,则说明第二设备未能使用准确的第一验证码与第一设备之间交互数据包,即该第一数据包可能为用于攻击第一设备的数据包;反之,如果第二验证码与第一验证码相同,则说明该第一数据包可能为并非用于攻击第一设备的合法数据包。
[0165]
本申请实施例中,对于每个第一设备,比如对于一个服务器集群中的每个服务器,
可通过标识管理中心为该第一设备分配标识符,具体如分配位置定位符和/或服务标识符。标识管理中心为一个第一设备分配的位置定位符,至少可以用于网络设备对该第一设备进行寻址,比如作为该第一设备的ip地址或者ip地址的一个组成部分,以便第二设备和第一设备之间能够通过网络设备交互数据包;比如,位置定位符可以包括全网可路由前缀、第一设备所在子网的标识、第一设备在子网中的标识。标识管理中心为一个第一设备分配的服务标识符,至少可以作为第一设备所提供的服务的标识。可以理解的,在同一个服务器集群中,任意两个服务器的位置定位符各不相同;但是,某一项服务可能需要多个不同的服务器相互协作,因此不同的服务器可能被分配相同的服务标识符。
[0166]
需要说明的是,每个第一设备的位置定位符、服务标识符还可能用于实现其他业务目的,具体可参见后续实施例中的示例性描述。
[0167]
本申请实施例中,对于每个第一设备,比如对于一个服务器集群的每个服务器,可通过密钥管理中心为每个第一设备分配第一密钥;而且,为了提高算法安全性,密钥管理中心可以为不同的第一设备分配不同的第一密钥。或者,可通过密钥管理中心为每个第一设备分配第二密钥,每个第一设备可根据密钥管理中心为其分配的第二密钥和该第一设备关联的其他参数派生计算,得到第一密钥;而且,可聚合同一个服务器集群中多个第一设备的位置定位符的前缀,为多个第一设备分配相同的第二密钥。
[0168]
下面对第一设备和第二设备之间通过网络设备交互数据包的过程中,网络设备、第一设备、第二设备分别执行的数据处理过程进行示例性描述。
[0169]
图4为一种应用于网络设备的数据处理方法的流程图。如图4所示,该方法至少可以包括如下步骤41至步骤47:步骤41,接收第一数据包,其中,所述第一数据包包括源ip地址和第一验证码;步骤43,获取第一密钥;步骤45,根据所述源ip地址和所述第一密钥生成第二验证码;步骤47,如果所述第二验证码和所述第一验证码相同,则确定所述第一数据包合法。
[0170]
首先,在步骤41,接收第一数据包,其中,所述第一数据包包括源ip地址和第一验证码。
[0171]
这里,第一数据包可以为一个第二设备向一个第一设备发送的数据包,第一数据包包括的源ip地址为该第二设备的ip地址。
[0172]
这里,第一数据包可能为用于攻击该第一设备的数据包,也可能为合法数据包,比如第二设备对来自第一设备的第二数据包进行响应以发出的响应数据包、第二设备请求第一设备向第二设备提供特定服务的请求数据包。
[0173]
需要说明的是,第一验证码可以由第一设备生成,且该第一设备生成该第一验证码时至少应当使用第一密钥和该第二设备的ip地址;如此,一个第一设备可针对多个不同的第二设备分别生成不同的第一验证码。
[0174]
可以理解的是,第一数据包在第一设备和第二设备之间的通信链路上传输,网络设备为通信链路上的一个节点设备,因此该第一数据包中,至少应当包括网络层协议头部和传输层协议头部。
[0175]
在一种可能的实施方式中,第一数据包的传输层协议头部包括但不限于tcp头部,比如还可以为用户数据报协议(udp,user datagram protocol)头部。
[0176]
在一个较为具体的示例中,第一验证码可以位于tcp头部的可选字段中。
[0177]
在一种可能的实施方式中,第一数据包的网络层协议头部包括ipv4头部或ipv6头部。
[0178]
图5示为ipv4头部的结构示意图。如图5所示,ipv4头部可以依次包括如下各个字段:版本号、头部长度、服务类型、数据包总长度、重组标识、标志、段偏移量、生存时间、协议代码、头部校验和、源ip地址、目的ip地址和可选项。在一个较为具体的示例中,第一验证码可以位于ipv4头部的可选项字段中。
[0179]
图6为ipv6头部的结构示意图。如图6所示,ipv6头部依次包括如下各个字段:版本号、流量等级、流量标签、载荷长度、扩展头部、跳数限制、源ip地址、目的ip地址。在一个较为具体的示例中,第一验证码可以位于ipv6头部的扩展头部或目的ip地址中。
[0180]
在一种可能的实施方式中,第一数据包包括的位置定位符、服务标识符和第一验证码可以同时位于第一数据包的目的ip地址中,由位置定位符、服务标识符和第一验证码组成第一数据包包括的目的ip地址。如此,网络设备仅需要从第二数据包包括的网络层协议头部提取源ip地址和目的ip地址,即可快速得到用于计算第二验证码的各个参数。
[0181]
接着,在步骤43,获取第一密钥。
[0182]
在一种可能的实施方式中,该第一数据包还可以包括位置定位符。
[0183]
相应的,在一个较为具体的示例中,网络设备可以根据该第一数据包包括的位置定位符来获取第一密钥。如前所述,该位置定位符可以为第一设备的ip地址,或为第一设备的ip地址的一个组成部分;即该位置定位符可以为第一数据包包括的目的ip地址,或者为该第一数据包包括的目的ip地址的一个组成部分。
[0184]
在一个更为具体的示例中,在网络设备根据该位置定位符获取该第一密钥之前,网络设备还可接收包括该位置定位符和该第一密钥的第一密钥分配信息;如此,网络设备即可根据该第一数据包包括的位置定位符,从包括该位置定位符的第一密钥分配信息中提取该第一密钥。
[0185]
具体地,第一密钥分配信息可以来自密钥管理中心,或者来自该第一设备,或者来自该第一设备所在的服务器集群中的安全设备。
[0186]
在一种可能的实施方式中,该第一数据包还可以包括服务标识符。
[0187]
相应的,在另一个更为具体的示例中,在网络设备根据位置定位符获取该第一密钥之前,网络设备还可以接收包括该位置定位符和第二密钥的第二密钥分配信息;如此,网络设备即可根据第一数据包包括的位置定位符,从包括该位置标识符的第二密钥分配信息中提取第二密钥,并根据第二密钥和服务标识符计算得到第一密钥。
[0188]
具体地,第二密钥分配信息可以来自密钥管理中心,或者来自该第一设备,或者来自该第一设备所在的服务器集群的安全设备。
[0189]
进一步的,在步骤45,根据所述源ip地址和所述第一密钥生成第二验证码。
[0190]
需要说明的是,第一数据包包括的源ip地址和第一密钥为生成第二验证码的必要参数,在具体的业务场景中,还可能使用一个或多个可选参数。总之,网络设备针对其接收的一个第一数据包生成第二验证码所使用的算法、参数,与第一设备针对发送该第一数据包的第二设备生成第一验证码时所使用的算法、参数相同。
[0191]
在一个较为具体的示例中,网络设备生成第二验证码时,除使用源ip地址和第二验证码外,还可能使用位置定位符、服务标识符、第一动态参数中的任意一项或多项。需要
说明的是,第一动态参数可能包含于第一数据包中;第一动态参数也可能为网络设备实时获取的参数,比如为一定精度的时间参数。
[0192]
之后,在步骤47,如果所述第二验证码和所述第一验证码相同,则确定所述第一数据包合法。
[0193]
这里,网络设备针对其接收的一个第一数据包生成第二验证码时所使用的算法、参数,与第一设备针对发送该第一数据包的第二设备生成第一验证码时所使用的算法、参数相同;因此,如果第一数据包包括的第一验证码和网络设备生成的第二验证码相同,则说明该第一数据包为第二设备对来自第一设备的第二数据包进行响应以发出的响应数据包,或者为第二设备请求第一设备向第二设备提供特定服务的请求数据包,该第一数据包并非用于攻击第一设备的数据包。
[0194]
反之,如果第二验证码和第一验证码不同,则说明第二设备未能使用正确的第一验证码与第一设备交互数据包,该第一数据包可能为入侵者通过受控设备向第二设备发送服务请求,使得第二设备向第一设备发送的用于攻击第一设备的数据包。
[0195]
用于攻击第一设备的数据包通常为响应数据包;因此,在一种可能的实施方式中,网络设备在针对其接收的第一数据包获取对应的第一密钥之前,还可以检测其接收的第一数据包是否是响应数据包,如果不是响应数据包,直接确定该第一数据包合法即可;或者,网络设备还可以将不是响应数据包的第一数据包发送至其他的安全设备,比如,将不是响应数据包的第一数据包发送至流量清洗中心,由流量清洗中心对该第一数据包进行上层协议解析、攻击特征识以确定该第一数据包是否为用于攻击第一设备的数据包。
[0196]
入侵者可能通过监听第二设备接收的来自第一设备的数据包,得知该第二设备和第一设备之间交互数据包时所需使用的第一验证码,从而利用准确的第一验证码和第一设备的ip地址,在较短的时间内连续向该第二设备发送服务请求,使得该第二设备在较短的时间内连续向第一设备发送大量数据量相对较大的响应数据包,这部分响应数据包可能被确定为合法数据包,如果被网络设备发送到第一设备,则可能对第一设备形成重放攻击。
[0197]
因此,在一种可能的实施方式中,在网络设备接收的第一数据包是响应数据包的情况下,网络设备可根据其接收的每个数据包包括的源ip地址,确定单位时间内接收的、来自该第一数据包包括的源ip地址对应的第二设备的数据包的数量,该数量不小于第一预设阈值的情况下,可以将该第一数据包包括的源ip地址记为不可信ip地址。
[0198]
在另一种可能的实施方式中,在网络设备接收的第一数据包是响应数据包的情况下,网络设备可根据其接收的每个第一数据包包括的源ip地址,确定单元时间内接收的、来自该第一数据包包括的源ip地址对应的第二设备的数据包的数据总量,该数据总量不小于第二预设阈值的情况下,可以将该第一数据包包括的源ip地址记为不可信ip地址。
[0199]
相应的,在第一数据包被确定为合法数据包的情况下,网络设备还可进一步确定已经标记的各个不可信ip地址中是否包括该第一数据包包括的源ip地址,在已经标记的各个不可信ip地址未包括该第一数据包包括的源ip地址的情况下,才根据第一数据包包括的所述位置定位符发送该第一数据包。如此,避免用于对第一设备形成重放攻击的第一数据包被发送至第一设备。
[0200]
在另一个较为具体的示例中,当一个第一数据包包括的源ip地址被记为不可信ip地址,即使该第一数据包被确定为合法的数据包,网络设备也可丢弃该第一数据包,或者对
来自该第一数据包包括的源ip地址的每个第一数据包进行限流。
[0201]
本申请实施例中,如果所述第二验证码和所述第一验证码不同,网络设备可以丢弃第一数据包,可能用于攻击第一设备的数据包不会到达第一设备,实现对用于攻击第一设备的数据包进行阻断,从而避免第一设备受到ddos攻击,尤其是drdos攻击。
[0202]
本申请实施例中,如果第一数据包合法,网络设备还可根据第一数据包包括的位置定位符发送第一数据包。使得合法的数据包不会被丢弃,确保第一设备的服务可用性;而且,由于网络设备能够较为快速的确定第一数据包的合法性,合法的数据包还能够较为快速的到达第一设备,时延极低。
[0203]
本申请实施例中,无需更改第一设备与第二设备之间的通信链路,不需要根据不同的反射器类型对数据包的应用层协议进行解析,仅需要对现有网络的网络设备进行一定的改进,即可滤除用于攻击第一设备的数据包,适用性更强。
[0204]
需要说明的是,对于如ssdp服务器通过多播地址向第一设备发送用于攻击第一设备的数据包的情况,可以在第一设备所属局域网禁用此类服务器提供的服务,以避免此类服务器向第一设备发送用于攻击第一设备的数据包。
[0205]
在一种可能的实施方式中,网络设备可以针对每个第一设备持续执行前述各个实施例中由网络设备执行的数据处理过程,或者,网络设备也可以在接收到来自某一个第一设备或第一设备所在服务器集群的安全设备发送的指示信息时,针对指示信息包括的位置定位符所对应的某个特定的第一设备,开始执行或停止执行前述各个实施例中由网络设备执行的数据处理过程。
[0206]
需要说明的是,第一设备所在服务器集群的安全设备,可监控服务器集群的每个第一设备的状态,以便在服务器集群的任一第一设备受到ddos攻击时,执行相应的安全措施,比如向网络设备发送指示信息,使得网络设备针对受到ddos攻击的第一设备执行前述由网络设备执行的数据处理过程。
[0207]
相应的,本申请实施例中提供了一种应用于第一设备的数据处理方法,如图7所示,至少可以包括如下步骤71和步骤73:
[0208]
步骤71,生成第二数据包;其中,所述第二数据包包括目的ip地址和第一验证码,所述第一验证码由所述第一设备根据所述目的ip地址和第一密钥生成。
[0209]
可以理解的,目的ip地址为接收该第二数据包的第二设备的ip地址。
[0210]
在一种可能的实施方式中,第一密钥可以来自密钥管理中心。
[0211]
在另一种可能的实施方法中,第一密钥可以由第一设备根据第二密钥以及服务标识符计算得到,该第二密钥来自密钥管理中心,该服务标识符来自标识管理中心。
[0212]
如前所述,目的ip地址和第一密钥可以作为生成第一验证码的必要参数,生成第一验证码的过程中还可能使用一个或多个可选参数。可选参数包括但不限于标识管理中心为该第一设备分配的位置定位符、服务标识符。
[0213]
在一个较为具体的示例中,可选参数还可以包括第二动态参数,使得该第一设备和该第二设备之间交互数据包时所使用的第一验证码动态变化。从而避免入侵者通过相对较长的时间,完成搜集大量可以作为反射器的第二设备所需使用的第一验证码之后,对第一设备进行ddos攻击。
[0214]
在一个具体的示例中,第二动态参数可以是时间参数,可通过调控时间参数的精
度,使使得该第一设备在不同的时间段内针对第二设备生成不同的第一验证码,在不同的时间段内使用不同的第一验证码作为该第一设备与第二设备之间交互的数据包标识。比如,时间参数的精度可以为经验值,比如为1小时,如此,在任意两个相邻的时间长度为1小时的时间段内,第一设备和第二设备之间使用不同的第一验证码来交互数据包。
[0215]
在另一个具体的示例中,第二动态参数还可以是周期性生成的随机数,使得该第一设备在不同的时间段内针对第二设备生成不同的第一验证码。
[0216]
可以理解的,第二动态参数的类型包括但不限于时间参数和随机数。
[0217]
在一个具体的示例中,第一设备可通过一个单向的安全算法,实现根据第一密钥、目的ip地址、标识管理中心为其分配的位置定位符、服务标识符以及第二动态参数生成第一验证码,其中,该安全算法可以是采用对称加密算法的杂凑算法。
[0218]
第一设备向一个第二设备发送的第二数据包的结构,与该第二设备向该第一设备发送的第一数据包应当具有相同的结构。因此,第一设备针对一个第二设备生成第二验证码时使用的各个参数,应当能够被网络设备所得知,以便网络设备根据第一设备针对第二设备生成第一验证码时使用的各个参数,对第二设备向该第一设备发送的第一数据包中包括的第一验证码进行准确性验证。具体地,第一设备针对第二设备生成第一验证码时所使用的参数,可以包含于第二数据包中;比如,当第一设备生成第一验证码时,使用了标识管理中心为其分配的位置定位符和服务标识符,那么,位置定位符和服务标识符则可以包含于第二数据包中。
[0219]
需要说明的是,当第二动态参数的类型为时间参数的情况下,第二数据可以不包括该第二动态参数;在第二动态参数为随机数或者其他类型的参数的情况下,第二数据包应当包括该第二动态参数。
[0220]
步骤73,发送所述第二数据包。
[0221]
可以理解的,网络设备作为该第一设备和该第二数据包包括的目的ip地址所对应的第二设备之间的通信链路上的一个节点设备,第一设备发送的第二数据包可首先到达网络设备,由网络设备将该第二数据包发送到目的ip地址对应的第二设备。
[0222]
为了使网络设备得知该第一设备生成第一验证码时使用的第一密钥,在一种可能的实施方式中,第一设备还可以向网络设备、密钥管理中心或者第一设备所在服务器集群的安全设备发送第一密钥分配信息,该第一密钥分配信息包括该第一设备的位置定位符和第一密钥。
[0223]
在第一设备生成第一验证码时使用了服务标识符符的情况下,在一种可能的实施方式中,第一密钥可以由第一设备根据服务标识符和来自密钥管理中心的第二密钥生成。
[0224]
相应的,第一设备还可以向网络设备、密钥管理中心或者第一设备所在服务器集群的安全设备发送第二密钥分配信息,该第二密钥分配信息包括该第一设备的位置定位符和第一密钥。
[0225]
本申请实施例中,第一设备在受到ddos攻击时,还可向网络设备发送包括该第一设备的位置定位符的指示信息,以便触发网络设备针对第一设备执行前述各个实施例中所述由网络设备执行的数据处理过程。
[0226]
基于与前述各个实施例相同的构思,本申请还提供了一种应用于第二设备的数据处理方法,如图8所示,至少可以包括如下步骤81和步骤83:
[0227]
步骤81,接收第二数据包;其中,所述第二数据包包括所述第二设备的ip地址和第一验证码,所述第一验证码由发送所述第二数据包的第一设备根据所述第二设备的ip地址和第一密钥生成,并且用于网络设备对所述第二设备发送的第一数据包的合法性进行验证。
[0228]
步骤83,生成第一数据包;其中,所述第一数据包包括源ip地址和所述第一验证码,所述源ip地址为所述第二设备的ip地址。
[0229]
步骤85,向网络设备发送所述第一数据包。
[0230]
本申请实施例中,第二设备生成的第一数据包应当与其对应接收的第二数据包具有相同的结构,且第一数据包中至少应当具有第二数据包包括的第一验证码,以便网络设备确定第二设备发送的第一数据包的合法性。
[0231]
下面对第一设备和第二设备之间通过网络设备交互数据包的具体过程进行示例性描述。如图9所示,第一设备和第二设备之间通过网络设备交互数据包的具体过程可以包括如下步骤901~步骤912。其中,步骤编号的大小并不用于限定步骤之间的执行顺序,而且第一设备、第二设备、网络设备分别执行的步骤是示例性的,第一设备和第二设备通过网络设备交互数据包的过程中,还可能执行其他步骤,或者每个步骤可能拆分为多个子步骤执行。
[0232]
步骤901,第一设备生成第一验证码。
[0233]
比如,第一设备可根据第二设备的ip地址、密钥管理中心为第一设备分配的第一密钥、标识管理中心为第一设备分配的位置定位符和服务标识符、具有一定精度的时间戳,生成第一验证码。
[0234]
步骤902,第一设备生成第二数据包。
[0235]
其中,第二数据包包括的目的ip地址为第二设备的ip地址;第二数据包包括的源ip地址可以由位置定位符、服务标识符和第一验证码组成,或者,第二数据包包括的源ip地址为位置定位符,第一验证码和位置定位符位于第二数据包的网络层协议头部中或者传输层协议头部中。
[0236]
步骤903,第一设备向第二设备发送第二数据包。
[0237]
可以理解,网络设备作为第一设备与第二设备之间的通信链路上的一个节点设备,第二数据包可以首先到达网络设备,然后由网络设备将第二数据包转发至第二设备。
[0238]
步骤904,第二设备生成第一数据包。
[0239]
其中,如果第二设备生成的第一数据包为,根据第一设备向其发送的第二数据包生成的响应数据包;那么,第一数据包包括的源ip地址为第二设备的ip地址,第二数据包包括的位置定位符、服务标识符、第一验证码,可以包括于第一数据包中。
[0240]
其中,第二设备可以缓存第一设备向其发送的第一数据包包括的位置定位符、服务标识符、第一验证码;当第二设备需要向第一设备主动发送用于请求第一设备向其提供特定服务的请求数据包时,即可利用其缓存的包括于第二数据包的位置定位符、服务标识符、第一验证码生成该第一数据包。
[0241]
其中,如果第二设备生成的第一数据包为,根据入侵者控制的受控设备向第二设备发送的服务请求生成的、用于攻击第一设备的数据包;那么,由于入侵者无法准确得知第一设备和第二设备之间交互数据包时所需使用的第一验证码,第二设备生成的第一数据包
所包括的第一验证码,则不同于第一数据包中包括的第一验证码,即第一数据包包括的第一验证码,不同于第一设备使用第二设备的ip地址以及其他参数生成的、用于第一设备和第二设备之间交互数据包的第一验证码。
[0242]
步骤905,第二设备向网络设备发送第一数据包。
[0243]
步骤906,网络设备确定第一数据包是否为响应数据包。
[0244]
这里,网络设备可区分第一数据包的传输层协议和端口号识别该数据包是否为响应数据包;或者,可以对第一数据包的应用层协议中包括的报文类型进行识别,从而确定第一数据包是否为响应数据包。
[0245]
如果第一数据包不是响应数据包,网络设备可执行步骤912。
[0246]
如果第一数据包是响应数据包,网络设备可执行步骤907。
[0247]
步骤907,网络设备确定单位时间内来自第二设备的第一数据包的数量和数据总量。
[0248]
如果数量小于第一预设阈值,并且数据总量小于第二预设阈值的情况下,网络设备可执行步骤908。
[0249]
如果数量达到第一预设阈值,或者数据总量达到第二预设阈值,则说明入侵者可能得知了第一设备和第二设备之间交互数据包时所需使用的第一验证码,入侵者可能通过受控设备触发第二设备在极短的时间内向第一设备连续发送数量相对较大和/或数据总量相对较大的响应数据包,对第一设备形成重放攻击。此时,网络设备可丢弃该第一数据包或者对来自该第二设备的每个数据包进行限流,并将该第一数据包包括的第二设备的ip地址记为不可信ip地址。
[0250]
步骤908,网络设备根据第一数据包包括的位置定位符获取第一密钥。
[0251]
需要说明的是,在步骤908之前,网络设备可以接收包括该第一设备的位置定位符和第一密钥的第一密钥分配信息;显然的,网络设备可能接收到包括不同位置定位符的多个第一密钥分配信息,网络设备可根据第一数据包包括的位置定位符,从包括该位置定位符的第一密钥分配信息中提取相应的第一密钥。
[0252]
步骤909,网络设备生成第二验证码。
[0253]
比如,网络设备可根据其获取的第一密钥、第一数据包包括的源ip地址、位置定位符、服务标识符,以及网络设备接收到第一数据包时所对应的具有一定精度的时间戳,生成第一验证码。
[0254]
步骤910,网络设备在第一验证码和第二验证码相同时,确定第一数据包合法。
[0255]
这里,如果第一验证码和第二验证码不同,说明该第一数据包可能为用于攻击第一设备的响应数据包,可丢弃该第一数据包。
[0256]
步骤911,网络设备在第一数据包合法时,确定第一数据包包括的源ip地址是否为不可信ip地址。
[0257]
网络设备可以查询已经标记的各个不可信ip地址中,是否包含该第一数据包包括的源ip地址,如果是,则说明该第一数据包包括的源ip地址所对应的第二设备可能已经被入侵者控制,或者入侵者曾经尝试通过该第一数据包包括的源ip地址所对应的第二设备向第一设备发送用于攻击该第一设备的响应数据包,该源ip地址不可信。反之,在确定出第一数据包包括的源ip地址可信的情况下,网络设备可执行如下步骤912。
[0258]
步骤912,网络设备发送该第一数据包。
[0259]
其中,网络设备可根据第一数据包包括的第一设备的位置定位符,将第一数据包发送至第一设备。
[0260]
如图10所示,本申请实施例提供了一种网络设备100,所述网络设备100包括:
[0261]
第一接口单元1001,用于接收第一数据包;其中,所述第一数据包包括源ip地址和第一验证码;
[0262]
处理单元1002,用于获取第一密钥;根据所述源ip地址和所述第一密钥生成第二验证码;以及,如果所述第二验证码和所述第一验证码相同,则确定所述第一数据包合法。
[0263]
如图11所示,在一种可能的实施方式中,所述网络设备100还包括第二接口单元1003;
[0264]
所述第一数据包还包括第一设备的位置定位符;
[0265]
所述处理单元1002,还用于在所述第一数据包合法的情况,触发所述第二接口单元1003;
[0266]
所述第二接口单元1003,用于在所述处理单元1002的触发下,根据所述位置定位符,向所述第一设备发送所述第一数据包。
[0267]
在一种可能的实施方式中,所述第一数据包还包括服务标识符。
[0268]
在一种可能的实施方式中,所述处理单元1002,具体用于根据所述源ip地址、所述第一密钥,以及位置定位符、服务标识符、第一动态参数中的任意一项或多项,生成所述第二验证码。
[0269]
在一种可能的实施方式中,所述第一验证码位于所述第一数据包包括的网络层协议头部中。
[0270]
在一种可能的实施方式中,所述第一验证码位于所述第一数据包包括的目的ip地址中。
[0271]
在一种可能的实施方式中,所述第一数据包还包括位置定位符和服务标识符,所述位置定位符、所述服务标识符位于所述目的ip地址中。
[0272]
在一种可能的实施方式中,所述网络层协议头部包括ipv6头部,所述第一验证码位于所述ipv6头部的扩展头部中。
[0273]
在一种可能的实施方式中,所述第一验证码位于所述第一数据包包括的传输层协议头部中。
[0274]
在一种可能的实施方式中,所述传输层协议头部包括tcp头部,所述第一验证码位于所述tcp头部的可选字段中。
[0275]
在一种可能的实施方式中,所述第一数据包还包括位置定位符;
[0276]
所述处理单元1002,具体用于根据所述位置定位符获取所述第一密钥。
[0277]
在一种可能的实施方式中,
[0278]
所述网络设备100还包括第二接口单元1003,用于接收第一密钥分配信息,所述第一密钥分配信息包括所述位置定位符和所述第一密钥;
[0279]
所述处理单元1002,具体用于根据所述位置定位符,从所述第一密钥分配信息中提取所述第一密钥。
[0280]
在一种可能的实施方式中,所述第一数据包还包括服务标识符;
[0281]
所述网络设备100还包括第二接口单元1003,用于接收第二密钥分配信息,所述第二密钥分配信息包括所述位置定位符和第二密钥;
[0282]
所述处理单元1002,具体用于根据所述位置定位符,从所述第二密钥分配信息中提取所述第二密钥;以及根据所述第二密钥和所述服务标识符,计算所述第一密钥。
[0283]
在一种可能的实施方式中,所处处理单元1002,还用于检测所述第一数据包是否是响应数据包;如果所述第一数据包是响应数据包,则确定。
[0284]
在一种可能的实施方式中,所述处理单元1002,还用于确定单位时间内接收的、来自所述源ip地址对应的第二设备的数据包的数量;如果所述数量不小于第一预设阈值,则将所述源ip地址标记为不可信ip地址。
[0285]
在一种可能的实施方式中,所述处理单元1002,还用于确定单元时间内接收的、来自所述源ip地址对应的第二设备的数据包的数据总量;如果所述数据总量不小于第二预设阈值,则将所述源ip地址标记为不可信ip地址。
[0286]
在一种可能的实施方式中,
[0287]
所述处理单元1002,还用于确定标记的各个不可信地址中是否包括所述源ip地址;如果各个不可信地址中未包括所述源ip地址,则触发所述第二接口单元。
[0288]
如图12所示,本申请实施例提供了一种第一设备120,所述第一设备120包括:
[0289]
处理单元1201,用于生成第二数据包;其中,所述第二数据包包括目的ip地址和第一验证码,所述第一验证码由所述第一设备根据所述目的ip地址和第一密钥生成;
[0290]
接口单元1202,用于发送所述第二数据包。
[0291]
在一种可能的实施方式中,所述第一验证码由所述处理单元1201根据所述目的ip地址、所述第一密钥,以及位置定位符、服务标识符、第二动态参数中的任意一项或多项生成。
[0292]
在一种可能的实施方式中,所述第一验证码位于所述第二数据包包含的网络层协议头部中。
[0293]
在一种可能的实施方式中,所述第一验证码位于所述第二数据包包含的源ip地址中。
[0294]
在一种可能的实施方式中,所述第二数据包还包括位置定位符和服务标识符,所述位置定位符、所述服务标识符位于所述源ip地址中。
[0295]
在一种可能的实施方式中,所述网络层协议头部包括ipv6头部,所述第一验证码位于所述ipv6头部的扩展头部中。
[0296]
在一种可能的实施方式中,所述第一验证码位于所述第二数据包包含的传输层协议头部中。
[0297]
在一种可能的实施方式中,所述传输层协议头部包括tcp头部,所述第一验证码位于所述tcp头部的可选字段中。
[0298]
在一种可能的实施方式中,所述第二数据包还包括位置定位符;
[0299]
所述接口单元1202,还用于向网络设备发送第一密钥分配信息,所述第一密钥分配信息包括所述位置定位符和所述第一密钥。
[0300]
在一种可能的实施方式中,所述第二数据包还包括服务标识符;
[0301]
所述第一密钥由所述处理单元1201根据所述服务标识符和第二密钥生成。
[0302]
在一种可能的实施方式中,
[0303]
所述接口单元1202,还用于向网络设备发送第二密钥分配信息,所述第二密钥分配信息包括所述位置定位符和所述第二密钥。
[0304]
如图13所示,本申请实施例提供了一种第二设备130,所述第二设备130包括:
[0305]
接口单元1301,用于接收第二数据包;其中,所述第二数据包包括所述第二设备的ip地址和第一验证码,所述第一验证码由发送所述第二数据包的第一设备根据所述第二设备的ip地址和第一密钥生成,并且用于网络设备对所述第二设备发送的第一数据包的合法性进行验证;
[0306]
处理单元1302,用于生成第一数据包;其中,所述第一数据包包括源ip地址和所述第一验证码,所述源ip地址为所述第二设备的ip地址;
[0307]
所述接口单元1301,用于向网络设备发送所述第一数据包。
[0308]
在一种可能的实施方式中,所述第一验证码位于所述第一数据包包括的网络层协议头部中或传输层协议头部中。
[0309]
在一种可能的实施方式中,所述第一验证码位于所述第一数据包包括的目的ip地址中。
[0310]
在一种可能的实施方式中,所述第一数据包还包括位置定位符和服务标识符,所述位置定位符、所述服务标识符位于所述目的ip地址中。
[0311]
在一种可能的实施方式中,所述网络层协议头部包括ipv6头部,所述第一验证码位于所述ipv6头部的扩展头部中。
[0312]
本申请实施例提供了一种网络设备,所述网络设备包括:收发器、存储器和处理器,所述存储器存储有一个或多个程序,所述一个或多个程序包括指令,当所述指令被所述网络设备执行时,使得所述网络设备执行任意一个实施例中提供的由网络设备执行的数据处理方法。
[0313]
本申请实施例还提供了一种第一设备,所述第一设备包括:收发器、存储器和处理器,所述存储器存储有一个或多个程序,所述一个或多个程序包括指令,当所述指令被所述第一设备执行时,使得所述第一设备执行本申请任意一个实施例中提供的由第一设备执行的数据处理方法。
[0314]
本申请实施例还提供了一种第二设备,所述设备第二包括:收发器、存储器和处理器,所述存储器存储有一个或多个程序,所述一个或多个程序包括指令,当所述指令被所述第一设备执行时,使得所述第二设备执行本申请任意一个实施例中提供的由第二设备执行的数据处理方法。
[0315]
本申请实施例提供了一种计算机可读存储介质,用于存储指令,当所述指令被执行时,实现由网络设备执行的数据处理方法。
[0316]
本申请实施例提供了一种计算机可读存储介质,用于存储指令,当所述指令被执行时,实现由第一设备执行的数据处理方法。
[0317]
本申请实施例提供了一种计算机可读存储介质,用于存储指令,当所述指令被执行时,实现由第二设备执行的数据处理方法。
[0318]
本申请实施例提供了一种通信装置,该通信装置具有实现本申请任意一个实施例中网络设备的功能。这些功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所
述硬件或软件包括一个或多个与上述功能相对应的单元。
[0319]
本申请实施例提供了一种通信装置,该通信装置具有实现本申请任意一个实施例中第一设备的功能。这些功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。
[0320]
本申请实施例提供了一种通信装置,该通信装置具有实现本申请任意一个实施例中第二设备的功能。这些功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。
[0321]
本申请实施例提供了一种通信装置,该通信装置可以为本申请任意一个实施例中的网络设备,或者为设置在网络设备中的芯片。该通信装置包括存储器、通信接口以及处理器,其中,该存储器用于存储计算机程序或指令,处理器与存储器、通信接口耦合,当处理器执行所述计算机程序或指令时,使通信装置执行本申请任意一个实施例中由网络设备执行的方法。
[0322]
本申请实施例提供了一种通信装置,该通信装置可以为本申请任意一个实施例中的第一设备,或者为设置在第一设备中的芯片。该通信装置包括存储器、通信接口以及处理器,其中,该存储器用于存储计算机程序或指令,处理器与存储器、通信接口耦合,当处理器执行所述计算机程序或指令时,使通信装置执行本申请任意一个实施例中由第一设备执行的方法。
[0323]
本申请实施例提供了一种通信装置,该通信装置可以为本申请任意一个实施例中的第二设备,或者为设置在第二设备中的芯片。该通信装置包括存储器、通信接口以及处理器,其中,该存储器用于存储计算机程序或指令,处理器与存储器、通信接口耦合,当处理器执行所述计算机程序或指令时,使通信装置执行本申请任意一个实施例中由第二设备执行的方法。
[0324]
本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行本申请任意一个实施例中由网络设备执行的方法、由第一设备执行的方法或者由第二设备执行的方法。
[0325]
本申请实施例提供了一种芯片系统,该芯片系统包括处理器,用于实现本申请任意一个实施例提供的方法中网络设备的功能,例如,接收或处理网络设备执行的方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存程序指令和/或数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
[0326]
本申请实施例提供了一种芯片系统,该芯片系统包括处理器,用于实现本申请任意一个实施例提供的方法中第一设备的功能,例如,接收或处理第一设备执行的方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存程序指令和/或数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
[0327]
本申请实施例提供了一种芯片系统,该芯片系统包括处理器,用于本申请任意一个实施例的方法中第二设备的功能,例如,接收或处理第二设备执行的方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存程序指令和/或数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
[0328]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
[0329]
应当理解的是,在本申请实施例的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
[0330]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述网络设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0331]
可以理解,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0332]
以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内
[0333]
最后需要说明的是,以上实施例仅用以说明本申请的技术方案,而未对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解,依然可以对前述各个实施例所提供的技术方案进行修改,或者对其中部分技术特征进行等同替换,而这些修改或替换,并不使相应技术方案的本质脱离本申请各个实施例所提供技术方案的精神和范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1