|
|
发表于 2006-11-20 16:50:19
|
显示全部楼层
原帖由 红盟过客 于 2006-11-19 09:42 发表
那位高手有这方面的案例和分析了,我一直没有搞清楚这方面的过程了。
先看看这个:
一、从DoS到DDoS
拒绝服务(Denial of Service,DoS)由来已久。自从有了Internet,就有了拒绝服务式攻击方法。由于过去没有大型网站或机构受到过这种攻击,其劣性并不突出。直到2000年初,Yahoo!、eBay及Amazon等遭其暗算,它才露出庐山真面目。
在典型的Internet连接中,用户访问一个网站时,客户端会先向网站服务器发送一条信息要求建立连接,只有当服务器确认该请求合法,并将访问许可返回给用户时,用户才可对该服务器进行访问。DoS攻击的方法是,恶意用户会向服务器发送多个连接请求,使其呈满负载状态,并且将所有请求的返回地址进行伪造。这样,在服务器企图将认证结构返回给用户时,它将无法找到这些用户。此时,服务器只好等待,有时可能会等上1分钟才关闭此连接。可怕的是,在服务器关闭连接后,攻击者又会发送新的一批虚假请求,重复上一次过程,直到服务器因过载而拒绝提供服务。这些攻击事件并没有入侵网站,也没有篡改或是破坏资料,只是利用程序在瞬间产生大量的网络封包,让对方的网络及主机瘫痪,使正常使用者无法获得主机及时的服务。
然而,年初攻击Yahoo!的元凶还不是简单的DoS,虽然与DoS攻击一样,也是向被攻击目标连续发送大量伪造的IP包,以导致服务器不能为合法用户提供正常服务(比如此次给Yahoo!站点路由器发出的无效请求高达1GB/s),但是它区别于DoS的“绝妙”之处在于: 动员了大量“无辜”的计算机向目标共同发起进攻,采用了分布式拒绝服务(Distributed Denial of Service,DDoS)攻击手段。
DDoS把DoS又向前发展了一步,DDoS的行为更为自动化,它可以方便地协调从多台计算机上启动的进程,让一股DoS洪流冲击网络,并使网络因过载而崩溃。确切地讲,DDoS攻击是指在不同的高带宽主机上安装大量的DoS服务程序,它们等待来自中央客户端的命令,中央客户端随后通知全体受控服务程序,并批示它们对一个特定目标发送尽可能多的网络访问请求。作为攻击者,必须通过telnet连接到他想利用的每一台远程主机上,并以用户身份登录,然后手工输入命令,启动每一台主机向攻击目标发送海量信息流。
DDoS与DoS的最大区别是人多力量大。原来的DoS是一台机器攻击目标,现在的DDoS是很多台机器利用他们的高带宽攻击目标,更容易将目标网站攻掉。除此之外,DDoS攻击方式较为自动化,攻击者可以把他的程序安装到网络中的多台机器上,所采用的攻击工具致使被攻击对象难以察觉,只要攻击者发下攻击命令,这些机器便发起进攻。
二、DoS的攻击方法
对DoS而言,其攻击方式很多,主要使用的攻击有3种,分别是TCP-SYN flood、UDP flood和ICMP flood。
当用户进行一次标准的TCP连接时,会有一个3次握手过程。首先是请求服务方发送一个SYN消息,服务方收到SYN后,会向请求方回送一个SYN- ACK表示确认,当请求方收到SYN-ACK后,再次向服务方发送一个ACK消息,这样,一次TCP连接建立成功。但是TCP-SYN flood在实现过程中只进行前2个步骤:当服务方收到请求方的SYN-ACK确认消息后,请求方由于采用源地址欺骗等手段使得服务方收不到ACK回应,于是,服务方会在一定时间处于等待接收请求方ACK消息的状态。对于某台服务器来说,可用的TCP连接是有限的,如果恶意攻击方快速连续地发送此类连接请求,该服务器可用的TCP连接队列将很快被阻塞,系统可用资源急剧减少,网络可用带宽迅速缩小,长此下去,网络将无法向用户提供正常的服务。 |
|