|
DoS即Denial Of Service,拒绝服务的缩写。DoS是指故意攻击网络协议实现的缺陷,或直接通过野蛮手段耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访问,使目标系统服务系统停止响应甚至崩溃,而在此攻击中并不包括侵入目标服务器或目标网络设备。
这些服务资源包括网络带宽、文件系统空间容量、开放的进程或者允许的连接。这种攻击会导致资源匮乏,无论计算机的处理速度多快、内存容量多大、网络带宽的速度多快都无法避免这种攻击带来的后果。
事实上,任何事物都有一个极限,所以总能找到一个方法使请求的值大于该极限值,因此就会故意导致所提供的服务资源匮乏,导致服务资源无法满足需求的情况。所以,千万不要认为拥有了足够宽的带宽和足够快的服务器就有了一个不怕拒绝服务攻击的高性能网站,拒绝服务攻击会使所有的资源都变得非常渺小。
其实,有个形象的比喻可以深入理解DoS。街头的餐馆是为大众提供餐饮服务,如果一群地痞流氓要对餐馆进行拒绝服务攻击的话,手段会很多,比如霸占着餐桌不结账,堵住餐馆的大门不让路,骚扰餐馆的服务员或厨子不能干活,甚至更恶劣……;相应地,计算机和网络系统是为互联网用户提供互联网资源的,如果有黑客要进行拒绝服务攻击的话,则同样有好多手段!
今天最常见的拒绝服务攻击包括对计算机网络的带宽攻击和连通性攻击。
带宽攻击是指以极大的通信量冲击网络,使得所有可用网络资源都被消耗殆尽,最后导致合法的用户请求无法通过。连通性攻击是指用大量的连接请求冲击计算机,使得所有可用的操作系统资源都被消耗殆尽,最终计算机无法再处理合法用户的请求。
拒绝服务攻击是一种对网络危害巨大的恶意攻击。今天,DoS具有代表性的攻击手段包括Ping of Death、TearDrop、UDPflood、SYNflood、LandAttack、IP Spoofing DoS等。下面看看它们又是怎么实现的:
(1)PING死亡攻击:ICMP(Internet Control Message Protocol,互联网控制信息协议)在互联网上用于错误处理和传递控制信息。它的功能之一是与主机联系,通过发送一个“回音请求”(echo request)信息包看看主机是否“活着”。最普通的ping程序就是这个功能。而在TCP/IP的RFC文档中对包的最大尺寸都有严格限制规定,许多操作系统的TCP/IP协议栈都规定ICMP包大小为64KB,且在对包的标题头进行读取之后,要根据该标题头所包含的信息来为有效载荷生成缓冲区。
而在TCP/IP的RFC文档中对包的最大尺寸都有严格限制规定,许多操作系统的TCP/IP协议栈都规定ICMP包大小为64KB,且在对包的标题头进行读取之后,要根据该标题头所包含的信息来为有效载荷生成缓冲区。
“Ping of Death”就是故意产生畸形的测试Ping(Packet Internet Groper)包,声称自己的尺寸超过ICMP上限,也就是加载的尺寸超过64KB上限,使未采取保护措施的网络系统出现内存分配错误,导致TCP/IP协议栈崩溃,最终使接收方宕机。
(2)泪滴(Teardrop)攻击:泪滴攻击利用那些在TCP/IP协议栈实现时信任IP碎片中包的标题所包含的信息来实现攻击。IP分段含有指示该分段所包含的原信息,某些TCP /IP协议栈在收到含有重叠偏移的伪造分段时将崩溃。
(3)UDP洪水(UDPflood):如今在Internet上UDP(用户数据包协议)的应用比较广泛,很多提供WWW和Mail等服务的设备通常使用UNIX服务器,它们默认打开一些被黑客恶意利用的UDP服务。如echo服务会显示接收到的每一个数据包,而原本作为测试功能的chargen服务会在收到每一个数据包时随机反馈一些字符。UDPflood假冒攻击就利用这两个简单的TCP/IP服务的漏洞进行恶意攻击,通过伪造与某一主机的Chargen服务之间的一次UDP连接,回复地指向开着Echo服务的一台主机,通过将Chargen和Echo服务互连,来回传送毫无用处和占满带宽的垃圾数据,在两台主机之间生成足够多的无用数据流,这一拒绝服务攻击飞快地导致网络可用带宽耗尽。
(4)SYN洪水(SYNflood):当用户进行一次标准的TCP(Transmission Control Protocol)连接时,会有一个3次握手过程。首先是请求服务方发送一个SYN(Synchronize Sequence Number)消息,服务方收到SYN后,会向请求方回送一个SYN-ACK表示确认,当请求方收到SYN-ACK后,再次向服务方发送一个ACK消息,这样便建成了一次TCP连接。 |
|
【收藏】【打印】【进入论坛】 |
|
|
|
|
|
|
|