发明名称 一种P2P网络中协作抵抗覆盖层DDoS攻击的方法
摘要 本发明涉及一种P2P网络中协作抵抗覆盖层DDoS攻击的方法。现有的方法抵抗性能差。本发明方法首先检测P2P网络中的节点在检测周期内收到的零目的消息数量是否超过该节点的攻击容忍度,然后让收到协作抵抗消息的节点读取消息,并进行协助处理;若第i层节点在2xΔt的时间内不做响应,而第i-1层节点检测到来自第i层节点的攻击,则该节点会断开与第i层节点的连接或不为第i层节点提供服务。通过上述过程向攻击源节点逼近,节点间协作地对攻击消息进行检测和抑制,使第0层节点收到的零目的消息数量在其攻击容忍度Θ内。本发明通过逐级的回溯过程尽可能使靠近攻击源的节点能检测出攻击并对攻击源进行抑制,以此减少受影响的节点数量。
申请公布号 CN101895541B 申请公布日期 2012.12.26
申请号 CN201010224719.5 申请日期 2010.07.09
申请人 浙江省公众信息产业有限公司;浙江大学 发明人 宋革联;王茂华;孙小华;赵帆程;陈炜;陈惠芳;谢磊;沈佳峰;陈高翔
分类号 H04L29/06(2006.01)I;H04L29/08(2006.01)I 主分类号 H04L29/06(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 杜军
主权项 一种P2P网络中协作抵抗覆盖层DDoS攻击的方法,其特征在于该方法包括以下步骤:步骤(1)P2P网络中的一个节点在一个检测周期Δt内收到的零目的消息数量超过该节点的攻击容忍度Θ,则认为该节点已受到分布式拒绝服务DDoS攻击,受到DDoS攻击的节点记为第0层节点;第0层节点根据记录的消息读取其下一层节点的信息,第0层节点将其协作抵抗容忍度Γ改变为其攻击容忍度Θ,并在下一个Δt内检测下一层节点中各个节点发送的零目的消息个数;第i层节点根据检测结果,发送协作抵抗消息给第i+1层中零目的消息发送数量超过检测容忍度Γ’的节点,要求其进行协助检测,i是自然数;其中Γ’=e‑m/n×Γ/m,m表示本节点的下一层节点个数,n表示P2P网络中的最大节点个数,n为常数;所述的零目的消息是指以第0层节点为目的节点的查询消息;所述的第i层节点是指与第0层节点之间的跳数为i的节点;所述的下一层节点是指消息路由过程中的上一跳节点,即第i层节点为第i‑1层节点的下一层节点,第i‑1层节点为第i层节点的上一层节点;所述的协作抵抗消息包含两个参数(Γ’,x);其中x表示第i层节点收到的消息的最大跳数,收到该消息的节点须在2xΔt内做出响应;步骤(2)收到协作抵抗消息的节点读取消息中的(Γ’,x),并进行协助处理;所述的协助处理方法是:a.节点的协作容忍度Γ根据从上一层节点收到的协作抵抗消息进行改变,即本节点的协作容忍度Γ改变为上一层节点的检测容忍度Γ’;b.节点在下一个Δt内检测由下一层节点发送的零目的消息个数是否超过本节点的检测容忍度Γ’;若节点未检测到下一层有零目的消息发送数量超过Γ’的节点,则认为没有检测到攻击,对收到的协作抵抗消息不予响应;若节点检测到下一层节点发送的零目的消息数量超过Γ’,则将当前最大跳数X减去1,并发送包 含(Γ’,x)参数的协作抵抗消息给该节点的零目的消息发送数量超过Γ’的下一层节点;步骤(3)若第i层节点在2xΔt的时间内不做响应,而第i‑1层节点检测到来自第i层节点的攻击,则第i‑1层节点会断开与第i层节点的连接或不为第i层节点提供服务;通过步骤(1)至步骤(3)这样的过程不断地向攻击源节点逼近,节点间协作地对攻击消息进行检测和抑制,最终使第0层节点收到的零目的消息数量在其攻击容忍度Θ内,从而能对合法节点提供正常的服务;所述的P2P网络中的节点由消息处理单元、攻击检测单元和攻击协作抵抗单元组成;消息处理单元:节点收到一个消息时,根据消息类型的不同进行相应的处理,具体方法是:1)节点在收到一个消息时,消息处理单元首先判断该消息的类型;2)若该消息是协作抵抗消息,则将协作抵抗消息中的参数(Γ’,x)传递至攻击协作抵抗单元;3)若该消息是普通的路由消息或查询消息,则记录该消息的内容、跳数及下一层节点,对于内容和源节点都相同的消息不重复记录,对于目的节点不同的消息做相应的处理,具体是:3‑1)若本节点是该消息的目的节点,则将该消息进行响应并传递至攻击检测单元;3‑2)若本节点不是该消息的目的节点,则对收到的消息做跳数加1的处理并根据路由表进行转发;攻击检测单元:节点在每一个检测周期Δt内检测收到的以本节点为目的节点的消息数量是否超过其攻击容忍度Θ;攻击检测单元若检测未遭受DDoS攻击,则对这些消息进行正常地响应,否则通知该节点的攻击协作抵抗单元进行抵抗;攻击协作抵抗单元:节点收到攻击检测单元的通知或协作抵抗消息后,攻击协作抵抗单元读取本节点的攻击容忍度Θ或上一层节点发送的协作抵抗消息中的检测容忍度Γ’,并作如下处理:①本节点的协作抵抗容忍度Γ改变为收到的协作抵抗消息中的检测容忍度Γ’或本节点的协作抵抗容忍度Γ改变为本节点的攻击容忍度Θ;②在下一个Δt内检测下一层节点中是否有发送零目的消息数量超过本节点的检测容忍度Γ’的节点,若节点未检测到下一层节点中有发送零目的消息数量超过Γ’的节点,则对协作抵抗消息不予响应;若节点检测到下一层节点发送的零目的消息数量超过Γ’,则将当前最大跳数x减去1,并发送包含(Γ’,x)参数的协作抵抗消息给该节点的下一层节点中发送的零目的消息数量超过Γ’的节点。
地址 310005 浙江省杭州市莫干山路118号