网络攻击检测方法及装置制造方法

文档序号:7816511阅读:490来源:国知局
网络攻击检测方法及装置制造方法
【专利摘要】本发明公开了一种网络攻击检测方法及节点,所述方法包括:进行网络拓扑分析,依据网络拓扑分析结果形成包括至少一条检测路径的检测路径集合;通过第一检测路径向目标节点发送检测数据包;所述第一检测路径为所述检测路径集合中的一条所述检测路径;接收目标节点在所述检测数据包触发下发送的响应数据包;依据所述响应数据包的接收参数以及所述响应数据包携带的信息,获取当前检测参数;及依据所述当前检测参数及历史检测数据,确定所述第一检测路径是否有遭受网络攻击。
【专利说明】网络攻击检测方法及装置

【技术领域】
[0001] 本发明涉及通信领域的攻击检测技术,尤其涉及一种网络攻击检测方法及装置。

【背景技术】
[0002] 网络异常检测大致可分为两种;一种为性能异常检测以及安全异常检测。其中性 能异常包括瞬间拥堵、文件服务失败以及广播风暴等。安全异常具体可包括分布式拒绝服 务DDoS攻击;所述DDoS攻击为堵塞网络以使合法用户无法享受网络服务。
[0003] 目前发现DDoS攻击中有一种低密度多连接洪水攻击(Target Link Flooding Attack,LFA),所述LFA利用多个网络节点(所述网络节点可为路由器、客户端或服务器) 向同一目标链路发送低密度的合法数据流量(日常网络通信涉及的常用数据包等),进而 导致该段链路堵塞;通过该链路进行连接的网络节点,将无法正常进行网络通信。现有常规 的检测方法,通常是检测数据流是否是指定的通信格式等方式来判断数据流是否合法,进 而确定出是否遭受到攻击;而LFA采用的合法数据流,常规方法是无法检测出来的。
[0004] 目前提出了一种基于路由检测的方法进行所述LFA的检测,通过检测每一个路由 节点的数据流量是否异常来,确定是否遭受了 LFA ;这种检测方法需要在每一个路由器上 安装检测其数据流量的检测应用。这种检测方法的可实现性低效果有限,原因是:
[0005] 通常遭受LFA的目标链路是不固定的,遭受攻击的目标路径很可能在防护区域之 夕卜,显然难以在在防护区域内检测到遭受LFA攻击的目标链路,同时单纯从某一个或某几 个遭受攻击的路径检测有很难发现异常,因为攻击的流量是合法数据流且是间歇性的,而 大量路由节点来配合检测又是难以实现的;故这种基于路由检测的方法,无法立即应用网 络中进行LFA的检测,且应用前景堪忧。
[0006] 显然提出一种能有效检测出这种新型的LFA并能广泛应用于现有网络的检测方 法是现有技术亟待解决的问题。


【发明内容】

