前言
2000 年2 月上旬,发生了一连串著名网站受到攻击的事件,遭受攻击的有Yahoo.com、eBay.com、amazon.com、buy.com 及E*Trade Securities、CNN、ZDNet 等公司的网站(“ FBI investigates,”2000,February 9;Cha& Schwartz,2000,February 10 )。
在这些事件中,骇客利用了阻断服务攻击( Denial-of-Service ( DoS ) attacks ),也可能是分散式的阻断服务攻击 ( Distributed Denial-of-Service ( DDoS ) attacks )。今年五月,全球知名的电脑系统安全权威 Steve Gibson,也得对这样的攻击投降,而令 Steve Gibson 伤透脑筋的电脑骇客,竟只有 13 岁。英国报导指出,今年五月时,Gibson 所成立的网站grc.com,曾经断线17 个小时,并连续二周遭到这样的攻击,联邦调查局( FBI )表示爱莫能助,于是吉布森自行追查祸首,并在网站上发表公开信投降,才将整个事件告一个段落。
因此,可以知道这些阻断服务攻击的严重 ,而这些阻断服务的攻击其原理是如何?是如何发 攻击及瘫痪网路的呢?本文将对此作详细的分析。
TCP/IP 协定的安全漏洞
网际网路的核心是 TCP/IP 所构成。这一组网路上电脑之间的通讯协定构建了开放的、高扩充力的网际网路基础架构,是网路快速成长的关键因素之一。然而,这些协定在设计之初,资讯安全并不是设计者关心的要点;许多 RFC 文件都指出安全因素并未被纳入考虑。
于是,在 TCP/IP 的协定中,存在若干基本的安全问题,也就是说,TCP/TP 的协定本身存在若干的安全漏洞。这些漏洞常被骇客利用,成为阻断服务攻击的来源,例如,TCP/IP 协定中并没有对来源位址作确认,这样的设计结果,导致了无法找出攻击的来源,因为,骇客便可对来源的IP 造假,使受害者难以找出真正的攻击来源。
一般使用阻断服务攻击的骇客,大多是为了好玩、报复及泄恨,因为这样的攻击,除了将网路、主机瘫痪掉之外,并无法窃取到企业内部的机密资料,严格地说起来,真正的高手,并不会去使用阻断服务攻击,但这样的攻击,造成的伤害确也不小。在Windows 2000 上市之前,曾有个以Windows 2000 架设并供骇客入侵测试的网站,微软声明禁止使用阻断服务攻击,但最后还是遭受了这样的攻击,可能是一些无法真正入侵成功的骇客,所展开的一种宣泄吧!目前已知的攻击方式有数十种之多,如Ping of Death、SYN Flooding、UDP Bomb等及分散式阻断服务,我们分别对其中说明。
《图一 正常的TCP连线过程》 |
TCP SYN Flooding
TCP SYN Flooding 是利用 TCP/IP 协定的弱点,正常的 TCP 连结必须经过三笔讯息传递的交握( handshaking )过程方能完成,见(图一)。一般在连线过程当中,Host 传送一个同步 包( SYN )给Server,Server 回传一个承认讯号( ACK )后,Host 再回传自己的 ACK 并建立连线。如果Host 主机不进行第三个步骤,Server 会预留暂存空间以等待接收资料,如果在同一时间发生太多建立连线的要求,且暂存空间也一直被建立而不被释放出来处理资料,则系统会发生当机或瘫痪的情形如(图二)。
《图二 Syn Flood的攻击概念》 |
这种手法就是所谓的 SYN Flooding,而且骇客通常会以假冒 IP 的方式来攻击,让系统无法追溯攻击者。这时网站遭受到 TCP SYN Flood 攻击时,会有无法接收WWW 或 FTP 服务等请求的现象。
对于 SYN Flood 攻击要如何防制呢?不幸地,这是 TCP/IP 的设计不良,较有效地方法是使用频宽管理器限制连线或是和 ISP 配合,我们会在后面分散式阻断服务攻击详述。
Smurf 攻击
Ping 会送出单一的资料 包,然后等待回应。如果对于同一部主机连续给予大量的 ping 包,即 ping flood,则会造成网路及主机的大量资源耗尽。一种类似于ping storm,但威力更大的阻断服务攻击称为 smurf (依攻击程式之名称命名)。
Smurf 利用ICMP ( Internet Control Message Protocol )的echo 回应;因为smurf 的echo 要求是向整个网路上全部的主机广播,所以会衍生大量的反应包,所有的反应包送给单一的主机,即被攻击的目标,造成服务被阻断。如(图三),骇客送出ICMP echo 的request 包给Victim A,而这个包的来源IP 被修改成10.254.8.9 到目的IP 的10.1.5.255,这时当Network 10.1.5.0 的机器收到后,便对10.254.8.9 的这台机器发Ping flood,造成该机器和网路的资源耗尽。所以,骇客可以利用不知情的网路作为跳板,有效地放大攻击能量,可以知道 smurf 也是相当有威力的阻断服务攻击。
《图三 Smurfing攻击示意图》
|
避免骇客攻击的方法
如何避免这样的攻击呢? Huegen ( 2000 )建议了三项作法:( 1 )关闭向内部网路广播的功能,例如Cisco 的路由器可以执行”no ip directed-broadcast”( 2 )利用存取控制表列( access control lists )来防止ICMP echo 请求进入自己的区域网路( 3 )要求网路设备供应商关闭ICMP 广播式echo 的回应功能。这样应该可以避免成为骇客攻击的跳板。
在除了上面二种较常见的攻击方法外,还有只针对系统漏洞的 DOS 攻击,像是针对 Microsoft 的 OOB 攻击,或是 UDP Bomb 及 Teardrop 的攻击,都会使主机或网路瘫痪掉。下面,将介绍分散式阻断服务攻击( Distributed denial of Service Attack ),它集合了一些 DOS 的攻击技巧,同时,造成的伤害也更大。
分散式阻断服务攻击( Distributed denial of Service Attack )
Yahoo 等著名的电子商务网站,及前面所提到的 grc.com 网站都是遭受所谓的 DDOS 的攻击,所谓的 DDOS 就是将一些 DOS 的攻击程式分散于多台电脑,再一起攻击目标网站。如(图四),每一台被控制的电脑,都发Ping Flood 或Syc Flood等等的DOS 攻击,这样连合起来,由攻击者下达单一的、简洁的命令,指挥数部或数千部的电脑同时向目标主机大量地投掷资料包,造成目标主机整个网路和主机的瘫痪,当时攻击Yahoo! 网站的能量达到每秒1 Gagabits 以上,可以想像DDOS 威力的强大。
这些发DOS 攻击的机器,大多是例用一些骇客程式,如TFN、TFN2K 等,虽然是现成的一些骇客程式,但必须先入侵数十台机器的电脑,并植入后门程式及DDOS 程式才行,因此,完成整个DDOS 的部署并不是这么容易的,至少骇客必须先入侵这些发攻击的电脑才行,虽然这对某些程度的骇客也不是很难,但一定会花掉许多时间。
而这些电脑是怎么被入侵的呢?骇客可以利用这些电脑上的安全漏洞,直接入侵这台电脑,通常,这些电脑的安全防护都相当弱,甚至在这些电脑的网路上根本没有部署防火墙或入侵侦器系统,因此,很容易成为骇客下手的目标。
《图四 DDDS的基本架构》
|
(图四)说明了DDOS 的攻击模式,骇客入侵了网际网路上一堆的电脑后,选择其中的一台或多台电脑作为Master Server,而其他台电脑被当作「执行者」,也就是「攻击者」,「执行者」的电脑上会放入agents 也称为daemons 的DOS 程式。
这时骇客下达命令给 Master 发 攻击, Master 再下达给这些 daemons,同时向目标投掷大量的 包,形成暴风雨式的DDOS 攻击。像是 TFN ( Tribe Flood Network )、TFN2K 都是这样的架构。 Trinoo 则多了一层架构于 Master Server和 daemons 的中间,其攻击 包是为 UDP 包。其他的 DDoS 工具则使用不同型态的 包。
TFN 及stacheldraht 的「执行者」可执行威力强大的smurf 攻击,或选用UDP、TCP SYN、ICMP echo 等三种型态之一的包;TFN2K 则有混合不同型态包的能力,包含了UDP flood, ICMP echo flood,ICMP broadcast flood ( Smurf ),TCP SYN attack。而这些DDOS 的程式,也有愈来愈完整的机制,像是Trinoo甚至于使用了password 作为沟通;TFN2K 则更进一步对控制通讯予以加密,可以想像得到,未来的DDOS 程式的发展将来愈来愈难捉摸。
结语
当受到 DOS 或 DDOS 攻击时,要怎么作反制呢?很不幸地,反制这些攻击非常的不容易,以目前的技术来看,网站都是处于「防」的状态,我们并没有办法马上知道对方是谁,因为来源的IP 可能是假的,也不可能在发现对方是谁后,再反击回去,因为,这样您也成了骇客,同样也作了违法的事。
目前比较有效的解决方法,还是需要和ISP 配合,过滤掉一些不应该进来的包,同时,也必须请ISP 方面过滤掉由企业所发出去的非正常包,如非企业内部的IP,避免企业内有人成为DDOS 的daemons,这样全面的配合,包含了各ISP 和企业,才能将DDOS 的伤害减至最少。另一方面,就是犯罪纪录的收集和法律的修订,藉由执法单位的力量,使得这些骇客不会轻易地作出违法的事情,这样,网际网路才能真正发挥它的效能。
(本文作者任职于钰松国际)
骇客与电脑病毒比较
|
骇客(Hacker)
骇客犹如被限制出境者(非企业网管人员),以几可乱真的Password 欺蒙海关守门员(如同企业网路的Gateway ),进入国境(企业网路)后,锁定迫害对象(各企业电脑主机) ,进行各种破坏动作。没有合法身分认证的电脑骇客通常都会先想办法取得一个合法的通行密码,就可以借者这把钥匙在网路上通行无阻。
电脑病毒(Virus)
电脑病毒没有特定目标,犹如某人持有合法护照,但在出入境时,携带的行李被放置枪炮弹药等违禁品(病毒程式),海关(如同企业网路的Gateway )并没有察觉,于是在突破第一道关卡后,这些违禁品进入国境(个人电脑或企业网路),随时产生破坏动做。
一个合法的使用者在有意无意间所「引进」病毒,其管道可能是直接从网际网路下载档案、或者是开启e-mail中含有病毒的附加档案( Attachment)所感染。 |