石头:2229 - 371 x
Vooka Pavan Kumar1 *阿比纳瓦·桑德拉姆说。P2, Munnaluri Bharath Kumar3., N.Ch.S.N.Iyengar4 学院的计算科学与工程,VIT大学,Vellore,泰米尔纳德邦,印度 |
通讯作者:Vooka Pavan Kumar,电子邮件:(电子邮件保护) |
有关文章载于Pubmed,谷歌学者 |
更多相关文章请访问全球计算机科学研究杂志。
“点对点?”一般描述使用分布式资源以分散的方式执行特定功能的一类系统。分布式P2P网络被广泛应用于文件共享,在这种情况下,攻击者很容易利用分布式P2P网络对internet上的任意主机进行DDoS攻击。分布式拒绝服务(DDoS)攻击很难被发现,被认为是对互联网的主要威胁。虽然针对分布式P2P网络中的DDoS攻击已经提出了许多技术,但由于攻击机器数量众多,且使用源地址欺骗,因此很难应对基于泛洪的DDoS攻击。针对分布式对等网络中的DDoS攻击,设计了一种有效的检测和防御框架。它通过考虑源端到被攻击端之间的距离和IP头中的TTL (Time-to-Live)值来防御攻击。该系统主要由三个部分组成:DDoS检测、基于代理的跟踪和流量控制。基于代理的机制用于跟踪所有节点的详细信息(例如带宽、节点容量等)。该系统可以在一个名为NS2的网络仿真平台上进行评估。 The results demonstrate that the detection techniques are capable of detecting DDoS attacks accurately, and the defence mechanism can efficiently control attack traffic in order to maintain the quality of service for legitimate traffic. Also, the framework shows better performance in defeating the DDoS attacks in Distributed P2P networks compared to the other existing techniques.
关键字 |
分布式点对点网络,分布式拒绝服务攻击,存活时间,互联网协议 |
介绍 |
分布式拒绝服务(DDoS)攻击被广泛认为是对互联网的主要威胁。基于泛洪的DDoS攻击是通过发送大量恶意流量攻击受害者机器的一种非常常见的方式。分布式P2P网络中DDoS问题的分布式特性要求分布式解决方案。DDoS是一个尚未完全解决的严重问题,仍然是一个活跃的研究领域。简而言之,DDoS攻击的目标是互联网上的资源、基础设施和主机的可用性,并阻止它们执行其合法功能。DDoS攻击分为以下几种: |
1.资源枯竭(带宽,CPU,内存..) |
2.漏洞攻击 |
3.协议的攻击 |
DDoS (Distributed Denial of Service)是指用户或主机无法使用系统提供的合法服务。在分布式P2P网络中创建DDoS最普遍的方法是人为耗尽资源,如带宽、处理器周期或内存。分布式拒绝服务(DDoS)攻击是指攻击者利用多台主机的综合能力来耗尽服务器系统的资源。将流量分离为聚合将使攻击者更容易针对网络中流动的特定流量子集。 |
动机 |
所有的互联网服务提供商(isp)都面临着越来越多的不必要和恶意流量的后果。DDoS攻击很难被快速有效地阻止。因此,需要一种强大的机制来检测和缓解分布式对等网络中的DDoS攻击。 |
主要目标是分析和减轻分布式P2P网络中分布式拒绝服务攻击的影响。它包括以下内容:强大的检测技术应该在攻击的早期阶段高可靠性地检测到DDoS攻击。2.一个好的响应技术应该在不牺牲网络QoS的情况下丢弃大部分攻击数据包(使用基于代理的技术)。3.该防御框架应在分布式P2P网络中有效工作。4.分析分布式P2P网络在DDoS攻击下的性能。 |
提出了一种基于代理的分布式DDoS防御框架,该框架利用代理来协调源端和受害者端之间的距离,通过代理跟踪节点的带宽、节点容量等详细信息以及存活时间值来防御攻击。此外,可以使用差异化服务(diffserv)提供服务质量(QoS)。提出的基于代理的防御系统有三个主要组成部分:探测、基于代理的回溯和交通控制。开发强大的机制来对抗这些攻击可以有效地减少它们对饱和互联网链路的影响,并阻止合法流量到达目的地。对该方法的性能进行了验证,并与仿真结果进行了比较。 |
相关工作 |
分布式拒绝服务攻击是针对P2P系统的较低级别攻击,对合法流量有很大影响。低级攻击集中在P2P系统的通信方面(TCP/IP)。一般来说,DDoS攻击是试图使计算机资源对那些打算使用它的人不可用。[6] DDoS攻击最常见的形式是无效报文泛滥。 |
被入侵的主机被聚集在一起,同时发送无用的业务请求。生成的流量爆发会使受害者崩溃或禁用它。DDoS攻击的威胁包括: |
很难发现和阻止。 |
能在几分钟内扩散 |
水浸期通常持续数小时,是零星的 |
IP欺骗使识别攻击者变得更加困难。 |
在Overnet(最大的P2P文件共享网络之一)中,有两种方法[2]可用于发起DDoS攻击。第一种是对分布式文件索引下毒,导致TCP Connection DDoS攻击;第二种是对对等体路由表下毒,导致Bandwidth Flooding DDoS攻击。分布式包过滤[6]技术,用于检测和过滤用于DRDoS (Distributed Reflection Denial of Service)攻击的假冒源IP地址的TCP报文。但是所提出的模型并没有关注P2P系统上可能发生的物理攻击。这类攻击需要一种高效有效的算法来保护网络资源。路径识别机制[9]具有许多独特的属性。这是一种每个包的确定性机制:沿着相同路径行进的每个包携带相同的标识符。这允许受害者在防御DDoS攻击中发挥主动作用,通过使用Pi标记过滤出每个数据包中匹配攻击者标识符的数据包。Pi方案在数千名攻击者组成的大规模DDoS攻击下性能良好,即使在只有一半的互联网路由器参与报文标记的情况下也有效。Pi标记和过滤模型无法检测到单个攻击报文的IP欺骗攻击。 Finally, there is a need to propose an effective mechanism where the victim needs to identify only a single attack packet in order to block all subsequent packets arriving from the same path, and from the same attacker. The results can be shown through simulations in ns2 (Network Simulator). |
方法 |
DDoS攻击不仅在规模和频率上持续增长,而且在种类上也在不断增加。当今DDoS问题的流动性和广度需要专门的、系统的关注,以便有效地减轻此类攻击。需要一种有效的算法来减少DDoS对分布式对等网络的影响,并对可能的网络攻击进行完整的研究和分析。 |
DDoS分布式协作架构 |
主要目标是通过减少基于ip的网络中基于泛洪的DDoS攻击来控制不必要的流量。这项工作特别集中于下列目标: |
检测技术应该能够检测到DDoS攻击 |
1.在分布式P2P网络中具有高可靠性和攻击的早期阶段。 |
2.响应技术应该在不牺牲合法流量的QoS的情况下丢弃大部分攻击报文。 |
3.防御框架k应该在分布式P2P网络环境中有效工作。 |
在真正的攻击流量到达受害者之前,攻击者必须与其所有DDoS代理合作。因此,代理和攻击者之间必须存在控制通道。这种合作要求所有代理根据从攻击者接收到的命令发送流量。由攻击者、代理和控制通道组成的网络称为攻击网络。攻击网络[10]分为三种类型:代理句柄模型、基于IRC (Internet Relay Chat)的模型和反射器模型。 |
IP欺骗 |
IP欺骗是所有DDoS攻击中用来隐藏代理或攻击者真实地址的一种基本机制。在典型的DDoS攻击中,代理会随机欺骗IP头中的源地址。在基于反射器的DDoS攻击中,代理端必须在源地址字段中填写受害者的地址。欺骗的地址可以是现有主机的地址,也可以是不存在的主机的地址。为了避免入接口过滤,攻击者可以使用内部网络中有效的地址,因为不存在的地址很有可能被过滤掉。 |
在现实世界中,如果攻击者能够破坏足够多的主机,就有可能在没有IP欺骗的情况下发起攻击。对于这种情况,攻击者会考虑如何避免被追踪出来。通常,攻击者会使用一个受损主机链。追踪跨越多个国家的链条是非常困难的。此外,由于缺乏信息,破坏网络中监控不良的主机将使跟踪变得更加困难。在这些情况下,IP欺骗并不是隐藏攻击者的必要步骤。 |
DDoS flood攻击原理 |
基于泛洪的DDoS攻击涉及代理或反射器向受害者发送大量不必要的流量。受害者将不再为合法流量服务,因为其连接资源已用完。常见的连接资源包括受害系统中的带宽和连接控制。基于泛洪的DDoS攻击一般分为直接攻击和反射器攻击两种。 |
代理直接向受害者发送TCP/IP (Transmission Control Protocol/Internet Protocol)、ICMP (Internet Control Message Protocol)、UDP (User Datagram Protocol)等报文。由于IP欺骗,受害者的响应报文将到达被欺骗的接收者。在反射器攻击中,来自反射器的响应包真正地攻击了受害者。不需要从受害者发送回反射器的响应包。实现反射器攻击的关键因素包括:在IP报头的源字段中设置受害者地址,找到足够多的反射器。直接攻击通常有三种机制:TCP SYN flood攻击、ICMP echo flood攻击和UDP data flood攻击。TCP SYN泛洪机制与上述两种机制不同。通过发送大量的TCP SYN报文,导致受害者耗尽所有可用的TCP连接控制资源。如果没有新的可用控制资源,受害者无法接受来自合法用户的新连接。基于ICMP echo flood的攻击会因为大量ICMP echo REPLY报文到达被攻击方而消耗所有可用带宽。 UDP data flooding-based attacks achieve the same result as ICMP echo attacks by sending a large number of UDP packets to either random or specified ports on the victim. |
拟议框架的架构 |
目前的网络系统可以简单地分为两个领域。第一个域是核心路由网络。这个网络通常由高速路由器组成。它是负责在多个边缘网络之间传输流量的基础网络。边缘网络是通过边缘路由器连接到核心网络的另一个域。边缘网络通常代表单个客户网络。通常情况下,不存在大量需要通过边缘路由器转发的流量。当DDoS (distributed denial of service)攻击流量通过网络传输到受害者端时,受害者端边缘网络中的防御系统可以很容易地检测到攻击,因为攻击流量在受害者端造成的异常集比在源端更大。然而,在受害者端边缘网络中,当攻击量较大时,防御系统不可能对攻击做出反应。基于代理的DDoS检测技术通过识别被欺骗地址的TTL值和被欺骗节点的TTL值的异常变化,来检测受害者端边缘网络中的DDoS攻击。 The agents keep track of all the necessary node details which enable the detection of DDoS attacks in Distributed P2P networks more effectively. To drop attack packets effectively, an attack traffic rate limit control will be triggered in the source-end edge network after receiving an alert message from the defence system of the victim-end edge network. To find all source-end edge networks, we can use the existing Fast Internet Traceback (FIT) technique[11]. In the distributed framework, all edge routers should mark the distance from the victim and their IP address into the 16 bit IP identification field of the IP header. The agent-based detection and response techniques will use this information. |
TTL (Time to Live)是一个8位的字段,用来指定IP报文的最大生存时间。在传输过程中,每个路由器都会将IP报文的TTL值减1。当构造一个IP数据报(每个数据报包含一个称为TTL的8位报头字段)用于传输时,源分配一个常量整数(范围为0-255)作为初始TTL值。当数据报通过中间路由器(互连设备)从源端移动到目的端时,沿途的每个路由器都将TTL值减1,只有当TTL大于0时,数据报才会被转发到下一个路由器。根据IP标准,路由器应该丢弃TTL值为0的数据报。TTL的主要目标是确保数据报不会由于路由循环等问题而永远在Internet上徘徊。 |
在上图中,SYN和RST包都包含相同的源IP地址。在SYN包的情况下,IP地址被欺骗,而在RST的情况下,它是受害者的实际IP地址。因此,TCP过滤器有两个数据包声称来自同一台机器。假设网络路径没有路由变化,这两个数据包的TTL值应该是相同的。如果TTL值不一致,则说明SYN报文的源IP地址被欺骗。RST报文是受害者响应SYN/ACK报文而生成的,攻击者无法控制,这一点很重要。因此,RST报文中看到的IP地址是可信的。 |
图5说明了在DDoS攻击事件中防御的整个操作。受害者端和源端之间的警报消息包括Request消息、Update消息和Cancel消息。这些消息用于击败DDoS攻击的不同阶段。在攻击开始时,来自受害者端的请求消息将向源端提供建议的速率限制值。如果攻击流量仍然急剧增加,则再次向源端发送更新消息。这可能会略微增加受害者的负担,但是这条消息对于控制速率限制和监视源端是必要的。源端防御系统根据报文中的要求,将速率限制值呈指数级降低。当受害端流量恢复一段时间后,向源端发送更新消息,要求源端线性提高限速值。最后,如果防御系统在更新消息后没有发现受害者端有任何异常变化,则发送取消消息取消源端的速率限制。由于不需要的流量泛滥,受害者发送到源端的消息甚至可能无法到达源节点。 To overcome this problem, the request and update messages are sent repeatedly by victim to source end until proper acknowledgement is received from the source. |
现有的检测技术存在以下问题: |
1.由于所选属性与DDoS攻击之间的弱连接,导致检测方案无效。 |
2.由于计算复杂,异常条件的揭示时间过长。 |
现有的DDoS检测技术主要分为两种:基于IP属性的DDoS检测和基于流量的DDoS检测。针对DDoS攻击,包过滤是根据DDoS攻击的签名对攻击流量进行过滤。但是,由于攻击流量与正常流量相似,目前的DDoS攻击很难获得攻击签名。包过滤技术的另一个问题是对合法流量的附带损害。而最近的研究表明,速率限制技术可以通过对攻击流量设置拟合的速率限制来有效地缓解攻击。同时,也不会对合法流量造成严重的附带损害。最后,将瓶颈链路上的RTT值与路由器缓冲区占用率进行相关性分析,并将分析结果与未受到DDoS攻击的攻击场景进行对比。在基于Agent的防御机制中,由于可能会增加网络开销,因此不需要一直监视Agent来了解节点。因此,它可以在固定的定期监测。为了演示该框架在击败DDoS攻击方面的改进,我们比较了三种情况下的结果。 In the first situation, start the attack on NS2 simulation network without enabling any DDoS defence mechanisms. The edge router at the victim end just drops all packets which it cannot handle. In the second situation, deploy the framework in the NS2 simulation network. Each router will detect the aggregate of its local traffic and attempt to lower traffic in cooperation with upstream routers. In the final situation, deploy the agent-based DDoS defence framework in the same NS2 simulation network. The following code snippet describes few changes made to the header files in ns2 which differentiates the spoofed IP address and the actual address of victim using the TTL value. The changes are made in diffserv folder which is responsible for providing Quality of Service(QoS). Various files like the queue.h, dsred.h, icmp.h, dsredq.h have been inherited in the c++ file and their functionalities are utilised. |
TTL_SOURCE = iph - > ttl (); |
TTL_INCOMING = iph - >公司(); |
Ns_address SRC = ip -> SRC (); |
Ns_address DST = iph-> DST (); |
bool接受= true; |
Bool drop = false; |
//如果TTL_VALUE无效,则删除,不进行任何其他处理 |
if (codePt == dsFeedback::INVALID_CP){ |
cout << "Dropped due to invalid TTL" << endl; |
stats.drops_FB + +; |
//反馈的增量计数下降 |
stats.drops + +; |
下降(pkt); |
Dropped = true; |
} # endif |
If (!drop) { |
//允许将数据包传输到目标节点。 |
if(TTL_SOURCE == TTL_INCOMING){lookupPHBTable(codePt, &queue, &prec); |
Hdr_flags * hf = Hdr_flags::access(pkt); |
If (ecn_ && hf->ect()) ecn = 1; |
stats.pkts_CP [codePt] + +; |
cout << " drop by peer node."< < endl; |
if (!Feedback::isFeedbackRunning(src,dst)) { |
反馈:dropNotify(src, dst, now, icmpAgent);} |
# endif |
cout << "Early drop ."< < endl; |
# ifdef ds_feedback_h |
//通知发送者被域路由器丢弃的数据包 |
if (!dsFeedback::isFeedbackRunning(src,dst)) { |
dsFeedback::dropNotify(src, dst, now, icmpAgent); |
} # endif |
观察与结果 |
快照用于分布式对等网络中DDoS攻击的仿真。图的目的是比较和性能分析。并利用MATLAB计算了瓶颈链路上RTT值与路由器缓冲区占用率的相关系数。 |
下面给出的这些快照描述了有线和无线P2P网络中的分布式拒绝服务攻击。它包括超对等体、攻击者、奴隶/僵尸(由攻击者控制)和受害者。 |
获得的图 |
队列大小图 |
时间Vs队列大小(无攻击) |
时间序列图 |
当受到分布式拒绝服务攻击时,计算出的吞吐量和相关系数会迅速下降。上面给出的图表清楚地表明,所提出的基于代理的机制降低了分布式对等网络上DDoS攻击的影响。它还增加了数据包传输的吞吐量,因此我们可以观察到网络中最小的数据包丢失。从上述机制中我们可以得出结论,只需对攻击进行少量的优化,就可以最大限度地减少大量的丢包,并将数据包正确地定向到目的主机。 |
结论 |
通过分析现有的许多DDoS检测和响应技术以及防御框架,可以看出DDoS防御的主要挑战是快速高效地检测攻击,控制攻击流量,从而维持合法流量的QoS。为了应对这些挑战,分析了一种有效的DDoS攻击检测技术,该技术工作时通信开销很小。基本上,辩护的过程可以分为三个阶段。在攻击开始时,如果受害者端在不同距离上的平均距离值和流量速率存在异常变化,基于代理的检测技术可以检测到攻击。然后,受害者端的防御系统会试图找到所有积极转发攻击流量的边缘路由器。最后,一系列警报消息将被发送到源端防御系统,该系统根据接收到的信息和自身的丢弃率在每个边缘路由器上设置速率限制。当受害端流量恢复正常时,会触发恢复进程。DiffServ用于提供服务质量。要完全阻止这些攻击并不总是可能的,因为互联网上总是会有脆弱的主机被攻击,而且还有许多可用的DDoS攻击机制。但是,所提出的检测和缓解攻击的方法已经被证明比现有的方法更有效,表现出更好的性能。 |
参考文献 |
|