[0007] 有鉴于此,本发明实施例期望提供一种网络攻击检测方法及装置,以简便地精确 地检测出网络攻击。
[0008] 为达到上述目的,本发明的技术方案是这样实现的:
[0009] 本发明实施例第一方面提供一种网络攻击检测方法,
[0010] 所述方法包括:
[0011] 进行网络拓扑分析,依据网络拓扑分析结果形成包括至少一条检测路径的检测路 径集合;
[0012] 通过第一检测路径向目标节点发送检测数据包;所述第一检测路径为所述检测路 径集合中的一条所述检测路径;
[0013] 接收目标节点在所述检测数据包触发下发送的响应数据包;
[0014] 依据所述响应数据包的接收参数以及所述响应数据包携带的信息,获取当前检测 参数;
[0015] 依据所述当前检测参数及历史检测数据,确定所述第一检测路径是否有遭受网络 攻击。
[0016] 优选地,
[0017] 所述检测数据包携带有序列号和应答号;所述响应数据包携带有依据所述检测数 据包的序列号和应答号生成的序列号和应答号;
[0018] 所述依据所述响应数据包的接收参数以及所述响应数据包携带的信息,获取当前 检测参数,包括:
[0019] 依据所述检测数据包的序列号、所述检测数据包的应答号、所述响应数据包的序 列号和所述响应数据包的应答号,确定正向路径丢包信息及逆向路径丢包信息;
[0020] 依据至少两个所述响应数据包的达到时间及所述响应数据包的数据量确定逆向 路径可用带宽;
[0021] 依据所述响应数据包达到时间及所述检测数据包的数据量确定正向路径可用带 宽。
[0022] 优选地,
[0023] 所述通过第一检测路径向目标节点发送检测数据包,包括:
[0024] 确定第一 TCP接收窗口值和TWP响应数据包的报文长度MSS ;其中,所述第一 TCP 接收窗口值用于控制所述目标节点返回w个报文长度为所述MSS的TWP响应数据包;所述 w为不小于2的正整数;
[0025] 依据所述第一 TCP接收窗口值及所述MSS形成第一 TWP检测数据包;
[0026] 通过所述第一检测路径向所述目标节点发送所述第一 TWP检测数据包;
[0027] 所述接收目标节点在所述检测数据包触发下发送的响应数据包,包括:
[0028] 接收目标节点在所述第一 TWP检测数据包触发下返回的w个TWP响应数据包;
[0029] 所述依据至少两个所述响应数据包的达到时间及所述响应数据包的数据量确定 逆向路径可用带宽,包括:
[0030] 确定第1个所述TWP响应数据包与第w个所述TWP响应数据包的达到时间之间的 时间间隔
[0031] 依据所述4、所述w及所述MSS计算检测节点与目标节点之间的逆向路径可用带 宽9r。
[0032] 优选地,
[0033] 所述通过第一检测路径向目标节点发送检测数据包,包括:
[0034] 按照发送先后顺序形成依次包括第一 ACK包、队个负载数据包及第二ACK包的检 验包队列;其中,所述队为不小于1的整数;
[0035] 通过所述第一检测路径向目标节点发送检验包队列;
[0036] 所述接收目标节点在所述检测数据包触发下发送的响应数据包,包括:
[0037] 接收所述目标节点基于所述第一 ACK包反馈的第一 mRTP响应数据包及基于所述 第二ACK包反馈的第二mRTP响应数据包;
[0038] 所述所述响应数据包的达到时间及所述检测数据包的数据量确定正向路径可用 带宽,包括:
[0039] 依据第一 mRTP反馈数据包及所述第二mRTP响应数据包的达到时间确定达到时间 间隔Ga;
[0040] 依据&、所述队及所述64计算检测节点与目标节点之间的正向路径可用带宽0 e;
[0041] 其中,&为所述负载数据携带的数据量。
[0042] 优选地,
[0043] 所述通过第一检测路径向目标节点发送检测数据包,还包括:
[0044] 在所述按照发送先后顺序形成依次包括第一 ACK包、队个负载数据包及第二ACK 包的检验包队列之前,还包括确定所述第一 ACK包的第一序列号;所述第二ACK包的第二序 列号;
[0045] 其中,所述第一序列号大于所述第二序列号。
[0046] 优选地,
[0047] 所述通过第一检测路径向目标节点发送检测数据包,包括:
[0048] 通过所述第一检测路径向目标节点连续发送n个携带有序列号及指定的应答号 的RTP检测数据包;所述n为不小2的正整数;
[0049] 所述接收目标节点在所述检测数据包触发下发送的响应数据包,包括:
[0050] 接收所述目标节点在n个所述RTP检测数据包触发下,依据所述序列号以及应答 号返回的包括序列号及应答号的RTP响应数据包;
[0051] 所述依据所述检测数据包的序列号、所述检测数据包的应答号、所述响应数据包 的序列号和所述响应数据包的应答号,确定正向路径丢包信息及逆向路径丢包信息,还包 括:
[0052] 依据所述RTP检测数据包的序列号、所述RTP检测数据包的应答号、所述RTP响应 数据包的序列号所述RTP响应数据包的应答号,确定正向路径RTP丢包率及逆向路径RTP 丢包率。
[0053] 优选地,
[0054] 所述依据所述响应数据包的接收参数以及所述响应数据包携带的信息,获取当前 检测参数,还包括:
[0055] 依据所述检测数据包的发送时间及所述响应数据包的达到时间,确定往返时间 RTT ;
[0056] 依据第一指定时间内至少两次所述检测数据包的发送时间及对应的所述响应数 据包的达到时间,确定所述往往时间RTT的波动。
[0057] 优选地,
[0058] 所述检测数据包及所述响应数据包均携带有序列号及应答号;
[0059] 所述依据所述响应数据包的接收参数以及所述响应数据包携带的信息,获取当前 检测参数,还包括:
[0060] 依据所述检测数据包的序列号、所述检测数据包的应答号、所述响应数据包的序 列号和所述响应数据包的应答号,确定正向路径乱序信息;
[0061] 依据所述响应数据包的达到时间确定逆向路径乱序信息。
[0062] 优选地,
[0063] 所述方法还包括:
[0064] 在确定出所述第一检测路径遭受网络攻击时,逐跳定位所述第一检测路径中遭受 所述网络攻击的目标链路。
[0065] 优选地,
[0066] 所述在确定出所述第一检测路径遭受网络攻击时,逐跳定位所述第一检测路径中 遭受所述网络攻击的目标链路,包括:
[0067] 确定各第一检验包中的生命周期TTL值;第i个发送的第一检验包的TTL值为i, 任意两个所述第一检验包的TTL值均不同;所述i为不大于所述h的正整数;所述h为所述 第一检测路径包括的链路总跳数;每经过一个节点所述TTL值减1 ;
[0068] 依据所述TTL值,形成h个携带有生命周期TTL值的第一检验包;
[0069] 发送所述第一检验包;其中,
[0070] 接收所述检测链路中各节点在所述第一检验包的TTL值减为0时,返回的第一反 馈包;
[0071] 依据所述第一反馈包,定位遭受所述网络攻击的待测潜在链路;
[0072] 依据至少经过部分所述待测潜在链路的第二检测路径的检测结果,定位遭受所述 网络攻击的目标链路;
[0073] 其中,所述第二检测路径是所述检测路径集合中不同于所述第一检测路径的一条 检测路径。
[0074] 本发明实施例第二方面提供一种网络攻击检测节点,
[0075] 所述节点包括:
[0076] 分析单元,用于进行网络拓扑分析,依据网络拓扑分析结果形成包括至少一条检 测路径的检测路径集合;
[0077] 发送单元,用于通过第一检测路径向目标节点发送检测数据包;所述第一检测路 径为所述检测路径集合中的一条所述检测路径;
[0078] 接收单元,用于接收目标节点在所述检测数据包触发下发送的响应数据包;
[0079] 获取单元,用于依据所述响应数据包的接收参数以及所述响应数据包携带的信 息,获取当前检测参数;
[0080] 确定单元,用于依据所述当前检测参数及历史检测数据,确定所述第一检测路径 是否有遭受网络攻击。
[0081] 优选地,
[0082] 所述检测数据包携带有序列号和应答号;所述响应数据包携带有依据所述检测数 据包的序列号和应答号生成的序列号和应答号;
[0083] 所述获取单元,包括:
[0084] 第一获取模块,用于依据所述检测数据包的序列号、所述检测数据包的应答号、所 述响应数据包的序列号和所述响应数据包的应答号,确定正向路径丢包信息及逆向路径丢 包信息;
[0085] 第二获取模块,用于依据至少两个所述响应数据包的达到时间及所述响应数据包 的数据量确定逆向路径可用带宽;
[0086] 第三获取模块,用于依据所述响应数据包达到时间及所述检测数据包的数据量确 定正向路径可用带宽。
[0087] 优选地,
[0088] 所述发送单元包括:
[0089] 第一确定模块,用于确定第一 TCP接收窗口值和TWP响应数据包的报文长度MSS ; 其中,所述第一 TCP接收窗口值用于控制所述目标节点返回w个报文长度为所述MSS的TWP 响应数据包;所述w为不小于2的正整数;
[0090] 第一形成模块,用于依据所述第一 TCP接收窗口值及所述MSS形成第一 TWP检测 数据包;
[0091] 发送模块,用于通过所述第一检测路径向所述目标节点发送所述第一 TWP检测数 据包;
[0092] 所述接收单元,具体用于接收目标节点在所述第一 TWP检测数据包触发下返回的 w个TWP响应数据包;
[0093] 所述第二获取模块,具体用于确定第1个所述TWP响应数据包与第w个所述TWP 响应数据包的达到时间之间的时间间隔及依据所述Gp所述w及所述MSS计算检测节点 与目标节点之间的逆向路径可用带宽L。
[0094] 优选地,
[0095] 所述发送单元,包括:
[0096] 第二形成模块,用于按照发送先后顺序形成依次包括第一 ACK包、队个负载数据包 及第二ACK包的检验包队列;其中,所述队为不小于1的整数;
[0097] 发送模块,用于通过所述第一检测路径向目标节点发送检验包队列;
[0098] 所述接收单元,具体用于接收所述目标节点基于所述第一 ACK包反馈的第一 mRTP 响应数据包及基于所述第二ACK包反馈的第二mRTP响应数据包;
[0099] 所述第三获取模块,具体用于依据第一 mRTP反馈数据包及所述第二mRTP响应数 据包的达到时间确定达到时间间隔GA;及依据公式S p所述队及所述G A计算检测节点与目 标节点之间的正向路径可用带宽ee;
[0100] 其中,&为所述负载数据携带的数据量。
[0101] 优选地,
[0102] 所述发送单元,具体用于通过所述第一检测路径向目标节点连续发送n个携带有 序列号及指定的应答号的RTP检测数据包;所述n为不小2的正整数;
[0103] 所述接收单元,具体用于接收所述目标节点在n个所述RTP检测数据包触发下,依 据所述序列号以及应答号返回的包括序列号及应答号的RTP响应数据包;
[0104] 所述获取单元,具体用于依据所述RTP检测数据包的序列号、所述RTP检测数据包 的应答号、所述RTP响应数据包的序列号所述RTP响应数据包的应答号,确定正向路径RTP 丢包率及逆向路径RTP丢包率。
[0105] 优选地,
[0106] 所述获取单元,用于依据所述检测数据包的发送时间及所述响应数据包的达到时 间,确定往返时间RTT ;及依据第一指定时间内至少两次所述检测数据包的发送时间及对 应的所述响应数据包的达到时间,确定所述往往时间RTT的波动。
[0107] 优选地,
[0108] 所述检测数据包及所述响应数据包均携带有序列号及应答号;
[0109] 所述获取单元,还用于依据所述检测数据包的序列号、所述检测数据包的应答号、 所述响应数据包的序列号和所述响应数据包的应答号,确定正向路径乱序信息;及依据所 述响应数据包的达到时间确定逆向路径乱序信息。
[0110] 优选地,
[0111] 所述节点还包括:
[0112] 定位单元,还用于在确定出所述第一检测路径遭受网络攻击时,逐跳定位所述第 一检测路径中遭受所述网络攻击的目标链路。
[0113] 优选地,
[0114] 所述定位单元,包括:
[0115] 第三确定模块,用于确定各第一检验包中的生命周期TTL值;第i个发送的第一检 验包的TTL值为i,任意两个所述第一检验包的TTL值均不同;所述i为不大于所述h的正 整数;所述h为所述第一检测路径包括的链路总跳数;每经过一个节点所述TTL值减1 ;
[0116] 第三形成模块,用于依据所述TTL值,形成h个携带有生命周期TTL值的第一检验 包;
[0117] 所述发送单元,还用于发送所述第一检验包;其中,
[0118] 所述接收单元,还用于接收所述检测链路中各节点在所述第一检验包的TTL值减 为0时,返回的第一反馈包;
[0119] 所述定为单元还包括:
[0120] 定位模块,用于依据至少经过部分所述待测潜在链路的第二检测路径的检测结 果,定位遭受所述网络攻击的目标链路;
[0121] 其中,所述第二检测路径是所述检测路径集合中不同于所述第一检测路径的一条 检测路径。
[0122] 优选地,
[0123] 所述第三确定模块,还用于确定各第二检验包中的生命周期TTL值;第i个发送的 第二检验包的TTL值为h-i,任意两个所述第二检验包的TTL值均不同;所述i为0或小于 所述h的正整数;
[0124] 所述第三形成模块,还用于依据所述TTL值形成h个第二检验包且形成至少一个 负载数据包;
[0125] 所述发送单元,还用于在发送所述第一检验包之后,还依次发送至少一个负载数 据包及所述第二检验包;
[0126] 所述接收单元,还用于接收所述检测链路中各节点在所述第二检验包的TTL值减 为0时,返回的第二反馈包;
[0127] 所述定位单元还包括:
[0128] 第一计算模块,用于依据6」及Qj计算所述第一检测路径中第j跳链路的可用带宽 e j;所述j为不大于所述h的正整数;
[0129] 其中,所述为所述TTL值为j的第一检验包触发的第一反馈包的达到时间与所 述TTL值为j的第二检验包触发的第二反馈包的达到时间的时间差;
[0130] 所述%为所述TTL值为j的第一检验包与第二检验包之间各数据包的数据量总 和;
[0131] 所述定位模块,还用于依据所述第一反馈包及所述0」,定位遭受所述网络攻击的 待测潜在链路。
[0132] 本发明实施例网络攻击检测方法及装置,通过确定检测路径、由检测节点向目标 节点发送检测数据包及从目标节点接收响应数据包,依据接收响应数据包的接收参数及响 应数据包携带的内容来确定检测链路是否有遭受网络攻击;相对于现有的采用监控各路由 节点的流量的方法,不用在每一个路由节点都安装检测流量的应用具有使用性强的优点, 从而打破了因通信节点的归属性导致的检测范围局限的问题,相对于现有的基于数据包的 检测方法,可以检测以合法数据流进行的网络攻击,具有实现简便、适用范围广、实用性强 的优点;且实验证明检测精确度高。

