说到黑客的终极武器,那就真的不得不说到DDoS了。可能某些用户对这个东西不是十分的了解,不过从事计算机安全的人员却往往是听到这个名字, 其程度比谈虎色变还要严重。究竟这个DDoS有什么地方那么恐怖呢,下面会为你作一些简单的说明。
通常,DoS攻击的目标是你网络的TCP/IP内层结构,而这些攻击分为三种:一种是利用TCP/IP协议的漏洞;二种是利用给定的TCP/IP协议栈软件的弱点;第三种是不断尝试的野蛮攻击。
起这个黑客软件的破坏力,那就不可以不说起网络安全界鼻祖CERT被攻击的事情了。5月22日,星期二,这本来只是Pittsburgh Carnegie Mellon大学CERT 交流中心的一个寻常的日子。可是就在这一天,被认为是计算机安全的泰斗的CERT将在这一天被黑客们"离散的服务拒绝"(DDoS)的攻击手段踢出网络。另外,微软、雅虎和Exodus都在过去的12个月里遭到了DDos的毒手;可能成为下一个目标很可能就是你或者是你的客户喔。毕竟,如果有人真的想要用DDoS攻击你的服务器而使其瘫痪,他们是绝对有能力做到的,而且是防不胜防。
“离散的服务拒绝”主要是通过阻止你的服务器发送你所提供的服务而工作的。要达到这个目的,黑客可以有很多种方法,例如最典型的就是Outlook e-mail 蠕虫病毒Melissa及其同类了,因为它们可以驱使Outlook 程序的客户端向服务器不停的发出充满了蠕虫病毒的信件直到服务器在重压之下瘫痪。很多人一提到DoS攻击的过程,就会联想到是用很多无用的信息来阻塞网络,以此来达到使其瘫痪的目的。其实这只是其中一个比较典型的方法。事实上还有一种方法其实也是非常有效的,那就是名为消耗服务器资源方式的攻击。这种攻击是用一个低速的modem连接来进行的。
其中,Mazu网络公司设计的TrafficMaster Inspector是一种对付DDoS的好工具。通过不停地进行以G为单位的以太网速度的数据检查,并且尽可能远的追溯数据来源。简单的说,Mazu希望能够实时的探测到网络攻击,然后让正常的数据包通过同时将DDoS数据包阻挡起来。它对网络的这种保护使得它适合于ISP和数据中心服务器。
对于企业用户来说,可以通过安装一些软件例如防火墙和象Zone Labs 公司的Zone Alarm Pro等,这些都可以起到免受或克制DDoS攻击的作用。另外,企业用户也可以寻求Asta 网络公司的帮助。Asta 网络公司开发了一种Vantage系统,这种系统可以起到一种类似于反病毒软件的作用,主要是起到预防的作用,当它发现了可能的攻击,Vantage系统会提示网络管理员,然后网络管理员就能使用路由过滤器甚至在数据流传送的途中关闭网络服务器来阻止攻击。而这个系统是通过分析和寻找可能的DDoS攻击的在一般攻击前的特点,它不停地将网络上数据包和已知的DDoS数据包的定式比较,这些定式包括流往域名服务器(DNS)的非标准的数据流,如果当它发现问题的时候,就会提示网络管理员了。
上面已经说过,DDoS其中的一种破坏方法就是破坏TCP/IP协议。其中最典型的例子就是Ping of Death攻击啦,这些黑客建造了一个超过了IP标准的最大长度--65535个字节的IP数据包。(Sinbad注:Ping 'o Death攻击是发送多个IP分片,总长度超过65535;jolt2才是连续发送一个偏移量很大的数据包)当这个"浮肿的"数据包到达的时候,,它就使得一个使用脆弱的TCP/IP协议软件和操作系统的服务器瘫痪。另外一个进行攻击的例子是Teardrop, 它主要是利用了系统重组IP数据包过程中的漏洞工作的。一个数据包在从互联网的另一端到你这里的路上也许会被分拆成更小的数据报文。这些数据报中的每一个都拥有最初的IP数据报的报头,同时还拥有一个偏移字节来标示它拥有原始数据报中的哪些字节。通过这些信息,一个被正常分割的数据报文能够在它的目的地被重新组装起来,并且网络也能够正常运转而不被中断。当一次Teardrop攻击开始时,你的服务器将受到拥有重叠的偏移字段的IP数据包的轰炸。如果你的服务器或是路由器不能丢弃这些数据包而且如果企图重组它们,你的服务器就会很快瘫痪。如果你的系统被及时更新了,或者你拥有一个可以阻挡Teardrop数据包的防火墙,你应该不会有什么麻烦。
另外还有就是利用TCP/IP协议本身的漏洞来进行攻击的手段,这些手段也不少,其中最流行的SYN攻击。SYN工作的原理就是利用两个互联网程序间协议握手的过程进行的攻击。协议握手的过程如下,其中一个应用程序向另一个程序发送一个TCP SYN(同步)数据包。然后目标程序向第一个程序发送一个TCP-ACK应答数据包作为回答;第一个程序最后用一个ACK应答数据包确认已经收到。一旦这两个程序握手成功,它们就准备一起运行了。 SYN攻击用一堆TCP SYN数据包来淹没它的受害者。每个SYN数据包迫使目标服务器产生一个SYN-ACK应答数据包然后等待对应的ACK应答。这很快就导致过量的SYN-ACK一个接一个的堆积在缓存队列里。当缓存队列满了以后,系统就会停止应答到来的SYN请求。如果SYN攻击中包括了拥有错误IP源地址的SYN数据包,情况很快就会变得更糟。在这种情况下,当SYN-ACK被送出的时候,ACK应答就永远不会被收到。飞快充满的缓存队列使得合法程序的SYN请求无法再通过。更加厉害的是,与之相似的Land攻击手段使用欺骗性的SYN数据包,它带有一个伪装的IP地址,使得它看起来像是来自你自己的网络。现在,SYN攻击就像是来自于你防火墙的内部,这使得问题更加严重。 大多数时新的操作系统和防火墙可以阻止SYN攻击。另一个简单的阻止SYN攻击的方法是阻塞掉所有带有已知的错误的IP源地址的数据包。这些数据包应该包括带有错误的为内部保留的IP地址的外部数据包。
另外还有Smurf攻击和用户数据报文协议冲击。这两种攻击都使用了同一的手段。当你被Smurf攻击的时候,攻击者用互联网控制信息协议(ICMP)的应答数据包--一种特殊的ping数据包来填充你的路由器。这些数据包的目的IP地址同时是你的广播地址,这使得你的路由器将ICMP数据包广播到网络上的每一台主机。不言自明的是,对于一个大型网络来说,它将引起巨大的网络信息流量。而且,就像Land攻击那样,如果黑客将Smurf攻击和欺骗手段结合起来,破坏力就更大。免Smurf攻击的一种简单的方法就是在路由器中禁用广播地址并且设置你的防火墙来过滤ICMP应答协议。你也可以设置你的服务器来使得它不对发送ICMP数据包到IP广播地址的要求做出响应。这些设置不会影响到你的网络的正常工作因为很少有应用程序使用IP协议的广播功能。
不过要对付采用UDP冲击方法的DoS攻击就不那么容易了,因为一些合法的应用程序,比方说RealVideo,也使用UDP协议。在一次UDP冲击中,攻击者伪造出一个请求,将一个系统的UDP开启测试服务程序与另一个系统的UDP应答程序连在一起。UDP开启测试服务程序是一个用于测试的从收到的数据包产生字符的程序。结果是,由UDP开启测试服务程序伪随机产生的字符在两个系统间不停的被反射,使得合法应用程序的带宽要求得不到满足。
一种阻止UDP攻击的方法是禁用或者过滤对主机的所有UDP服务要求。只要你允许非服务请求的UDP请求通过,使用UDP协议的或是把UDP协议当作备用数据传输协议的通常的应用程序将继续正常工作。 使用这些防御的方法,你可能认为应付DoS攻击就像应付一根火腿肠一样容易。你错了。因为发动DDoS攻击是如此的容易,任何心怀不轨的人都能组织起几十台甚至上百台计算机来对你的系统发动DoS攻击。 单是巨大的参与攻击的计算机的数量就能冲垮你的堡垒并将你的网络塞满垃圾信息。使用Tribe Force Network(TFN),Trin00或是Stacheldraht这样的工具,任何人都可以将DDoS的攻击"僵尸"植入一些毫无防范的系统中。然后,攻击者发送攻击目标的信息以及攻击的指令。DDoS瞬间即至。 这些在1997年到1999年被发明的攻击方法是容易被察觉的。但是,新一点的DDoS却使用"脉动僵尸。"这种攻击手段并不使用野蛮的攻击,而是发送一波一波的小带宽的数据,这样,它们就能绕过那些为密集进攻而设置的网络警报器。
DDoS攻击只可能增加。随着互联网的扩大,更多的用户将获得对网络的宽带接入,这给了黑客们更多的可以利用的系统。 火上浇油的是,微软将它的Windows XP操作系统定位为下一代的面向大多数消费者的操作系统,Windows XP将使用"原始的"TCP/IP套接字。通常,程序员们在编写程序时使用与其功能相关的套接字--套接字是一种将应用程序与TCP/IP相连的软件对象。
TCP/IP协议同时定义了一种SOCK_ROW的套接字类型。并不是所有的操作系统支持这种套接字,但是Unix和Windows XP支持。使用原始套接字,一个程序员可以编写代码调用任何TCP/IP套接字。只要对不按TCP/IP标准进行编程很在行,原始套接字就能让程序员编写非法的应用程序,比方说DDoS僵尸,因为它们允许程序员以一种无法预料的方式使用广泛流行的套接字。例如,你可以使用原始套接字来编写DDoS攻击程序,它们使用套接字80--Web超文本传输协议选择的套接字,来获取它的指令。
虽然Windows 2000,Unix和它的后代,Linux 和BSD操作系统,也支持原始套接字,但这些操作体统是被拥有足够技术的行家照看着的。这些用户即使不能使他们的系统以适当地方式运行,他们也懂得如何锁定这些系统。但是XP却将由一个刚刚从电脑城里将它买回来的人看管,它远不太可能被一个专家级的管理员来使用并查找出新的DDoS代理程序。 因为这一点,Gibson 研究团体的Steve Gibson预言说目前DDoS攻击的爆炸式的增长(据Gibson估计为每星期4,000次)将大幅度增加。从理论上讲,这将使互联网本身因为成百上千的DDoS攻击而减慢速度。
除了保护你的系统不被DDoS 僵尸和上面所述的方法攻击,你还应该鼓励任何使用宽带互联网的人安装一个基本的防火墙。ZDNet的下载站点有一长串的个人防火墙,这些防火墙易于使用并且提供基本的保护功能。 Zone Labs公司的ZoneAlarm就是一种由专家推荐给那些想要了解在他的网络连接上究竟发生了些什么的初级用户的软件。在一位朋友的使用DSL连接的电脑上使用了ZoneAlarm后我们发现了两个,不是一个,蓄势待发的DDoS僵尸。我们还注意到每天都有人企图非法闯入他的系统。如果你拥有宽带连接,那么安全不仅仅是一个好主意,它是一种必要。
什么样的防御是足够的呢?只有时间和经验才能告诉我们,但是如果现在你不打算保护你不受DDoS的攻击,你不仅有失去网络连接的危险,你本身就可能成为网络安全问题的一部分了。所以,现在开始防备还来得及喔。