您好,欢迎访问三七文档
各种网络攻击的原理:DoS攻击:通常而言,DoS的网络数据包同样是利用TCP/IP协议在Internet传输。这些数据包本身一般是无害的,但是如果数据包异常过多,就会造成网络设备或者服务器过载,迅速消耗了系统资源,造成服务拒绝,这就是DoS攻击的基本工作原理。DoS攻击之所以难于防护,其关键之处就在于非法流量和合法流量相互混杂,防护过程中无法有效的检测到DoS攻击。加之许多DoS攻击都采用了伪造源地址IP的技术,从而成功的躲避了基于统计模式工具的识别。具体DOS攻击实现有如下几种方法:1、SYNFLOOD利用服务器的连接缓冲区,设置特殊的TCP包头,向服务器端不断地发送大量只有SYN标志的TCP连接请求。当服务器接收的时候,认为是没有建立起来的连接请求,于是这些请求建立会话,排到缓冲区队列中。如果发送的SYN请求超过了服务器能容纳的限度,缓冲区队列占满,那么服务器就不再接收新的请求了,因此其他合法用户的连接都会被拒绝掉。2、IP欺骗DOS攻击这种攻击利用RST位来实现。假设现在有一个合法用户(1.1.1.1)已经同服务器建立了正常的连接,攻击者构造攻击的TCP数据,伪装自己的IP为1.1.1.1,并向服务器发送一个带有RST位的TCP数据段。服务器接收到这样的数据后,会认为从1.1.1.1发送的连接有错误,从而清空缓冲区中建立好的连接。这时,如果合法用户1.1.1.1再发送合法数据,服务器就已经没有这样的连接了,该用户就必须从新开始建立连接。攻击者伪造大量的IP地址,向目标主机发送RST数据,从而使服务器不对合法用户服务。3、带宽DOS攻击(UDPFlood,ICMPFlood)这类攻击完全利用连接带宽足够大,持续向目标服务器发送大量请求,如UDP的包,ICMP的ping包,来消耗服务器的缓冲区,或者仅消耗服务器的连接带宽,从而达到网络拥塞,使服务器不能正常提供服务。DDOS攻击单一的DoS攻击一般是采用一对一方式的,“分布式拒绝服务攻击”(DistributedDenialofService,简称DDoS)是建立在传统的DoS攻击基础之上一类攻击方式。当计算机与网络的处理能力加大了,用一台攻击机来攻击不再能起作用的话,攻击者就使用10台甚至100台攻击机同时攻击。这就是DDos。DDoS就是利用更多的傀儡机“肉鸡”来同时发起进攻,更大规模的来进攻受害者,破坏力更强。现在,高速广泛连接的网络给大家带来了方便,但同时也为DDoS攻击创造了极为有利的条件。在低速网络时代时,黑客占领攻击用的傀儡机时,总是会优先考虑离目标网络距离近的机器,因为经过路由器的跳数少,效果好。而现在电信骨干节点之间的连接都是以G为级别的,大城市之间更可以达到2.5G的连接,这使得攻击可以从更远的地方或者其他城市发起,攻击者的傀儡机位置可以在分布在更大的范围,选择起来更灵活了,攻击也更加隐蔽。当主机服务器被DDoS攻击时,通常会有如下现象:(1)被攻击主机上有大量等待的TCP连接(2)网络中充斥着大量的无用的数据包,源地址一般为伪造的(3)高流量无用数据造成网络拥塞,使受害主机无法正常和外界通讯(4)反复高速的发出特定的服务请求,使受害主机无法及时处理所有正常请求(5)系统服务器CPU利用率极高,处理速度缓慢,甚至宕机4、UDP洪水攻击攻击者利用简单的TCP/IP服务,如Chargen和Echo来传送毫无用处的占满带宽的数据。通过伪造与某一主机的Chargen服务之间的一次的UDP连接,回复地址指向开着Echo服务的一台主机,这样就生成在两台主机之间存在很多的无用数据流,这些无用数据流就会导致带宽的服务攻击。5、UDPDNSQueryFlood攻击实质上是UDPFlood的一种,但是由于DNS服务器的不可替代的关键作用,一旦服务器瘫痪,影响一般都很大。UDPDNSQueryFlood攻击采用的方法是向被攻击的服务器发送大量的域名解析请求,通常请求解析的域名是随机生成或者是网络世界上根本不存在的域名,被攻击的DNS?服务器在接收到域名解析请求的时候首先会在服务器上查找是否有对应的缓存,如果查找不到并且该域名无法直接由服务器解析的时候,DNS?服务器会向其上层DNS服务器递归查询域名信息。域名解析的过程给服务器带来了很大的负载,每秒钟域名解析请求超过一定的数量就会造成DNS服务器解析域名超时。一台DNS服务器所能承受的动态域名查询的上限是有限的,而当DNS服务器受到DNSQueryFlood攻击时,很容易使一台配置极高的DNS服务器瘫痪。6、Smurf攻击原理如下:攻击者向网络广播地址发送ICMP包,并将回复地址设置成受害网络的广播地址,通过使用ICMP应答请求数据包来淹没受害主机的方式进行,最终导致该网络的所有主机都对次ICMP应答请求作出答复,导致网络阻塞。更加复杂的Smurf攻击攻击将源地址改为第三方受害者,最终导致第三方崩溃。可采取的防范措施:(1)配置路由器禁止IP广播包进网(2)配置网络上所有计算机的操作系统,禁止对目标地址为广播地址的ICMP包响应。(3)被攻击目标与ISP协商,有ISP暂时阻止这些流量。(4)对于从本网络向外部网络发送的数据包,本网络应该将其源地址为其他网络的这部分数据包过滤掉。7、Land-based:攻击者将一个包的源地址和目的地址都设置为目标主机的地址,然后将该包通过IP欺骗的方式发送给被攻击主机,这种包可以造成被攻击主机因试图与自己建立连接而陷入死循环,从而很大程度地降低了系统性能。8、Ping?of?Death:根据TCP/IP的规范,一个包的长度最大为65536字节。尽管一个包的长度不能超过65536字节,但是一个包分成的多个片段的叠加却能做到。当一个主机收到了长度大于65536字节的包时,就是受到了PingofDeath攻击,该攻击会造成主机的宕机。9、Pingflood:该攻击在短时间内向目的主机发送大量ping包,造成网络堵塞或主机资源耗尽。Ping洪流攻击,由于在早期的阶段,路由器对包的最大尺寸都有限制。许多操作系统对TCP/IP栈的实现在ICMP包上都是规定64KB,并且在对包的标题头进行读取之后,要根据该标题头里包含的信息来为有效载荷生成缓冲区。当产生畸形的,声称自己的尺寸超过ICMP上限的包也就是加载的尺寸超过64K上限时,就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使接受方死机。10、PingSweep:使用ICMPEcho轮询多个主机。11、Teardrop泪滴攻击泪滴攻击是利用在TCP/IP堆栈中实现信任IP碎片中的包的标题头所包含的信息来实现自己的攻击。IP分段含有指明该分段所包含的是原包的哪一段的信息,IP数据包在网络传递时,数据包可以分成更小的片段。攻击者可以通过发送两段(或者更多)数据包来实现TearDrop攻击。第一个包的偏移量为0,长度为N,第二个包的偏移量小于N。为了合并这些数据段,TCP/IP堆栈会分配超乎寻常的巨大资源,从而造成系统资源的缺乏甚至机器的重新启动。12、Fraggle攻击原理:Fraggle攻击实际上就是对Smurf攻击作了简单的修改,使用的是UDP应答消息而非ICMP。13、CC攻击:CC攻击利用代理服务器向网站发送大量需要较长计算时间的URL请求,如数据库查询等,导致服务器进行大量计算而很快达到自身的处理能力而形成DOS,而攻击者一旦发送请求给代理后就主动断开连接,因为代理并不因为客户端这边连接的断开就不去连接目标服务器,因此攻击机的资源消耗相对很小,而从目标服务器看来,来自代理的请求都是合法的。防护方法:CC有效性在于攻击方不接受服务器回应的数据,发送完请求后就主动断开连接,因此要确认连接是否是CC,服务器端不立即执行URL请求命令,而是简单的返回一个页面转向的回应,回应中包含新的URL请求地址,如果是正常访问,客户端会主动再次连接到转向页面,对用户来说是透明的;而对于CC攻击者,由于不接收回应数据,因此就不会重新连接,服务器也就不需要进行查询操作。
本文标题:各种网络攻击的原理
链接地址:https://www.777doc.com/doc-2083024 .html