【专利附图】

【附图说明】
[0133] 图1为本发明实施例所述的网络攻击检测方法的流程示意图之一;
[0134] 图2为本发明实施例所述的获取当前检测参数的流程示意图之一;
[0135] 图3为本发明实施例所述的发送检测数据包的流程示意图之一;
[0136] 图4a为本发明实施例所述检测节点和目标节点间数据包收发示意图之一;
[0137] 图4b为本发明实施例所述检测节点和目标节点间数据包收发示意图之二;
[0138] 图4c为本发明实施例所述检测节点和目标节点间数据包收发示意图之三;
[0139] 图5为本发明实施例所述检测节点和目标节点间数据包收发示意图之四;
[0140] 图6a为本发明实施例所述检测节点和目标节点建立连接的示意图之一;
[0141] 图6b为本发明实施例所述检测节点和目标节点建立连接的示意图之二;
[0142] 图7为本发明实施例所述的获取当前检测参数的流程示意图之二;
[0143] 图8为本发明实施例所述的一种网络结构示意图;
[0144] 图9a为本发明实施例所述定位第一检测路径中遭受网络攻击的目标链路的流程 示意图;
[0145] 图9b为本发明实施例所述的第j跳链路的可用带宽%的示意图之一;
[0146] 图9c为本发明实施例所述的第j跳链路的可用带宽%的示意图之二;
[0147] 图10为本发明实施例所述的确定第一检测路径是否有遭受网络攻击的流程示意 图;
[0148] 图11为本发明实施例所述的获取当前检测参数的流程示意图之三;
[0149] 图12为本发明实施例所述的检测节点的结构示意图之一;
[0150] 图13为本发明实施例所述的获取单元的结构示意图;
[0151] 图14为本发明实施例所述的发送单元的结构示意图;
[0152] 图15为本发明实施例所述的检测节点的结构示意图之二;
[0153] 图16为本发明实施例所述的检测节点的结构示意图之三;
[0154] 图17为本发明实施例所述的定位单元的结构示意图;
[0155] 图18为本发明实施例所述的第一种网络结构示意图;
[0156] 图19为本发明实施例所述的第二种网络结构示意图;
[0157] 图20为本发明实施例所述的第三种网络结构示意图;
[0158] 图21a至图21d为本发明一个示例中检测参数的示意图;
[0159] 图22a至图22d为本发明另一个示例中检测参数的示意图;
[0160] 图23为本发明一个示例中可用带宽的累积分布函数;
[0161] 图24a至图24d为本发明一个示例中检测参数的示意图;
[0162] 图25为本发明另一个示例中可用带宽的累积分布函数;
[0163] 图26为本发明示例所述的检测节点和目标节点发送的数据包的示意图;
[0164] 图27为本发明示例所述的检测节点的结构示意图;
[0165] 图28为本发明示例所述的网络攻击检测方法的流程示意图。

