技术领域
本发明涉及通信技术,尤其涉及一种分布式拒绝服务DDOS攻击的防护方法、设备及系统。
传统的拒绝服务(Denail of Service;以下简称:DoS)攻击主要进行一对一的攻击方式,最基本的DoS攻击是利用合理的服务请求来占用过多的服务资源,从而使服务器无法处理合法用户的指令。随着计算机与网络技术的发展,在传统的DoS攻击基础之上产生了分布式拒绝服务(Distribution Denial ofService;以下简称:DDoS)攻击,即采用多对一的方式进行攻击。
分布式哈希表(Distributed Hash Table;以下简称:DHT)技术是一种分布式存储方法,在不需要服务器的情况下,使得接入DHT网络中的任何一个节点(即一台计算机)都实现服务器的部分功能,使得用户的下载不再依靠于服务器。
发明人在实现本发明的过程中,发现现有技术的一种分布式拒绝服务DDOS攻击的防护方法,在DHT网络中设置受信节点,通过该受信节点对新加入节点的节点签名和标识(Identity;以下简称:ID)进行认证。但恶意节点在加入DHT网络的过程中,可能伪造节点签名和ID而通过受信节点的认证并加入DHT网络。当其他节点向恶意节点发送查询业务请求提供节点的请求消息时,恶意节点将伪造指向被攻击节点的反馈信息返回给发出请求的节点,发出请求的节点还会将指向被攻击节点的反馈信息扩散到DHT网络中的其他节点,导致DHT网络中大量的节点向被攻击节点发出请求,从而占用被攻击节点的资源,而使向被攻击节点发出正常请求的节点得不到响应。
本发明的目的是提供一种分布式拒绝服务DDOS攻击的防护方法、设备及系统,以解决现有技术中伪造报文在DHT网络中扩散,被攻击节点的资源被占用,使得向被攻击节点发出正常请求的节点得不到响应的问题。
为实现上述目的,本发明实施例提供了一种分布式拒绝服务DDOS攻击的防护方法,包括:
业务请求节点向至少一个被请求节点发送业务查询请求,所述业务查询请求中包含有所请求的业务标识信息;
所述业务请求节点接收至少一个被请求节点的反馈消息,所述反馈消息中包含有所述业务标识信息对应的业务提供节点的IP地址、端口号信息以及所述被请求节点对所述业务提供节点的信任率;
所述业务请求节点根据所述业务提供节点的IP地址、端口号信息向所述业务提供节点发送业务请求;
根据所述业务提供节点对所述业务请求的响应情况更新所述业务提供节点在本地记录信息中的信任率,包括:当在预设的时间内没有接收到所述业务提供节点对所述业务请求的响应消息时,所述业务请求节点对所述本地记录信息中所述业务提供节点的信任率进行衰减处理;当在预设的时间内接收到所述业务提供节点对所述业务请求的响应消息时,所述业务请求节点对所述本地记录信息中所述业务提供节点的信任率进行增益处理;
当所述业务提供节点在本地记录信息中的信任率低于预设阈值时,删除所述本地记录信息中所述业务提供节点的相关信息。
本发明实施例还提供了一种分布式拒绝服务DDOS攻击的防护方法,包括:
被请求节点接收业务查询请求,所述业务查询请求中包含有所请求的业务标识信息;
所述被请求节点根据所述业务标识信息在本地记录信息中查找对应的业务提供节点的相关信息,所述本地记录信息中包含有业务标识信息以及对应的信任率高于预设阈值的业务提供节点信息,所述业务提供节点的相关信息包括所述业务提供节点的IP地址、端口号信息以及对所述业务提供节点的信任率;
当查找到所述业务标识信息对应的业务提供节点的相关信息时,所述被请求节点发送反馈消息,所述反馈消息中包含有所述业务提供节点的IP地址、端口号以及所述信任率。
本发明实施例提供一种业务请求节点,包括:
查询模块,用于向至少一个被请求节点发送业务查询请求,所述业务查询请求中包含有所请求的业务标识信息;
接收模块,用于接收至少一个被请求节点的反馈消息,所述反馈消息中包含有所述业务标识信息对应的业务提供节点的IP地址、端口号信息以及所述被请求节点对所述业务提供节点的信任率;
业务请求模块,用于根据所述业务提供节点的IP地址、端口号信息向所述业务提供节点发送业务请求;
更新模块,用于根据所述业务提供节点对所述业务请求的响应情况更新所述业务提供节点在本地记录信息中的信任率,包括:第一更新子单元,用于当在预设的时间内没有接收到所述业务节点对所述业务请求的响应消息时,对所述本地记录信息中所述业务提供节点的信任率进行衰减处理;第二更新子单元,用于当在预设的时间内接收到所述业务节点对所述业务请求的响应消息时,对所述本地记录信息中所述业务提供节点的信任率进行增益处理;
处理模块,用于当所述业务提供节点在本地记录信息中的信任率低于预设阈值时,删除所述本地记录信息中所述业务提供节点的信息。
本发明实施例提供一种被请求节点,包括:
接收单元,用于接收业务查询请求,所述业务查询请求中包含有所请求的业务标识信息;
查找单元,用于根据所述业务标识信息在本地记录信息中查找对应的业务提供节点的相关信息,所述业务提供节点的相关信息包括所述业务提供节点的IP地址、端口号信息以及对所述业务提供节点的信任率;
发送单元,用于当查找到所述业务标识信息对应的业务提供节点的相关信息时,发送反馈消息,所述反馈消息中包含有所述业务提供节点的IP地址、端口号以及所述信任率。
本发明实施例还提供了一种分布式拒绝服务DDOS攻击的防护系统,包括:请求节点、被请求节点和业务提供节点;
所述请求节点,用于向至少一个被请求节点发送业务查询请求;接收至少一个被请求节点的反馈消息,根据所述反馈消息向业务提供节点发送业务请求,并根据所述业务提供节点对所述业务请求的响应情况更新所述业务提供节点在本地记录信息中的信任率,包括:当在预设的时间内没有接收到所述业务提供节点对所述业务请求的响应消息时,所述业务请求节点对所述本地记录信息中所述业务提供节点的信任率进行衰减处理;当在预设的时间内接收到所述业务提供节点对所述业务请求的响应消息时,所述业务请求节点对所述本地记录信息中所述业务提供节点的信任率进行增益处理;且当所述业务提供节点在本地记录信息中的信任率低于预设阈值时,删除所述本地记录信息中所述业务提供节点的相关信息;所述业务查询请求中包含有所请求的业务标识信息,所述反馈消息中包含有所述业务标识信息对应的业务提供节点的IP地址、端口号信息以及所述被请求节点对所述业务提供节点的信任率;
所述被请求节点,用于接收请求节点发送的所述业务查询请求,所述业务查询请求中包含有所请求的业务标识信息,并根据所述业务标识信息在本地记录信息中查找对应的业务提供节点的相关信息,当查找到所述业务标识信息对应的业务提供节点的相关信息时,向所述请求节点发送反馈消息,所述反馈消息中包含有所述业务提供节点的IP地址、端口号以及所述信任率,所述本地记录信息中包含有业务标识信息以及对应的信任率高于预设阈值的业务提供节点信息,所述业务提供节点的相关信息包括所述业务提供节点的IP地址、端口号信息以及对所述业务提供节点的信任率;当在预设的时间内没有接收到所述业务节点对所述业务请求的响应消息时,对所述本地记录信息中所述业务提供节点的信任率进行衰减处理;当在预设的时间内接收到所述业务节点对所述业务请求的响应消息时,对所述本地记录信息中所述业务提供节点的信任率进行增益处理;
所述业务提供节点,用于接收所述请求节点根据所述被请求节点的反馈消息发起的业务请求,所述业务请求中包含有所请求的业务标识信息,并根据所述业务标识信息向所述请求节点提供相应的业务。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一个实施例提供的分布式拒绝服务DDOS攻击的防护方法流程图,如图1所示,该方法包括:
S101、向至少一个被请求节点发送业务查询请求,业务查询请求中包含有所请求的业务标识信息;
具体的,在DHT网络中,当节点A有业务需求时,例如需要下载文件等需求,节点A会通过DHT网络中特定的规则或算法找到一个或多个节点,并向这些节点发出业务查询请求,查询业务提供节点,这些节点即为被请求节点,节点A向这些被请求节点发出的业务查询请求中可以包括所请求的业务标识信息,该业务标识信息中可以包括请求的业务名称、请求的业务类型等信息,例如:该业务标识信息可能为“下载多媒体文件”,则节点A向这些被请求节点发出业务查询请求表示了节点A向被请求节点查询“能够下载多媒体文件的节点”。
S102、接收至少一个被请求节点的反馈消息,反馈消息中包含有业务标识信息对应的业务提供节点的IP地址、端口号信息以及被请求节点对业务提供节点的信任率;
节点A在向这些被请求节点发出请求消息后,可能收到这些节点中的一个或多个节点返回的反馈消息,反馈消息中包括提供该业务标识信息对应的业务提供节点信息,即能够提供业务请求的业务提供节点信息,反馈消息中包括:业务提供节点的互联网协议(Internet Protocol;以下简称:IP)地址、端口号和被请求节点对业务提供节点的信任率,可以用<IP,port,trustrate>来表示,其中,通过<IP,port>能够唯一确定DHT网络中的一个节点,信任率(trustrate)表示了被请求节点对该业务提供节点的信任程度,本实例中可以用信任率来反应业务提供节点对相应的业务请求的响应概率。
S103、根据业务提供节点的IP地址、端口号信息向业务提供节点发送 业务请求;
S104、根据业务提供节点对业务请求的响应情况更新业务提供节点在本地记录信息中的信任率;
由于S101中请求节点会向网络中的至少一个被请求节点发送业务查询请求,在接收到第一个被请求节点返回的反馈消息后,通常会根据该反馈消息在本地记录中记录该反馈消息对应的业务提供节点的相关信息。因此,在接收到一个被请求节点返回的反馈消息时,本地记录信息中可能已经保存有该业务提供节点的相关信息。请求节点可以在向业务提供节点发送业务请求后,根据业务提供节点的实际响应情况对该业务提供节点在本地记录信息中的信任率进行更新,即根据业务提供节点对该业务请求是否响应来提高或降低本地记录信息中该业务节点的相关信息中的信任率,以动态的反应对该业务提供节点的信任程度。
S105、当业务提供节点在本地记录信息中的信任率低于预设阈值时,删除本地记录信息中业务提供节点的相关信息。
当该业务提供节点在本地记录信息中的信任率低到一定程度时,则说明该业务提供节点对业务请求无法响应的概率很大,该业务提供节点有可能是网络中恶意节点攻击的对象,即当恶意节点作为被请求节点时,向请求节点发送的反馈消息指向某一被攻击节点,而实际上该被攻击节点无法对该业务请求做出响应。因此,请求节点需要在本地记录信息中将该业务提供节点的相关信息删除,以防止该业务提供节点的相关信息向网络中其他请求节点扩散,进而防止该业务提供节点的资源被大量业务请求占用。
本实施例提供的分布式拒绝服务DDOS攻击的防护方法,通过DHT网络中的被请求节点对于查询业务请求的请求节点返回反馈消息,该反馈消息中通过信任率来标识业务提供节点对业务请求的响应概率,业务请求节点根据信任率和业务提供节点对业务请求的实际响应情况确定是否删除本地记录信息中的该业务提供节点的相关信息,进而使DHT网络中向被攻击 节点发出业务请求的节点大大减少,减少了被攻击节点的资源被占用以及向被攻击节点发出正常请求的节点得不到响应的情况。
图2为本发明又一个实施例提供的分布式拒绝服务DDOS攻击的防护方法流程图,如图2所示,该方法包括:
S201、向至少一个被请求节点发送业务查询请求,业务查询请求中包含有所请求的业务标识信息,执行S202;
具体的,在DHT网络中,当节点A有业务需求时,可以通过DHT网络中特定的规则或算法找到一个或多个节点,并向这些节点发出查询业务提供节点的业务查询请求消息,该业务查询请求消息中包括所请求的业务标识信息,业务标识信息中可以包括请求的业务名称、请求的业务类型等信息,以使被请求节点获知具体的业务需求。
S202、接收至少一个被请求节点的反馈消息,反馈消息中包含有业务标识信息对应的业务提供节点的IP地址、端口号信息以及被请求节点对业务提供节点的信任率,执行S203;
节点A在向这些被请求节点发出请求消息后,可能收到这些节点中的一个或多个节点返回的反馈消息,反馈消息中包括提供该业务标识信息对应的业务提供节点信息,该反馈消息中包括:业务提供节点的IP地址、端口号和被请求节点对业务提供节点的信任率,可以表示为<IP,port,trustrate>,其中,通过<IP,port>能够唯一确定DHT网络中的一个节点,信任率(trustrate)表示了被请求节点对该业务提供节点的信任程度。
S203、判断本地记录信息中是否包含有被请求节点反馈的业务提供节点的IP地址和端口号信息,是则执行S204,否则执行S205;
具体的,节点A向一个或多个被请求节点发出业务查询请求后,可能先后收到这些被请求节点中的一个或多个节点返回的反馈消息,而这些反馈消息可能指向同一个业务提供节点,节点A会根据最先接收到的反馈消息,在本地记录信息中记录业务提供节点的相关信息,因此,节点A在收到某 一被请求节点发送的反馈消息之前,本地记录信息中可能已经保存有该业务标识信息对应的业务提供节点的相关信息。
S204、根据反馈信息中的信任率以及本地记录信息中的该业务提供节点的信任率之间的最小值确定该业务提供节点在本地记录信息中的信任率,执行S206;
不同的被请求节点对于该业务提供节点的信任程度是不同的,因此不同的被请求节点返回的反馈消息中的信任率通常是不同的,则节点A接收到的反馈信息中的信任率通常与该业务提供节点在本地记录信息中的信任率通常是不同的。由于网络中的恶意节点作为被请求节点时,为了对某一节点进行攻击,通常向请求节点返回的反馈消息中具有较高的信任率,以便使请求节点向被攻击节点发起业务请求,因此为了防止恶意攻击,防止受害节点的信息在网络中进一步扩散,请求节点A可以将接收到的反馈消息中的信任率与该业务提供节点在本地记录信息中的信任率进行比较,选择反馈消息中的信任率与该业务提供节点在本地记录信息中的信任率之间的最小值作为该业务提供节点在本地记录信息中的信任率。
S205、根据被请求节点的反馈信息在本地记录信息中保存业务标识信息对应的业务提供节点的相关信息,执行S206;
具体的,当请求节点A的本地记录信息中没有被请求节点反馈消息中指向的业务提供节点信息,可以在收到反馈消息后在本地对该业务提供节点信息进行记录,该记录信息可以包括该业务提供节点的IP地址、端口号信息以及信任率,对于首次在请求节点A的本地记录信息中记录的业务提供节点的信任率,可以根据被请求节点反馈消息中的信任率来确定。
S206、根据反馈消息向业务提供节点发送业务请求,执行S207;
S207、判断是否在预设时间内接收到业务提供节点对业务请求的响应,是则执行S208,否则执行S209;
S208、当在预设的时间内接收到业务节点对业务请求的响应消息时, 对本地记录信息中该业务提供节点的信任率进行增益处理,执行S210;
S209、对本地记录信息中该业务提供节点的信任率进行衰减处理,执行S210;
具体的,若没有得到业务提供节点对于业务请求的响应,则说明业务提供节点为被攻击节点的可能性很大,则对本地记录信息中该业务提供节点的信任率做衰减处理,例如:可以将信任率乘以一个大于0小于1的数值,使信任率降低;相对的,若得到了业务提供节点对于业务请求的响应,则对本地记录信息中该业务提供节点的信任率做增益处理,例如:可以将信任率除以一个大于0小于1的数值,使信任率增大。这个大于0小于1的数值成为增益值或衰减值,具体的数值可以根据经验选取,例如可以选择增益值或衰减值为0.8,若本地记录信息中的该业务提供节点的信任率为80,若得不到业务提供节点的响应,用衰减值0.8乘以信任率80,使信任率由80降低为64。若得到响应,则用将信任率80除以0.8,使信任率由80提高到100。
S210、判断本地记录信息中该业务提供节点的信任率是否低于预设阈值,如果低于预设预置则执行S211,否则不进行处理,该流程结束;
S211、删除本地记录信息中该业务提供节点的相关信息。
为避免恶意节点提供的虚假反馈信息在网络中扩散,当本地记录信息中该业务提供节点的信任率小于某一信任阀值时,将本地记录信息中的该业务提供节点的相关信息删除,以防止该业务提供节点的相关信息进一步扩散给网络中的其他请求节点。其中,该信任阀值可以为一预设的数值,该数值可以为经验值,该信任阀值用来衡量是否将本地记录信息中该业务提供节点相关信息进行清除。
另外,即便业务提供节点为被攻击节点,在本次处理过程中,请求节点A向业务提供节点发出的业务请求没有得到响应,而本地记录信息中该业务提供节点的信任率又因为没有低于信任阀值而没有被删除,在下一次 处理过程中,当有其他节点向A发出查询业务请求时,节点A将信任率为64的反馈消息返回给该节点,若该节点仍然得不到业务提供节点的响应,则该节点会进一步对的信任率64做衰减处理,这样,经过一个或几个处理流程后,信任率便经过一次次的衰减,直到信任率低于信任阀值时被某一节点删除掉而不再向DHT网络中的其他节点扩散。
本实施例提供的分布式拒绝服务DDOS攻击的防护方法,DHT网络中的被请求节点对于查询业务请求的请求节点返回反馈消息,在反馈消息中通过信任率来标识业务提供节点对业务请求的响应概率,请求节点根据业务提供节点对业务请求的实际响应情况对本地记录信息中该业务提供节点对应的信任率进行衰减或增益处理,当信任率低于一定数值时则将本地记录信息中该业务提供节点对应的相关信息删除,从而防止了恶意节点指向的被攻击节点的相关信息在DHT网络中扩散,使DHT网络中向被攻击节点发出业务请求的节点大大减少,减少了被攻击节点的资源被占用以及向被攻击节点发出正常请求的节点得不到响应的情况。
图3为本发明另一个实施例提供的分布式拒绝服务DDOS攻击的防护方法流程图,如图3所示,该方法包括:
S301、接收请求节点发送的业务查询请求,业务查询请求中包含有所请求的业务标识信息;
具体的,请求节点发出的业务查询请求中包括业务标识信息,该业务标识信息中可以包括请求的业务名称、请求的业务类型等信息,例如:该业务标识信息可能为“下载多媒体文件”,则业务查询请求表示请求节点查询“能够下载多媒体文件的节点”。
S302、根据业务标识信息在本地记录信息中查找对应的业务提供节点的相关信息,相关信息包括业务提供节点的IP地址、端口号信息以及对业务提供节点的信任率,本地记录信息中包含有业务标识信息以及对应的信任率高于预设阈值的业务提供节点信息;
在本地记录信息中,保存有数多个业务标识信息,还保存有与每个业务标识信息相对应的业务提供节点的相关信息,业务提供节点的相关信息包括业务提供节点的IP地址、端口号以及对业务提供节点的信任率(trustrate)。其中,IP地址和端口号能够唯一确定DHT网络中的一个节点,信任率(trustrate)表示了对业务提供节点的信任程度。本实例中可以用信任率来反应业务提供节点对相应的业务请求的响应概率。当然,在某个节点中存储的信任率则表示该业务提供节点对该节点的业务请求的响应概率。也就是说,A节点中记录的对业务提供节点C的信任率,是指业务提供节点C对A节点的业务请求的响应情况,B节点中记录的对业务提供节点C的信任率是指业务提供节点C对节点B的业务请求的响应情况,这两个信任率可以不相同。
S303、当查找到业务标识信息对应的业务提供节点的相关信息时,向请求节点发送反馈消息,反馈消息中包含有业务提供节点的IP地址、端口号以及信任率。
在本地记录信息中存储的该业务标识信息对应的业务提供节点的信任率需要高于某一阈值,以避免将根据本地记录信息中具有低信任率的业务提供节点的相关信息扩散至网络中其他节点。其中,阀值为一预设的数值,该数值可以为经验值。
进一步的,该方法还可以包括:
根据业务提供节点对相应业务请求的响应情况更新该业务提供节点在本地记录信息中的信任率,并删除信任率低于预设阀值的业务提供节点的相关信息。
具体的,可以根据业务提供节点对本节点发出的业务请求的响应情况对本地记录信息中对业务提供节点的信任率进行更新。也就是说,被请求节点也可以作为请求节点向业务提供节点发送业务请求,并根据业务提供节点的响应情况更新该业务提供节点在本地记录信息中的信任率,并将信 任率低于预设阀值的业务提供节点的相关信息删除,防止被攻击节点的信息在网络中进一步被传播。
本实施例提供的分布式拒绝服务DDOS攻击的防护方法,通过接收DHT网络中的请求节点发送的查询业务请求,将本地记录信息中对应的业务提供点的相关信息通过反馈消息反馈给请求节点,而本地记录信息中业务提供点的相关信息中的信任率均高于预设阀值。从而防止了恶意节点指向被攻击节点的相关信息在DHT网络中扩散,使DHT网络中向被攻击节点发出业务请求的节点大大减少,减小了被攻击节点的资源被占用以及向被攻击节点发出正常请求的节点得不到响应的情况。
可以理解的是,本发明实施例中,网络中的同一个节点可以是请求节点,也可以是被请求节点,还可以是业务提供节点,也就是说,同一个节点在一种情况下可以向其他节点发出业务请求,也就是作为上述实施例中的请求节点的角色,在另一种情况下也可以向其他请求节点反馈信息,成为是上述实施例中的被情况节点,再一种情况下,还可以向其他请求节点提供相应的业务,作为业务提供节点。上述实施例只是为了描述方便,分别从请求节点、被请求节点的角度分别进行描述。
下面为了更清楚的阐述本发明实施所述的分布式拒绝服务DDOS攻击的防护方法,图4提供了本发明再一个实施例提供的分布式拒绝服务DDOS攻击的防护方法流程图,如图4所示,该方法包括:
S401、请求节点向至少一个被请求节点发送业务查询请求,业务查询请求中包含有所请求的业务标识信息,执行S402;
S402、被请求节点根据业务标识信息在本地记录信息中查找对应的业务提供节点的相关信息,相关信息包括业务提供节点的IP地址、端口号信息以及对业务提供节点的信任率,本地记录信息中包含有业务标识信息以及对应的信任率高于预设阈值的业务提供节点信息,执行S403;
S403、当被请求节点查找到业务标识信息对应的业务提供节点的相关 信息时,向请求节点发送反馈消息,反馈消息中包含有业务提供节点的IP地址、端口号以及信任率,执行S404;
S404、请求节点查询本地记录信息中是否包含有被请求节点反馈的业务提供节点的IP地址和端口号信息,是则执行S405,否则执行S406;
S405、请求节点根据反馈信息中的信任率以及本地记录信息中的该业务提供节点的信任率之间的最小值确定该业务提供节点在本地记录信息中的信任率,执行S407;
S406、请求节点根据被请求节点的反馈信息在本地记录信息中保存业务标识信息对应的业务提供节点的相关信息,执行S407;
S407、请求节点根据反馈消息向业务提供节点发送业务请求,执行S408;
S408、业务提供节点是否在设定的时间内对业务请求做出响应,如果业务节点做出响应则执行409,否则执行S410;
S409、请求节点对本地记录信息中该业务提供节点的信任率进行增益处理,执行S411;
S410、请求节点对述本地记录信息中该业务提供节点的信任率进行衰减处理,执行S411;
S411、请求节点判断本地记录信息中该业务提供节点的信任率是否低于预设阈值,是则执行S412,否则执行结束;
S412、请求节点删除本地记录信息中该业务提供节点的相关信息。
其中请求节点与被请求节点的具体交互过程参见前述方法实施例,不再赘述。
本实施例提供的分布式拒绝服务DDOS攻击的防护方法,DHT网络中的被请求节点对于查询业务请求的请求节点返回反馈消息,在反馈消息中通过信任率来标识业务提供节点对业务请求的响应概率,请求节点根据业务提供节点对业务请求的实际响应情况对本地记录信息中该业务提供节点对 应的信任率进行衰减或增益处理,当信任率低于一定数值时则将本地记录信息中该业务提供节点对应的相关信息删除,从而防止了恶意节点指向的被攻击节点的相关信息在DHT网络中扩散,使DHT网络中向被攻击节点发出业务请求的节点大大减少,减少了被攻击节点的资源被占用以及向被攻击节点发出正常请求的节点得不到响应的情况。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
图5为本发明一个实施例提供的业务请求节点结构示意图,如图5所示,该节点包括:
查询模块51,用于向至少一个被请求节点发送业务查询请求,所述业务查询请求中包含有所请求的业务标识信息;
接收模块52,用于接收至少一个被请求节点的反馈消息,反馈消息中包含有业务标识信息对应的业务提供节点的IP地址、端口号信息以及被请求节点对业务提供节点的信任率;
业务请求模块53,用于根据业务提供节点的IP地址、端口号信息向业务提供节点发送业务请求;
更新模块54,用于根据业务提供节点对业务请求的响应情况更新业务提供节点在本地记录信息中的信任率;
处理模块55,用于当业务提供节点在本地记录信息中的信任率低于预设阈值时,删除本地记录信息中业务提供节点的信息。
具体的,在DHT网络中,当请求节点业务需求时,会通过DHT网络中特定的规则或算法找到一个或多个被请求节点,并通过查询模块51向这些被请求节点发出业务查询请求,查询模块51向这些被请求节点发出的业务查询请求中包括所请求的业务标识信息,该业务标识信息中可以包括请求的业务名称、请求的业务类型等信息,以使被请求节点获知请求节点需 要查询的业务内容。
接收模块52可能收到这些节点中的一个或多个节点返回的反馈消息,反馈消息中包括提供该业务标识信息对应的业务提供节点信息,反馈消息中包括:业务提供节点的IP地址、端口号和被请求节点对业务提供节点的信任率,可以用<IP,port,trustrate>表示,其中,通过<IP,port>能够唯一确定DHT网络中的一个节点,信任率(trustrate)表示了被请求节点对该业务提供节点的信任程度,本实例中可以用信任率来反应业务提供节点对相应的业务请求的响应概率。
由于查询模块51会向网络中的至少一个被请求节点发送业务查询请求,在接收模块52接收到第一个被请求节点返回的反馈消息后,通常会根据该反馈消息在本地记录中记录该反馈消息对应的业务提供节点的相关信息。因此,在接收到一个被请求节点返回的反馈消息时,本地记录信息中可能已经保存有该业务提供节点的相关信息。业务请求模块53根据接收模块52所接收的反馈消息中的业务提供节点信息向业务提供节点发送业务请求后,由更新模块54根据业务提供节点的实际响应情况对该业务提供节点在本地记录信息中的信任率进行更新,即根据业务提供节点对该业务请求是否在设定时间内对业务请求做出响应来提高或降低本地记录信息中该业务节点的相关信息中的信任率,以动态的反应对该业务提供节点的信任程度。
当该业务提供节点在本地记录信息中的信任率低到一定程度时,则说明该业务提供节点对业务请求无法响应的概率很大,该业务提供节点有可能是网络中恶意节点攻击的对象,因此,处理模块55将本地记录信息中该业务提供节点的相关信息删除,以防止该业务提供节点的相关信息向网络中其他请求节点扩散,进而防止该业务提供节点的资源被大量业务请求占用。
本发明实施例提供的业务请求节点,DHT网络中被请求节点在返回消息 中通过信任率来标识业务提供节点对业务请求的响应概率,业务请求节点根据信任率和业务提供节点对业务请求的实际响应情况决定是否删除本地记录信息中的该业务提供节点的相关信息,从而防止了恶意节点指向的被攻击节点的相关信息在DHT网络中扩散,减少了被攻击节点的资源被占用以及向被攻击节点发出正常请求的节点得不到响应的情况。
图6为本发明又一个实施例提供的业务请求节点结构示意图,如图6所示,该装置在图5所示实施例的基础上进一步还包括:
判断模块56,用于判断本地记录信息中是否包含有接收模块52接收的被请求节点反馈的业务提供节点的IP地址和端口号信息;
确定模块57,用于当判断模块56的判断结果为本地记录信息中包含有被请求节点反馈的业务提供节点的IP地址和端口号信息时,则根据反馈信息中的信任率以及本地记录信息中所述业务提供节点的信任率之间的最小值确定业务提供节点在本地记录信息中的信任率;
记录模块58,用于当判断模块56的判断结果为本地记录信息中没有包含被请求节点反馈的业务提供节点的IP地址和端口号信息时,根据被请求节点的反馈信息在本地记录信息中记录业务提供节点的相关信息。
进一步的,更新模块54还可以包括:
第一更新子单元541,用于当在预设的时间内没有接收到业务节点对业务请求的响应消息时,对本地记录信息中业务提供节点的信任率进行衰减处理;
第二更新子单元542,用于当在预设的时间内接收到业务节点对业务请求的响应消息时,对本地记录信息中业务提供节点的信任率进行增益处理。
具体的,在DHT网络中,当某节点有业务需求时,可以通过DHT网络中特定的规则或算法找到一个或多个被请求节点,并通过查询模块51向这些节点发出查询业务提供节点的业务查询请求消息,该业务查询请求 消息中包括所请求的业务标识信息,业务标识信息中可以包括请求的业务名称、请求的业务类型等信息,以使被请求节点获知具体的业务需求。
接收模块52可能收到这些节点中的一个或多个节点返回的反馈消息,反馈消息中包括提供该业务标识信息对应的业务提供节点信息,该反馈消息中包括:业务提供节点的IP地址、端口号和被请求节点对业务提供节点的信任率,可以表示为<IP,port,trustrate>,其中,通过<IP,port>能够唯一确定DHT网络中的一个节点,信任率(trustrate)表示了被请求节点对该业务提供节点的信任程度。
查询模块51向一个或多个被请求节点发出业务查询请求后,接收模块52可能先后收到这些被请求节点中的一个或多个节点返回的反馈消息,而这些反馈消息可能指向IP地址和端口号相同的同一业务提供节点,因此,判断模块56需要判断本地记录信息中是否包含有被请求节点反馈的业务提供节点的IP地址和端口号信息,若不存在,则通过记录模块58在本地记录信息中该业务提供节点的相关信息。若存在,则确定模块57选取反馈消息中的信任率与该业务提供节点在本地记录信息中的信任率之间的最小值作为该业务提供节点在本地记录信息中的信任率。
业务请求模块53根据反馈消息向业务提供节点发送业务请求,若没有得到业务提供节点的响应,则说明业务提供节点为被攻击节点的可能性很大,则通过更新模块54中的第一更新子单元541对本地记录信息中该业务提供节点的信任率做衰减处理,例如:可以将信任率乘以一个大于0小于1的数值,使信任率降低;相对的,若得到了业务提供节点对于业务请求的响应,则通过更新模块54中的第二更新子单元542对本地记录信息中该业务提供节点的信任率做增益处理,例如:可以将信任率除以一个大于0小于1的数值,使信任率增大。这个大于0小于1的数值成为增益值或衰减值,具体的数值可以根据经验选取,例如可以选择增益值或衰减值为0.8,若本地记录信息中该业务提供节点的信任率为80,若得不到业务提供节点 的响应,用衰减值0.8乘以信任率80,使信任率由80降低为64。若得到响应,则用将信任率80除以0.8,使信任率由80提高到100。当本地记录信息中该业务提供节点的信任率小于预设阈值时,通过处理模块55删除本地记录信息中该业务提供节点的相关信息。其中,信任阀值为一预设的数值,该数值可以为经验值,该信任阀值用来衡量是否将本地记录信息中该业务提供节点相关信息进行清除,以防止本地记录信息中该业务提供节点的相关信息扩散到网络中的其他节点。
本发明实施例提供的业务请求节点,DHT网络中的被请求节点在返回消息中通过信任率来标识业务提供节点对业务请求的响应概率,业务请求节点根据业务提供节点实际相应情况和预设阀值对本地记录信息中该业务节点相关信息中的信任率做出是否保存的限制,从而防止了恶意节点指向的被攻击节点的相关信息在DHT网络中扩散,进而减小了被攻击节点的资源被占用以及向被攻击节点发出正常请求的节点得不到响应的情况。
图7为本发明一个实施例提供的被请求节点结构示意图,如图7所示,该被请求节点包括:接收单元71、查找单元72和发送单元73;
接收单元71,用于接收请求节点发送的业务查询请求,该业务查询请求中包含有所请求的业务标识信息;
查找单元72,用于根据所述业务标识信息在本地记录信息中查找对应的业务提供节点的相关信息,所述业务提供节点的相关信息包括所述业务提供节点的IP地址、端口号信息以及对所述业务提供节点的信任率;
发送单元73,用于当查找到业务标识信息对应的业务提供节点的相关信息时,向请求节点发送反馈消息,该反馈消息中包含有业务提供节点的IP地址、端口号以及信任率。
具体的,接收单元71接收到的请求节点发出的业务查询请求中包括业务标识信息,该业务标识信息中可以包括请求的业务名称、请求的业务类型等信息,例如:该业务标识信息可能为“下载多媒体文件”,则业务查 询请求表示请求节点查询“能够下载多媒体文件的节点”。
查找单元72根据业务标识信息在本地记录信息中查找对应的业务提供节点的相关信息,相关信息包括业务提供节点的IP地址、端口号信息以及对业务提供节点的信任率,信任率高于预设阈值;
在本地记录信息中,保存有多个业务标识信息,还保存有与每个业务标识信息相对应的业务提供节点的相关信息,业务提供节点的相关信息包括业务提供节点的IP地址、端口号以及对业务提供节点的信任率(trustrate)。其中,IP地址和端口号能够唯一确定DHT网络中的一个节点,信任率(trustrate)表示了对业务提供节点的信任程度。本实例中可以用信任率来反应业务提供节点对相应的业务请求的响应概率。
当查找单元72查找到业务标识信息对应的业务提供节点的相关信息时,发送单元73向请求节点发送反馈消息,反馈消息中包含有业务提供节点的IP地址、端口号以及信任率。
在本地记录信息中存储的该业务标识信息对应的业务提供节点的的信任率需要高于某一阈值,以避免将根据本地记录信息中具有低信任率的业务提供节点的相关信息扩散至网络中其他节点,其中,阀值为一预设的数值,该数值可以为经验值。
进一步的,该被请求节点还可以包括:
设置单元74,用于设置本地记录信息,本地记录信息中包含有业务标识信息以及与业务标识信息对应的信任率高于预设阈值的业务提供节点的相关信息;
维护单元75,用于维护本地记录信息,包括根据业务提供节点对相应的业务请求的响应情况更新业务提供节点在本地记录信息中的信任率,并删除信任率低于预设阈值的业务提供节点的相关信息。
具体的,可以根据业务提供节点对本节点发出的业务请求的响应情况对本地记录信息中对业务提供节点的信任率进行维护更新。也就是说,被 请求节点也可以作为请求节点向业务提供节点发送业务请求,并根据业务提供节点的响应情况更新该业务提供节点在本地记录信息中的信任率,并将信任率低于预设阀值的业务提供节点的相关信息删除,防止被攻击节点的信息在网络中进一步被传播。
本实施例提供的被请求节点,通过接收到DHT网络中的请求节点发送的查询业务请求,将本地记录信息中对应的业务提供点的相关信息通过反馈消息反馈给请求节点,而本地记录信息中业务提供点的相关信息中的信任率均高于预设阀值。从而防止了恶意节点伪造指向的被攻击节点的相关信息在DHT网络中扩散,进而使DHT网络中向被攻击节点发出业务请求的节点大大减少,减小了被攻击节点的资源被占用以及向被攻击节点发出正常请求的节点得不到响应的情况。
可以理解的是,本发明实施例中,网络中的同一个节点可以是请求节点,也可以是被请求节点,还可以是业务提供节点,也就是说,同一个节点在一种情况下可以向其他节点发出业务请求,也就是作为上述实施例中的请求节点的角色,在另一种情况下也可以向其他请求节点反馈信息,成为是上述实施例中的被情况节点,再一种情况下,还可以向其他请求节点提供相应的业务,作为业务提供节点。上述实施例只是为了描述方便,分别从请求节点、被请求节点的角度分别进行描述。
图8为本发明一个实施例提供的分布式拒绝服务DDOS攻击的防护系统结构示意图,如图8所示,该系统包括:请求节点1、被请求节点2和业务提供节点3;
请求节点1,用于向至少一个被请求节点2发送业务查询请求;接收至少一个被请求节点2的反馈消息,根据反馈消息向业务提供节点3发送业务请求,并根据业务提供节点3对业务请求的响应情况更新业务提供节点3在本地记录信息中的信任率,且当业务提供节点3在本地记录信息中的信任率低于预设阈值时,删除本地记录信息中业务提供节点3的相关信 息;其中,业务查询请求中包含有所请求的业务标识信息,反馈消息中包含有业务标识信息对应的业务提供节点的IP地址、端口号信息以及被请求节点2对业务提供节点3的信任率;
被请求节点2用于接收请求节点1发送的业务查询请求,业务查询请求中包含有所请求的业务标识信息,并根据业务标识信息在本地记录信息中查找对应的业务提供节点3的相关信息,当查找到业务标识信息对应的业务提供节点3的相关信息时,向请求节点1发送反馈消息,反馈消息中包含有业务提供节点3的IP地址、端口号以及信任率,其中,本地记录信息中包含有业务标识信息以及对应的信任率高于预设阈值的业务提供节点3信息,业务提供节点3的相关信息包括业务提供节点3的IP地址、端口号信息以及被请求节点2对业务提供节点3的信任率;
业务提供节点3,用于接收请求节点1根据被请求节点2的反馈消息发起的业务请求,业务请求中包含有所请求的业务标识信息,并根据业务标识信息向请求节点1提供相应的业务。
具体的,关于请求节点1、被请求节点2的详细描述可以参见上述相关的方法及装置实施例,在此不再赘述。
可以理解的是,本发明实施例中,网络中的同一个节点可以是请求节点,也可以是被请求节点,还可以是业务提供节点,也就是说,同一个节点在一种情况下可以向其他节点发出业务请求,也就是作为上述实施例中的请求节点的角色,在另一种情况下也可以向其他请求节点反馈信息,成为是上述实施例中的被情况节点,再一种情况下,还可以向其他请求节点提供相应的业务,作为业务提供节点。上述实施例只是为了描述方便,分角度进行描述。
本发明实施例提供的分布式拒绝服务DDOS攻击的防护系统,被请求节点对于查询业务请求的请求节点返回反馈消息,在反馈消息中通过信任率来标识业务提供节点对业务请求的响应概率,业务请求节点根据业务提供 节点对业务请求的实际响应情况确定对业务提供节点的信任率,并在信任率低于预设阈值时,将业务提供节点在本地记录信息中记录进行删除,防止被攻击节点的信息在网络中进一步被传播,减少了网络中其他节点均向被攻击节点发送业务请求导致被攻击节点工作性能降低甚至瘫痪的可能性,提高了网络安全性。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。