D.o.S(Denial of Service),拒绝服务攻击几乎是从互联网络的诞生以来伴随着互联网络的发展而一直存在也不断发展和升级。
早在1988年9月的蠕虫事件可以说是D.o.S攻击的最早的表现形式之一,直到2000年2月份的Yahoo、亚马逊、CNN被D.o.S攻击陷入瘫痪,D.o.S攻击技术给流量飞速增长的互联网络安全带来重大的威胁。
从某种程度上可以说,D.o.S攻击永远不会消失而且从技术上目前没有非常根本的解决办法。
D.o.S技术严格的说只是一种破坏网络服务的技术方式,具体的实现多种多样,但都有一个共同点,就是其根本目的是使受害主机或网络失去及时接受处理外界请求,或无法及时回应外界请求。
D.o.S 攻击的具体表现方式主要有以下几种:
1、制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯。
2、利用受害主机提供的服务或传输协议上的缺陷,反复高速的发出特定的服务请求,使受害主机无法及时处理所有正常请求。
3、利用受害主机所提供服务中处理数据上的缺陷,反复发送畸形数据引发服务程序错误大量占用系统资源,使主机处于假死状态甚至死机。
其中第一种攻击非常常见,它的攻击基础必须有几个条件:
1、高速包的产生。
2、被攻击主机的带宽无法承受高速包的攻击。
针对第一种方式,我们来看:在现在的互联网上的网站大多是高带宽的主机,从原理上来讲,单纯的通过直接发包攻击,几乎不可能引起任何阻塞。因为发起攻击的机器带宽可能远远低于这些主机,发出的攻击包只能是象小河的水流向大河一样,自然是波澜不惊了。但sumrf技术和D.o.S技术的出现使得非常容易的从低带宽主机上发起对高带宽主机的攻击了。在Yahoo受到攻击时,它最高时的数据流量大的惊人:1GB/秒。
如何来防止sumrf攻击呢?
一些高带宽网络的管理员应该关闭广播包的转发设置,以免被作为sumrf D.o.S攻击的反射板。具体做法以Cisco路由器为例:
1 、在每个端口应用no ip directed-broadcast
2 、在可能的情况下,使用访问控制列表,过滤掉所有目标地址为本网络广播地址的包;对于不提供穿透服务的网络,可以在出口路由器上过滤掉所有源地址不是本网地址的数据包。
对于重要网站主机,为了防御sumf D.o.S攻击可以合理的配置访问控制列表,过滤掉所有可能被利用的广播地址下子网的包。可定期去www.netscan.org
下面我们讲一讲另一种D.o.S攻击方式 D.o.S(Distributed Denial Of Service)分布式拒绝服务攻击。
分布式拒绝服务攻击是一种崭露头角的攻击方法,最早出现于1999年7月。当时还只是在黑客站点上进行的一种理论上的探讨。从2000年2月开始,这种攻击方法开始大行其道。在2月7日到11日的短短几天内,黑客连续攻击了包括Yahoo、Buy.com、eBay、Amazon、CNN等许多知名网站,致使有的站点停止服务达几个小时甚至几十个小时之久。它利用攻击者已经侵入并控制的主机(可能是数百,千台),对某一单机发起攻击。在悬殊的带宽力量对比下,被攻击的主机会很快失去反应。这种攻击方式被证实是非常有效的,而且非常难以抵挡。
从目前现有的技术角度来讲,还没有一项解决办法针对D.o.S非常有效。所以,防止D.o.S攻击的最佳手段就是防患于未然。也就是说,首先要保证一般的外围主机和服务器的安全,使攻击者无法获得大量的无关主机,从而无法发动有效攻击。一旦单位内部的主机或临近网络的主机被黑客侵入,那么其他的主机被侵入的危险会变得很大。同时,如果网络内部或邻近的主机被用来对本机进行D.o.S攻击,攻击的效果会更明显。所以,必须保证这些外围主机和网络的安全。尤其是那些拥有高带宽和高性能服务器的网络,往往是黑客的首选目标。 保护这些主机最好的办法就是及时了解有关本操作系统的安全漏洞以及相应的安全措施。及时安装补丁程序并注意定期升级系统软件,以免给黑客以可乘之机。
当攻击发生后,如何检验出来哪些是攻击数据呢?虽然攻击者在传达攻击命令时或发送攻击数据时,都加入了伪装甚至加密,但是其数据包还是有一定特征可循的。最常见的办法是在数据流中搜寻特征字符串。例如在攻击服务器向攻击器发布的攻击命令中,会有特定的命令字符串。搜寻到这些字符串,则可以确定攻击服务器和攻击者的位置。
管理员还可以通过监视端口使用情况的办法来进行入侵监测。常见的D.o.S工具一般都会有自己特定的通讯方式。例如trin00程序通讯时,经常会用到一些特定端口,例如UDP 31335、UDP 27444、TCP 27665等。本地机中这些端口处于监听状态,则系统很可能已经受到了侵袭。即使黑客已经对端口的位置进行了一定的修改,但如果外部的主机主动向网络内部的高标号端口发起连接请求,则系统很有可能已经受到侵入。这种过程可以通过对防火墙进行设置来加以监测和过滤。 另外,攻击时使用的数据包一般会有一些特征。例如,超长或畸形的ICMP或UDP包等。一般来说,这种包往往是用来进行拒绝服务攻击时才会产生。另外,如果发现数据包本身比较正常,但其中的数据比较特异,例如存在某种加密特性时,很可能是攻击控制器向攻击器所发布的攻击命令。
最后,可通过一些统计的方法来得到攻击来源。例如,在攻击之前,目标网络的域名服务器往往会接到远远超出正常数量的反向和正向的地址查询。这些查询往往意味着攻击的到来。还可以通过数据流量来判断。比如,在攻击时,攻击数据的来源地址会发出超出正常极限的数据量。这样,对通讯数据量进行统计也可以得到有关攻击系统的位置和数量的信息。