【具体实施方式】
[0166] 以下结合说明书附图及具体实施例对本发明的技术方案做进一步的详细阐述。
[0167] 方法实施例一:
[0168] 如图1所示,本实施例提供一种网络攻击检测方法,所述方法包括:
[0169] 步骤S110 :进行网络拓扑分析,依据网络拓扑分析结果形成包括至少一条检测路 径的检测路径集合;
[0170] 步骤S120 :通过第一检测路径向目标节点发送检测数据包;所述第一检测路径为 所述检测路径集合中的一条所述检测路径;
[0171] 步骤S130 :接收目标节点在所述检测数据包触发下发送的响应数据包;
[0172] 步骤S140 :依据所述响应数据包的接收参数以及所述响应数据包携带的信息,获 取当前检测参数;
[0173] 步骤S150 :依据所述当前检测参数及历史检测数据,确定所述第一检测路径是否 有遭受网络攻击。
[0174] 网络攻击有多种,本实施例所述的方法尤其适用于以堵塞网络链路造成网络瘫痪 的网络攻击;具体如DDoS攻击,且尤其适用于所述DDoS攻击中的低密度多连接洪水攻击 (Target Link Flooding Attack, LFA)。所述LFA为利用多个网络节点(所述网络节点可 为路由器、客户端或服务器)向同一目标链路发送低密度的合法数据流量(日常网络通信 涉及的常用数据包等),进而导致该段链路堵塞;通过该链路进行连接的网络节点,将无法 正常进行网络通信。现有常规的检测方法,通常是检测数据流是否是指定的通信格式等方 式来判断数据流是否合法,进而确定出是否遭受到攻击;而LFA采用的是合法数据流,常规 方法是无法检测出来的。
[0175] 综上所述,LFA具有以下特点:
[0176] 一次LFA将会形成大量的合法数据流对目标链路进行攻击,每一个数据流连接都 是基于正常的网络数据形成的,且每一个数据流的数据量都是有限的,因此对单个数据流 检测,会发现每一个数据流都是正常的。但是当大量数据流通过攻击同一目标链路中的同 一节点时,就会在在该节点产生大量流量造成拥塞。此外,LFA通常还会攻击不同的节点从 而改变遭受攻击的目标链路,这导致在固定的链路上设置检测应用来进行LFA检测,检测 效果差且检测成本差等问题。
[0177] LFA还具有以下特点:
[0178] 1)通过攻击,在网络中的重要链路引起严重的网络拥塞,以至于合法客户因所述 网络拥塞无法获得网络服务;若LFA发生在不重要的链路,可能无法达到使客户端无法获 得网络服务的目的。具体如校园网A与外网进行连接的链路有3条;其中,链路A承载了 校园网a正常情况下的数据流量的80% ;链路B承载了校园网a正常情况下的数据流量的 15% ;链路C承载了校园网a正常情况下的数据流量5% ;若此时LFA攻击链路C使链路 C形成网络拥堵,显然对校园网的正常运行没有多大的影响,无法达到使校园网内大部分客 户端无法获得网络服务的目的。
[0179] 2) -次LFA的持续时间会比传统的分布式DDoS的持续时间短,但持续时间也不能 太短,否则将LFA不会造成严重的网络拥堵。
[0180] 3)同一目标链路将遭受到多次LFA,否则LFA无法持续造成网络拥堵。
[0181] 利用本实施例所述方法,可针对LAF对网络攻击的特点,对网络拓扑结构进行分 析,选择出可能遭受LFA的目标链路形成第一检测路径。具体如,通常选择覆盖承载大量数 据流量的链路且稳定连接目标链路的第一检测路径形成所述第一检测路径集合。
[0182] 所述第一检测路径的一段连接的是检测节点,另一端连接的是目标节点;通常所 述目标节点可以选用公共服务器;所述目标节点上存储的数据足以形成响应数据包;具体 如进行一次检测,所述目标节点需要向检测节点发送20个数据包,每一个数据包数据部分 的数据量大小为lOOObytes ;则优选的目标节点为:至少存储有20000bytes的数据的节点。
[0183] 第一:在造成网络链路堵塞或网路瘫痪的网络攻击中,需要造成于防护区域与网 络连接由于链路的拥堵而中断,若选择不重要的链路,即便造成了网络拥堵也仅是轻微的 网络拥堵现象,而不能导致防卫区域与外界网络的中断,故网络攻击的目标链路应该是防 护区域连接到网络的重要链路。具体怎样的链路才是重要链路,通常为该段链路的连接率 及数据流量来确定是否为重要链路。
[0184] 步骤S120中由检测节点通过第一检测路径向目标节点发送检测数据包;所述检 测数据包为采用TCP(Transmission Control Protocol)数据包;所述TCP数据包的包头中 设有序列号(Sequency Number)以及应答号(Achnowledge Number)。
[0185] 所述序列号为当前发送的数据包的的起始字节的序号;所述应答号为接收端期待 发送端发送的下一数据包的起始字节的编号。
[0186] 所述序列号可以简写成SEQ,当节点A需要与节点B通信时,节点A向节点B发送 一个包含序列号的数据包,节点B接收到所述数据包后也向节点A发送一个包含序列号的 数据包;这样节点A和节点B各自按照自己的序列号开始互相通信。
[0187] 所述应答号为在握手阶段,确认序号将发送的序号加1作为回答,确认收到对方 的数据包同时发送对应的数据包;在数据传输阶段,应答号将发送方的序号加发送的数据 长度作为回答,表示接收到这些数据。
[0188] 在具体实现时,所述检测集合中的不同检测路径都将进行检测数据包及响应数据 包的收发,以对每一条检测路径都进行上述检测。
[0189] 所述目标节点在接收都所述检测数据包之后,在所述检测数据包的触发下,将返 回响应数据包;故在步骤S130中,检测节点将接收所述响应数据包;并将测量接收所述响 应数据包的接收参数,具体达到时间;多个响应数据包达到时间间隔;响应数据包发送时 间与对应的检测数据包发送时间之间的时间间隔等参数。依据当前是否有响应数据返回, 可以确定所述第一检测路径是否能收发数据包;依据响应数据包返回的数目,可以确定是 否出现丢包现象;依据响应数据包返回的时间可以确定是否出现传输延时。而这些信息都 将从不同的侧面反映出第一检测路径当前的网络状况;若遭受了网络攻击可能将导致检测 数据包无法达到目标节点;响应数据包无法返回检测节点;传输延时比平常大以及丢包显 现比平常严重等问题。
[0190] 故在本实施例的步骤S150中,依据当前检测参数与历史检测数据,来确定第一检 测路径是否有遭受网络攻击。具体如何确定,可以通过对所述当前检测参数和历史检测数 据,依据对比结果来确定;还可以将所述检测数据和历史检测数据转换成向量或矩阵等矢 量,通过计算矢量之间的距离来确定;具体的实现方法有多种,在此就不再做进一步详细的 阐述了。
[0191] 本实施例中提出了一种通过检测数据包来确定第一检测路径是否有遭受到网络 攻击的检测方法,相对于现有的通过检测网络中各节点的网络流量来确定是否有遭受到网 络攻击具有以下优点:
[0192] 第一:仅需在检测节点中安装对应的检测应用,无需如现有的基于数据流量的检 测方法一样,在各路由节点中安装检测应用,具有实现简便的优点,无需在归属他人的网络 节点中安装检测应用,具有应用简便及应用前景大的优点;
[0193] 第二:本实施例所述的方法相对于基于数据包的检测方法,还能检测出以合法数 据流进行攻击的网络攻击;
[0194] 第三:采用检测节点通过向目标节点发送检测数据包,依据检测数据包触发的响 应数据包来确定当前第一检测路径是否遭受了网络攻击攻击,无需各路由节点上报数据流 量通过多重分析来确定是否遭受网络攻击,能够依据响应数据包携带的信息及接收参数, 快速确定出是否遭受了网络攻击。
[0195] 方法实施例二:
[0196] 如图1所示,本实施例提供一种网络攻击检测方法,所述方法包括:
[0197] 步骤S110 :进行网络拓扑分析,依据网络拓扑分析结果形成包括至少一条检测路 径的检测路径集合;
[0198] 步骤S120 :通过第一检测路径向目标节点发送检测数据包;
[0199] 步骤S130 :接收目标节点在所述检测数据包触发下发送的响应数据包;
[0200] 步骤S140 :依据所述响应数据包的接收参数以及所述响应数据包携带的信息,获 取当前检测参数;
[0201] 步骤S150 :依据所述当前检测参数及历史检测数据,确定所述第一检测路径是否 有遭受网络攻击。
[0202] 所述检测数据包携带有序列号和应答号;所述响应数据包携带有依据所述检测数 据包的序列号和应答号生成的序列号和应答号;
[0203] 如图2所示,所述步骤S140包括:
[0204] 步骤S141 :依据所述检测数据包的序列号、所述检测数据包的应答号、所述响应 数据包的序列号和所述响应数据包的应答号,确定正向路径丢包信息及逆向路径丢包信 息;
[0205] 步骤S142 :依据所述响应数据包达到时间及所述响应数据包的数据量确定逆向 路径可用带宽;
[0206] 步骤S143 :所述响应数据包的达到时间及所述检测数据包的数据量确定正向路 径可用带宽。
[0207] 当发生网络攻击时,遭受攻击的目标链路将出现网络拥堵,就会导致数据包无法 发送,网络节点就会将部分或全部数据包丢掉,进而导致丢包现象。对应的检测数据包的丢 包现象,将导致目标节点接收不到检测数据包,从而将不会发送所述响应数据包;从而可根 据是否接收到响应数据包及所述响应数据包中的序列号,确定出当前目标节点接收了几个 检测数据包;根据所述响应数据包中应答号,可确定出丢失的检测数据包的序号。
[0208] 具体如发送了两个检测数据包;第一个检测数据包的序列号及应答号均为1 ;若 目标节点仅接收了一个检测数据包;第一个数据包丢失了,在这种情况下,通常目标节点没 有接收到检测节点发送的第一个检测数据包的数据,则目标节点将可能在响应数据包中的 应答号中请求其未接收到的数据,此时表明目标节点未接收到所述检测数据包,正向路径 出现丢包。依据响应数据包的序列号,通过所述序列号可以确定出是否出现不连号的现象, 而在指定的时间内目标节点也没有在响应数据包中通过应答号来请求相应检测数据包携 带的数据,则可能逆向路径出现了丢包。
[0209] 所述确定逆向路径可用带宽,具体可包括:确定在检测数据包作用下,同时发送的 两个响应数据包达到检测节点的达到时间差;确定所述响应数据包的数据量;依据所述时 间差及数据量确定出逆向路径的可用带宽。
[0210] 所述确定正向路径可用带宽,具体可包括:发送两个将触发响应数据包的两个检 测数据包;确定接收所述两个响应数据包的达到时间差;确定在时间差内,目标节点接收 的从检测端发送的数据包的数据量;依据所述时间差和所述数据量确定所述正向路径可用 带宽。
[0211] 当发生网络攻击时,由于被攻击的目标链路被与其连接的网络节点发送各种形式 的合法数据流堵塞,该目标链路的可用带宽将骤减;而一条第一检测路径的可用带宽决定 各链路的最小可用带宽;故在本实施例中还根据收发数据包的时间及传输的数据量来确定 正向路径可用带宽以及逆向路径可用带宽;进而确定出第一检测路径是否遭受网络攻击 (如LFA),且是逆向路径遭受网络攻击还是正向路径遭受了网络攻击。
[0212] 本实施例在实施例一的基础上,限定所述当前检测参数包括哪些,具体如何获得 的,这些参数能准确度的反映出当前检测链路是否遭受了网络攻击,具有检测简便的优点。
[0213] 方法实施例三:
[0214] 如图1所示,本实施例提供一种网络攻击检测方法,所述方法包括:
[0215] 步骤S110 :进行网络拓扑分析,依据网络拓扑分析结果形成包括至少一条检测路 径的检测路径集合;
[0216] 步骤S120 :通过第一检测路径向目标节点发送检测数据包;
[0217] 步骤S130 :接收目标节点在所述检测数据包触发下发送的响应数据包;
[0218] 步骤S140 :依据所述响应数据包的接收参数以及所述响应数据包携带的信息,获 取当前检测参数;
[0219] 步骤S150 :依据所述当前检测参数及历史检测数据,确定所述第一检测路径是否 有遭受网络攻击。
[0220] 所述检测数据包携带有序列号和应答号;所述响应数据包携带有依据所述检测数 据包的序列号和应答号生成的序列号和应答号;
[0221] 如图2所示,所述步骤S140包括:
[0222] 步骤S141 :依据所述检测数据包的序列号、所述检测数据包的应答号、所述响应 数据包的序列号和所述响应数据包的应答号,确定正向路径丢包信息及逆向路径丢包信 息;
[0223] 步骤S142 :依据所述响应数据包达到时间及所述响应数据包的数据量确定逆向 路径可用带宽;
[0224] 步骤S143 :所述响应数据包的达到时间及所述检测数据包的数据量确定正向路 径可用带宽。
[0225] 如图3所示,所述步骤S120包括:
[0226] 步骤S1201 :确定第一 TCP接收窗口值和TWP响应数据包的报文长度MSS ;其中,所 述第一指定TCP接收窗口值用于控制所述目标节点返回w个报文长度为所述MSS的TWP响 应数据包;所述w为不小于2的正整数;
[0227] 步骤S1202 :依据所述第一 TCP接收窗口值及所述MSS形成第一 TWP检测数据包;
[0228] 步骤S1203 :通过所述第一检测路径向所述目标节点发送所述第一 TWP检测数据 包;
[0229] 所述步骤S130包括:
[0230] 接收目标节点在所述第一 TWP检测数据包触发下返回的w个TWP响应数据包;
[0231] 所述步骤S142包括:
[0232] 确定第1个所述TWP响应数据包与第w个所述TWP响应数据包的达到时间之间的 时间间隔
[0233] 依据所述G,、所述w及所述MSS计算检测节点与目标节点之间的逆向路径可用带

