此文章主要介绍的是DDoS攻击实例 SYN Flood攻击,我们大家都知道SYN-Flood是目前使用最广泛的DDoS攻击手段,早先的DoS的手段在向分布式这一阶段发展的时候也经历了千军万马过独木桥的过程。
SYN-Flood的攻击效果最好,应该是众黑客不约而同选择它的原因吧。那么我们一起来看看SYN-Flood的详细情况。
SYN-Flood是目前最流行的DDoS攻击手段,早先的DoS的手段在向分布式这一阶段发展的时候也经历了浪里淘沙的过程。SYN-Flood的攻击效果最好,应该是众黑客不约而同选择它的原因吧。那么我们一起来看看SYN-Flood的详细情况。
Syn Flood原理 – 三次握手
Syn Flood利用了TCP/IP协议的固有漏洞。面向连接的TCP三次握手是Syn Flood存在的基础。
TCP连接的三次握手
如图二,在第一步中,客户端向服务端提出连接请求。这时TCP SYN标志置位。客户端告诉服务端序列号区域合法,需要检查。客户端在TCP报头的序列号区中插入自己的ISN。服务端收到该TCP分段后,在第二步以自己的ISN回应(SYN标志置位),同时确认收到客户端的第一个TCP分段(ACK标志置位)。在第三步中,客户端确认收到服务端的ISN(ACK标志置位)。到此为止建立完整的TCP连接,开始全双工模式的数据传输过程。
Syn Flood攻击者不会完成三次握手
假设一个用户向 服务器 发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接,这段时间的长度我们称为SYN Timeout,一般来说这个时间是分钟的数量级(大约为30秒-2分钟);
一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况,服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源—-数以万计的半连接,即使是简单的保存并遍历也会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行SYN+ACK的重试。
实际上如果服务器的TCP/IP栈不够强大,最后的结果往往是堆栈溢出崩溃—即使服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比率非常之小),此时从正常客户的角度看来,服务器失去响应,这种情况我们称做:服务器端受到了SYN Flood攻击(SYN洪水攻击)。
下面是我在实验室中模拟的一次Syn Flood攻击的实际过程
这一个局域网环境,只有一台攻击机(PIII667/128/mandrake),被攻击的是一台Solaris 8.0 (spark)的主机,网络设备是Cisco的百兆交换机。这是在攻击并未进行之前,在Solaris上进行snoop的记录,snoop与tcpdump等网络监听工具一样,也是一个很好的网络抓包与分析的工具。可以看到攻击之前,目标主机上接到的基本上都是一些普通的网络包。 …
? -> (broadcast) EtheR Type=886F (Unknown), size = 1510 bytes
? -> (broadcast) ETHER Type=886F (Unknown), size = 1510 bytes
? -> (multicast) ETHER Type=0000 (LLC/802.3), size = 52 bytes
? -> (broadcast) ETHER Type=886F (Unknown), size = 1510 bytes
192.168.0.66 -> 192.168.0.255 NBT>
拒绝服务攻击是如何展开的
前面讨论的目的都是由拒绝服务攻击直接达到的,事实上,拒绝服务攻击还可以作为特权提升攻击、获得非法访问的一种辅助手段。 这时候,拒绝服务攻击服从于其他攻击的目的。 通常,攻击者不能单纯通过拒绝服务攻击获得对某些系统、信息的非法访问,但其可作为间接手段。 SYN风暴攻击可以用于IP劫持、IP欺骗等。 当攻击者想要向B冒充C时,其通常需要C不能响应B的消息,为此,攻击者可以先攻击C(如果它是在线的)使其无法对B的消息进行响应。 然后攻击者就可以通过窃听发向C的数据包,或者通过猜测发向C的数据包中的序列号等,然后冒充C与第三方通信。 一些系统在启动时会有漏洞,可以通过拒绝服务攻击使之重启,然后在该系统重启时针对漏洞进行攻击。 如RARP-boot,如果能令其重启,就可以将其攻破。 只需知道RARP-boot在引导时监听的端口号(通常为69),通过向其发送伪造的数据包几乎可以完全控制其引导(Boot)过程。 有些网络配置成当防火墙关闭时所有数据包都能通过(特别是对于那些提供服务比安全更加重要的场合,如普通的ISP),则可通过对防火墙的拒绝服务攻击使其失去作用达到非法访问受防火墙保护的网络的目的。 对Windows系统的大多数配置变动在生效前都需要重新启动系统。 这么一来,如果攻击者已经获得了对系统的管理性特权的变动之后,可能需要采取拒绝服务攻击的手段使系统重启或者迫使系统的真正管理员重启系统,以便其改动的配置生效。 对DNS的拒绝服务攻击可以达到地址冒充的目的。 DNS服务器起到的是把域名解析为IP地址的作用。 攻击者可以通过把DNS致瘫,然后冒充DNS的域名解析,把错误的域名-IP地址的对应关系提供给用户,以便把用户(受害者)的数据包指向错误的网站(如攻击者的网站),或者把受害者的邮件指向错误的(如攻击者的)邮件服务器,这样,攻击者就达到了冒充其他域名的目的。 攻击者的最终目的大致有两种:一是窃取受害者的信息,但客观上导致用户不能应用相应的服务,也构成拒绝服务攻击;二是拒绝服务攻击,如蓄意使用户不能访问需要的网站,不能发送邮件到需要的服务器等。 编辑本段防止拒绝服务的攻击 许多现代的UNIX允许管理员设置一些限制,如限制可以使用的最大内存、CPU时间以及可以生成的最大文件等。 如果当前正在开发―个新的程序,而又不想偶然地使系统变得非常缓慢,或者使其它分享这台主机的用户无法使用,这些限制是很有用的。 Korn Shell的ulimit命令和Shell的Iimit命令可以列出当前程的资源限制。
DDOS攻击原理
攻击原理及方法名称: 该攻击以多个随机的源主机地址向目的主机发送SYN包,而在收到目的主机的SYN ACK后并不回应,这样,目的主机就为这些源主机建立了大量的连接队列,而且由于没有收到ACK一直维护着这些队列,造成了资源的大量消耗而不能向正常请求提供服务。 :该攻击向一个子网的广播地址发一个带有特定请求(如ICMP回应请求)的包,并且将源地址伪装成想要攻击的主机地址。 子网上所有主机都回应广播包请求而向被攻击主机发包,使该主机受到攻击。 -based:攻击者将一个包的源地址和目的地址都设置为目标主机的地址,然后将该包通过IP欺骗的方式发送给被攻击主机,这种包可以造成被攻击主机因试图与自己建立连接而陷入死循环,从而很大程度地降低了系统性能。 of Death:根据TCP/IP的规范,一个包的长度最大为字节。 尽管一个包的长度不能超过字节,但是一个包分成的多个片段的叠加却能做到。 当一个主机收到了长度大于字节的包时,就是受到了Ping of Death攻击,该攻击会造成主机的宕机。 :IP数据包在网络传递时,数据包可以分成更小的片段。 攻击者可以通过发送两段(或者更多)数据包来实现TearDrop攻击。 第一个包的偏移量为0,长度为N,第二个包的偏移量小于N。 为了合并这些数据段,TCP/IP堆栈会分配超乎寻常的巨大资源,从而造成系统资源的缺乏甚至机器的重新启动。 :使用ICMP Echo轮询多个主机。 : 该攻击在短时间内向目的主机发送大量ping包,造成网络堵塞或主机资源耗尽。 败笔网络 为你解答
ddos攻击是什么意思?机房那边说服务器被攻击了,这个要怎么解决?

DDoS攻击就是通过控制大量肉鸡对目标发起攻击,通过消耗目标带宽资源或耗尽服务器资源让服务器直接崩溃无法访问。 服务器运营商的防护手段一般就是黑洞策略,遇到大流量攻击时直接把企业服务器放入黑洞,这样是可以阻挡DDOS攻击,但同时也让正常访客无法访问了。 而墨者.安全的防护会提供1T的超大带宽,可以对畸形包进行有效拦截,抵御SYN Flood、ACK Flood、ICMP Flood、DNS Flood等攻击,通过JS验证、浏览器指纹、ACL等技术抵御CC攻击。
发表评论