本文目录一览:
使网络服务器中充斥着大量要求回复的信息,消耗带宽,导致网络或系统停止正常服务,这种攻击称为
拒绝服务攻击
拒绝服务攻击英文名称是Denial of Service简称DOS。即是攻击者想办法让目标机器停止提供服务,是黑客常用的攻击手段之一。其实对网络带宽进行的消耗性攻击只是拒绝服务攻击的一小部分,只要能够对目标造成麻烦,使某些服务被暂停甚至主机死机,都属于拒绝服务攻击。拒绝服务攻击问题也一直得不到合理的解决,究其原因是因为网络协议本身的安全缺陷,从而拒绝服务攻击也成为了攻击者的终极手法。攻击者进行拒绝服务攻击,实际上让服务器实现两种效果:一是迫使服务器的缓冲区满,不接收新的请求;二是使用IP欺骗,迫使服务器把非法用户的连接复位,影响合法用户的连接。
什么是拒绝服务攻击(DoS)的原理。
SYN Flood:这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,使被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式。
SYN Flood攻击的过程在TCP协议中被称为三次握手(Three-way Handshake),而SYN Flood拒绝服务。
攻击就是通过三次握手而实现的 。
1、攻击者向被攻击服务器发送一个包含SYN标志的TCP报文,SYN(Synchronize)即同步报文。同步报文会指明客户端使用的端口以及TCP连接的初始序号。这时同被攻击服务器建立了第一次握手。
2、受害服务器在收到攻击者的SYN报文后,将返回一个SYN+ACK的报文,表示攻击者的请求被接受,同时,TCP序号被加一,ACK(Acknowledgment)即确认,这样就同被攻击服务器建立了第二次握手。
3、攻击者也返回一个确认报文ACK给受害服务器,同样TCP序列号被加一,到此一个TCP连接完成,三次握手完成。
具体原理是:TCP连接的三次握手中,假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接。
这段时间的长度我们称为SYN Timeout,一般来说这个时间是分钟的数量级(大约为30秒-2分钟);
一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况(伪造IP地址),那么服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源。
即使是简单的保存并遍历也会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行SYN+ACK的重试。
实际上,如果服务器的TC P/IP栈不够强大,那么最后的结果往往是堆栈溢出崩溃——即使服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比率非常之小);
此时,从正常客户的角度看来,服务器失去响应,这种情况就称做:服务器端受到了SYN Flood攻击(SYN洪水攻击)。
如果系统遭受SYN Flood,那么第三步就不会有,而且无论在防火墙还是S都不会收到相应的第一步的SYN包,所以我们就击退了这次SYN洪水攻击。
防御方式
拒绝服务攻击的防御方式通常为入侵检测,流量过滤和多重验证,旨在堵塞网络带宽的流量将被过滤,而正常的流量可正常通过。
1、防火墙
防火墙可以设置规则,例如允许或拒绝特定通讯协议,端口或IP地址。当攻击从少数不正常的IP地址发出时,可以简单的使用拒绝规则阻止一切从攻击源IP发出的通信。
复杂攻击难以用简单规则来阻止,例如80端口(网页服务)遭受攻击时不可能拒绝端口所有的通信,因为其同时会阻止合法流量。
2、交换机
大多数交换机有一定的速度限制和访问控制能力。有些交换机提供自动速度限制、流量整形、后期连接、深度包检测和假IP过滤功能,可以检测并过滤拒绝服务攻击。例如SYN洪水攻击可以通过后期连接加以预防。基于内容的攻击可以利用深度包检测阻止。
以上内容参考 百度百科-拒绝服务攻击
什么是拒绝服务(DoS)
拒绝服务攻击即攻击者想办法让目标机器停止提供服务,是黑客常用的攻击手段之一。其实对网络带宽进行的消耗性攻击只是拒绝服务攻击的一小部分,只要能够对目标造成麻烦,使某些服务被暂停甚至主机死机,都属于拒绝服务攻击。拒绝服务攻击问题也一直得不到合理的解决,究其原因是因为这是由于网络协议本身的安全缺陷造成的,从而拒绝服务攻击也成为了攻击者的终极手法。攻击者进行拒绝服务攻击,实际上让服务器实现两种效果:一是迫使服务器的缓冲区满,不接收新的请求;二是使用IP欺骗,迫使服务器把合法用户的连接复位,影响合法用户的连接。
DoS
:
我们所说的
DoS (Denial of Service)
攻击其中文含义是拒绝服务攻击,
这种攻击行动使网站
服务器充斥大量要求回复的信息,消耗网络带宽或系统资源,导致网络或系统不胜负荷以至于
瘫痪而停止提供正常的网络服务。
黑客不正当地采用标准协议或连接方法,
向攻击的服务发出
大量的讯息,占用及超越受攻击服务器所能处理的能力,使它当
(Down)
机或不能正常地为用户
服务。
“
拒绝服务
”
是如何攻击的通过普通的网络连线,使用者传送信息要求服务器予以确定。服务器
于是回复用户。用户被确定后,就可登入服务器。
“
拒绝服务
”
的攻击方式为:用户传送众多要
求确认的信息到服务器,使服务器里充斥着这种无用的信息。所有的信息都有需回复的虚假地
址,以至于当服务器试图回传时,却无法找到用户。服务器于是暂时等候,有时超过一分钟,
然后再切断连接。服务器切断连接时,黑客再度传送新一批需要确认的信息,这个过程周而复
始,最终导致服务器无法动弹,瘫痪在地。
在这些
DoS
攻击方法中,又可以分为下列几种:
TCP SYN Flooding
Smurf
Fraggle
1.TCP Syn Flooding
由于
TCP
协议连接三次握手的需要,在每个
TCP
建立连接时,都要发送一个带
SYN
标记的数据
包,如果在服务器端发送应答包后,客户端不发出确认,服务器会等待到数据超时,如果大量
的带
SYN
标记的数据包发到服务器端后都没有应答,会使服务器端的
TCP
资源迅速枯竭,导致
正常的连接不能进入,甚至会导致服务器的系统崩溃。这就是
TCP
SYN Flooding
攻击的过程。
图
1 TCP Syn
攻击
TCP
Syn
攻击是由受控制的大量客户发出
TCP
请求但不作回复,使服务器资源被占用,再也
无法正常为用户服务。服务器要等待超时
(Time
Out)
才能断开已分配的资源。
2.Smurf
黑客采用
ICMP(Internet Control Message Protocol RFC792)
技术进行攻击。常用的
ICMP
有
PING
。
首先黑客找出网络上有哪些路由器会回应
ICMP
请求。
然后用一个虚假的
IP
源地
址向路由器的广播地址发出讯息,路由器会把这讯息广播到网络上所连接的每一台设备。这些
设备又马上回应,这样会产生大量讯息流量,从而占用所有设备的资源及网络带宽,而回应的
地址就是受攻击的目标。例如用
500K bit/sec
流量的
ICMP echo (PING)
包广播到
100
台设备,
产生
100
个
PING
回应,便产生
50M bit/sec
流量。这些流量流向被攻击的服务器
,
便会使这服
务器瘫痪。
ICMP Smurf
的袭击加深了
ICMP
的泛滥程度,
导致了在一个数据包产生成千的
ICMP
数据包发送
到一个根本不需要它们的主机中去,传输多重信息包的服务器用作
Smurf
的放大器。
图
2 Smurf
攻击图
3.Fraggle
:
Fraggle
基本概念及做法像
Smurf,
但它是采用
UDP echo
讯息。
如何阻挡
“
拒绝服务
”
的攻击
阻挡
“
拒绝服务
”
的攻击的常用方法之一是:
在网络上建立一个过滤器
(
filter
)
或侦测器
(
sniffer
)
,
在信息到达网站服务器之前阻挡信息。过滤器会侦察可疑的攻击行动。如果某种可疑行动经常
出现,过滤器能接受指示,阻挡包含那种信息,让网站服务器的对外连接线路保持畅通。
DDoS
:
DDoS(Distributed Denial of Service)
其中文含义为分布式拒绝服务攻击。
Distributed
DoS
是黑客控制一些数量的
PC
机或路由器,用这些
PC
机或路由器发动
DoS
攻
击。因为黑客自己的
PC
机可能不足够产生出大量的讯息,使遭受攻击的网络服务器处理能力
全部被占用。
黑客采用
IP
Spoofing
技术,令他自己的
IP
地址隐藏,所以很难追查。如果是在
Distributed
DoS
情况下,被追查出来的都是被黑客控制的用户的
IP
地址;他们本身也是受害者。