【权利要求】
1. 一种网络攻击检测方法,其特征在于, 所述方法包括: 进行网络拓扑分析,依据网络拓扑分析结果形成包括至少一条检测路径的检测路径集 合; 通过第一检测路径向目标节点发送检测数据包;所述第一检测路径为所述检测路径集 合中的一条所述检测路径; 接收目标节点在所述检测数据包触发下发送的响应数据包; 依据所述响应数据包的接收参数以及所述响应数据包携带的信息,获取当前检测参 数; 依据所述当前检测参数及历史检测数据,确定所述第一检测路径是否有遭受网络攻 击。
2. 根据权利要求1所述的方法,其特征在于, 所述检测数据包携带有序列号和应答号;所述响应数据包携带有依据所述检测数据包 的序列号和应答号生成的序列号和应答号; 所述依据所述响应数据包的接收参数以及所述响应数据包携带的信息,获取当前检测 参数,包括: 依据所述检测数据包的序列号、所述检测数据包的应答号、所述响应数据包的序列号 和所述响应数据包的应答号,确定正向路径丢包信息及逆向路径丢包信息; 依据至少两个所述响应数据包的达到时间及所述响应数据包的数据量确定逆向路径 可用带宽; 依据所述响应数据包达到时间及所述检测数据包的数据量确定正向路径可用带宽。
3. 根据权利要求2所述的方法,其特征在于, 所述通过第一检测路径向目标节点发送检测数据包,包括: 确定第一 TCP接收窗口值和TWP响应数据包的报文长度MSS ;其中,所述第一 TCP接收 窗口值用于控制所述目标节点返回w个报文长度为所述MSS的TWP响应数据包;所述w为 不小于2的正整数; 依据所述第一 TCP接收窗口值及所述MSS形成第一 TWP检测数据包; 通过所述第一检测路径向所述目标节点发送所述第一 TWP检测数据包; 所述接收目标节点在所述检测数据包触发下发送的响应数据包,包括: 接收目标节点在所述第一 TWP检测数据包触发下返回的w个TWP响应数据包; 所述依据至少两个所述响应数据包的达到时间及所述响应数据包的数据量确定逆向 路径可用带宽,包括: 确定第1个所述TWP响应数据包与第w个所述TWP响应数据包的达到时间之间的时间 间隔; 依据所述4、所述w及所述MSS计算检测节点与目标节点之间的逆向路径可用带宽 0 r〇
4. 根据权利要求2所述的方法,其特征在于, 所述通过第一检测路径向目标节点发送检测数据包,包括: 按照发送先后顺序形成依次包括第一 ACK包、队个负载数据包及第二ACK包的检验包 队列;其中,所述队为不小于1的整数; 通过所述第一检测路径向目标节点发送检验包队列; 所述接收目标节点在所述检测数据包触发下发送的响应数据包,包括: 接收所述目标节点基于所述第一 ACK包反馈的第一 mRTP响应数据包及基于所述第二 ACK包反馈的第二mRTP响应数据包; 所述所述响应数据包的达到时间及所述检测数据包的数据量确定正向路径可用带宽, 包括: 依据第一mRTP反馈数据包及所述第二mRTP响应数据包的达到时间确定达到时间间隔 ga; 依据&、所述队及所述算检测节点与目标节点之间的正向路径可用带宽0 其中,&为所述负载数据携带的数据量。
5. 根据权利要求4所述的方法,其特征在于, 所述通过第一检测路径向目标节点发送检测数据包,还包括: 在所述按照发送先后顺序形成依次包括第一 ACK包、队个负载数据包及第二ACK包的 检验包队列之前,还包括确定所述第一 ACK包的第一序列号;所述第二ACK包的第二序列 号; 其中,所述第一序列号大于所述第二序列号。
6. 根据权利要求2所述的方法,其特征在于, 所述通过第一检测路径向目标节点发送检测数据包,包括: 通过所述第一检测路径向目标节点连续发送n个携带有序列号及指定的应答号的RTP 检测数据包;所述n为不小2的正整数; 所述接收目标节点在所述检测数据包触发下发送的响应数据包,包括: 接收所述目标节点在n个所述RTP检测数据包触发下,依据所述序列号以及应答号返 回的包括序列号及应答号的RTP响应数据包; 所述依据所述检测数据包的序列号、所述检测数据包的应答号、所述响应数据包的序 列号和所述响应数据包的应答号,确定正向路径丢包信息及逆向路径丢包信息,还包括: 依据所述RTP检测数据包的序列号、所述RTP检测数据包的应答号、所述RTP响应数据 包的序列号所述RTP响应数据包的应答号,确定正向路径RTP丢包率及逆向路径RTP丢包 率。
7. 根据权利要求1至6任一项所述的方法,其特征在于, 所述依据所述响应数据包的接收参数以及所述响应数据包携带的信息,获取当前检测 参数,还包括: 依据所述检测数据包的发送时间及所述响应数据包的达到时间,确定往返时间RTT ; 依据第一指定时间内至少两次所述检测数据包的发送时间及对应的所述响应数据包 的达到时间,确定所述往往时间RTT的波动。
8. 根据要求1至6任一项所述的方法,其特征在于, 所述检测数据包及所述响应数据包均携带有序列号及应答号; 所述依据所述响应数据包的接收参数以及所述响应数据包携带的信息,获取当前检测 参数,还包括: 依据所述检测数据包的序列号、所述检测数据包的应答号、所述响应数据包的序列号 和所述响应数据包的应答号,确定正向路径乱序信息; 依据所述响应数据包的达到时间确定逆向路径乱序信息。
9. 根据权利要求1至6任一项所述的方法,其特征在于, 所述方法还包括: 在确定出所述第一检测路径遭受网络攻击时,逐跳定位所述第一检测路径中遭受所述 网络攻击的目标链路。
10. 根据权利要求9所述的方法,其特征在于, 所述在确定出所述第一检测路径遭受网络攻击时,逐跳定位所述第一检测路径中遭受 所述网络攻击的目标链路,包括: 确定各第一检验包中的生命周期TTL值;第i个发送的第一检验包的TTL值为i,任意 两个所述第一检验包的TTL值均不同;所述i为不大于所述h的正整数;所述h为所述第一 检测路径包括的链路总跳数;每经过一个节点所述TTL值减1 ; 依据所述TTL值,形成h个携带有生命周期TTL值的第一检验包; 发送所述第一检验包;其中, 接收所述检测链路中各节点在所述第一检验包的TTL值减为0时,返回的第一反馈 包; 依据所述第一反馈包,定位遭受所述网络攻击的待测潜在链路; 依据至少经过部分所述待测潜在链路的第二检测路径的检测结果,定位遭受所述网络 攻击的目标链路; 其中,所述第二检测路径是所述检测路径集合中不同于所述第一检测路径的一条检测 路径。
11. 一种网络攻击检测节点,其特征在于, 所述节点包括: 分析单元,用于进行网络拓扑分析,依据网络拓扑分析结果形成包括至少一条检测路 径的检测路径集合; 发送单元,用于通过第一检测路径向目标节点发送检测数据包;所述第一检测路径为 所述检测路径集合中的一条所述检测路径; 接收单元,用于接收目标节点在所述检测数据包触发下发送的响应数据包; 获取单元,用于依据所述响应数据包的接收参数以及所述响应数据包携带的信息,获 取当前检测参数; 确定单元,用于依据所述当前检测参数及历史检测数据,确定所述第一检测路径是否 有遭受网络攻击。
12. 根据权利要求11所述的节点,其特征在于, 所述检测数据包携带有序列号和应答号;所述响应数据包携带有依据所述检测数据包 的序列号和应答号生成的序列号和应答号; 所述获取单元,包括: 第一获取模块,用于依据所述检测数据包的序列号、所述检测数据包的应答号、所述响 应数据包的序列号和所述响应数据包的应答号,确定正向路径丢包信息及逆向路径丢包信 息; 第二获取模块,用于依据至少两个所述响应数据包的达到时间及所述响应数据包的数 据量确定逆向路径可用带宽; 第三获取模块,用于依据所述响应数据包达到时间及所述检测数据包的数据量确定正 向路径可用带宽。
13. 根据权利要求12所述的节点,其特征在于, 所述发送单元包括: 第一确定模块,用于确定第一 TCP接收窗口值和TWP响应数据包的报文长度MSS ;其 中,所述第一 TCP接收窗口值用于控制所述目标节点返回w个报文长度为所述MSS的TWP 响应数据包;所述w为不小于2的正整数; 第一形成模块,用于依据所述第一 TCP接收窗口值及所述MSS形成第一 TWP检测数据 包; 发送模块,用于通过所述第一检测路径向所述目标节点发送所述第一 TWP检测数据 包; 所述接收单元,具体用于接收目标节点在所述第一 TWP检测数据包触发下返回的w个 TWP响应数据包; 所述第二获取模块,具体用于确定第1个所述TWP响应数据包与第w个所述TWP响应 数据包的达到时间之间的时间间隔及依据所述Gp所述w及所述MSS计算检测节点与目 标节点之间的逆向路径可用带宽L。
14. 根据权利要求12所述的节点,其特征在于, 所述发送单元,包括: 第二形成模块,用于按照发送先后顺序形成依次包括第一 ACK包、队个负载数据包及第 二ACK包的检验包队列;其中,所述队为不小于1的整数; 发送模块,用于通过所述第一检测路径向目标节点发送检验包队列; 所述接收单元,具体用于接收所述目标节点基于所述第一 ACK包反馈的第一 mRTP响应 数据包及基于所述第二ACK包反馈的第二mRTP响应数据包; 所述第三获取模块,具体用于依据第一 mRTP反馈数据包及所述第二mRTP响应数据包 的达到时间确定达到时间间隔GA;及依据公式S p所述队及所述G 4计算检测节点与目标节 点之间的正向路径可用带宽ee; 其中,&为所述负载数据携带的数据量。
15. 根据权利要求12所述的节点,其特征在于, 所述发送单元,具体用于通过所述第一检测路径向目标节点连续发送n个携带有序列 号及指定的应答号的RTP检测数据包;所述n为不小2的正整数; 所述接收单元,具体用于接收所述目标节点在n个所述RTP检测数据包触发下,依据所 述序列号以及应答号返回的包括序列号及应答号的RTP响应数据包; 所述获取单元,具体用于依据所述RTP检测数据包的序列号、所述RTP检测数据包的应 答号、所述RTP响应数据包的序列号所述RTP响应数据包的应答号,确定正向路径RTP丢包 率及逆向路径RTP丢包率。
16. 根据权利要求11至15任一项所述的节点,其特征在于, 所述获取单元,用于依据所述检测数据包的发送时间及所述响应数据包的达到时间, 确定往返时间RTT ;及依据第一指定时间内至少两次所述检测数据包的发送时间及对应的 所述响应数据包的达到时间,确定所述往往时间RTT的波动。
17. 根据要求11至15任一项所述的节点,其特征在于, 所述检测数据包及所述响应数据包均携带有序列号及应答号; 所述获取单元,还用于依据所述检测数据包的序列号、所述检测数据包的应答号、所述 响应数据包的序列号和所述响应数据包的应答号,确定正向路径乱序信息;及依据所述响 应数据包的达到时间确定逆向路径乱序信息。
18. 根据权利要求11至15任一项所述的节点,其特征在于, 所述节点还包括: 定位单元,还用于在确定出所述第一检测路径遭受网络攻击时,逐跳定位所述第一检 测路径中遭受所述网络攻击的目标链路。
19. 根据权利要求18所述的方法,其特征在于, 所述定位单元,包括: 第三确定模块,用于确定各第一检验包中的生命周期TTL值;第i个发送的第一检验 包的TTL值为i,任意两个所述第一检验包的TTL值均不同;所述i为不大于所述h的正整 数;所述h为所述第一检测路径包括的链路总跳数;每经过一个节点所述TTL值减1 ; 第三形成模块,用于依据所述TTL值,形成h个携带有生命周期TTL值的第一检验包; 所述发送单元,还用于发送所述第一检验包;其中, 所述接收单元,还用于接收所述检测链路中各节点在所述第一检验包的TTL值减为0 时,返回的第一反馈包; 所述定为单元还包括: 定位模块,用于依据至少经过部分所述待测潜在链路的第二检测路径的检测结果,定 位遭受所述网络攻击的目标链路; 其中,所述第二检测路径是所述检测路径集合中不同于所述第一检测路径的一条检测 路径。
20. 根据权利要求19所述的方法,其特征在于, 所述第三确定模块,还用于确定各第二检验包中的生命周期TTL值;第i个发送的第二 检验包的TTL值为h-i,任意两个所述第二检验包的TTL值均不同;所述i为0或小于所述 h的正整数; 所述第三形成模块,还用于依据所述TTL值形成h个第二检验包且形成至少一个负载 数据包; 所述发送单元,还用于在发送所述第一检验包之后,还依次发送至少一个负载数据包 及所述第二检验包; 所述接收单元,还用于接收所述检测链路中各节点在所述第二检验包的TTL值减为0 时,返回的第二反馈包; 所述定位单元还包括: 第一计算模块,用于依据6」及1计算所述第一检测路径中第j跳链路的可用带宽0 j;所述j为不大于所述h的正整数; 其中,所述为所述TTL值为j的第一检验包触发的第一反馈包的达到时间与所述TTL 值为j的第二检验包触发的第二反馈包的达到时间的时间差; 所述%为所述TTL值为j的第一检验包与第二检验包之间各数据包的数据量总和; 所述定位模块,还用于依据所述第一反馈包及所述0」,定位遭受所述网络攻击的待测 潜在链路。
【文档编号】H04L29/06GK104506482SQ201410532769
【公开日】2015年4月8日 申请日期:2014年10月10日 优先权日:2014年10月10日
【发明者】薛磊, 刘志伟, 邹贤能, 侯金刚, 罗夏朴, 陈焕华, 涂沛, 邵玉如 申请人:香港理工大学, 腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1