文件来源
SecurityFocus : Barbarians at the Gate: An Introduction to Distributed Denial of Service Attacks
简介
最近许多重要媒体都报导了根网络名称服务器(root name server) 遭受到协调式攻击 (coordinated attack) ,目的是造成服务器的服务功能无法正常运作,此种复杂的攻击方式,即是分布式阻断服务攻击(distributed denial of service, DDoS)。事实上早在2000年2月,就发生了类似的攻击事件,这个攻击针对包括Yahoo, eBay, Buy.com 和 CNN 等网路上数个知名网站,阻止了合法的网络流量长达数个小时。 事情经过将近三年时间,我们仍然受到 DDoS 威胁吗?很不幸,这个答案是肯定的。本文将简介DDoS 攻击的概念,包括攻击如何运作,受到攻击如何反应,以及网络安全社群可以如何合作防御。
何谓 Denial of Service?
为了更了解 DDoS 攻击,我们先回顾一下一个网络安全上的基本攻击方式--阻断服务(denial of service)攻击,只要攻击者企图阻止网络上某个资源被使用或是传送给使用者,都属于阻断服务攻击。例如攻击者剪断大楼的主要电话线路,或者入侵处理专用型交换机(PBX)的 switch,使得所有对外或对内的联机都中断。应用在计算机网络上,由于频宽、内存大小和硬件效能,router 或是网络上的 server 只能处理有限的需求,一但达到其上限,合法的流量也会被忽略,攻击者只要能送给目标特定的大量封包,就可达到阻断服务攻击的目的。
阻断攻击并不是用取得非法系统权限的方式,但一样是一种恶意的行为,因为造成了网络上的不便和混乱,当攻击者的目标是像根网络名称服务器(root name server)这样的重要主机,攻击就可产生十分严重的影响,一旦信息战争形成,这样的攻击可能会首当其冲,因为容易攻击,可是却十分难以防御。
何谓 Distributed Denial of Service(分布式阻断攻击)
本文所要讨论的是一种特殊的阻断服务攻击,此种攻击是许多不同的来源共同合作的协调式攻击(coordinated attack),分布式阻断攻击(Distributed Denial of Service, DDoS)可以轻易地在大型网络上发动,而且效果十分惊人,比起传统的阻断攻击由单一攻击者发出,它采用的是多台主机,主从式(master-slave)的阶层架构。
攻击者入侵大量的网络主机后,在被害主机上安装 DDoS 程序,攻击者可以利用此程式远程控制被害主机,攻击者可以从一控制端控制每台主机的攻击目标和方向,单一的主机就可以控制上千台主机,包括开始时间、结束时间、攻击的地址和型态都可以透过网络来控制,用这样的方式,单一主机就可以产生极大量的网络流量,不论攻击的目标为何,这样大量的封包流量都足以产生毁灭性的破坏。
网络上的攻击技术不断变化,一旦有足够大量的主机,任何型态的攻击都会变得很有威力:例如在广播地址发动 ICMP 要求的 Smurf 攻击,假造的 HTTP request,经过切割的封包或是任意的流量,这些大量的封包会造成目标主机当机或是完全破坏服务的 QoS(Quality of Service),这种攻击可以针对任何网络上的设备、路由器,提供各种服务的服务器,甚至特殊主机如防火墙或 IDS 都可能是目标。为什么 DDoS 这么棘手?巨大的网络流量显然各个管理者都会注意得到,可惜这些流量往往透过伪造的地址传送,检视这些封包只能察觉很有限的信息,所有的封包都看来合法,而其来源地址可能为任何一处,并没有明显规则可以让防火墙来防止这样的攻击发生。
我们可以做的,是对于整个攻击的监控和调查,这将是一连串令人泄气的工作,处理这些恶意封包所流经的网络管理者都应该被告知及警告,并分析这些恶意封包,特别是当这个时候网络几乎无法使用,这样的工作会更加耗时。事实上由于受害主机可能位于任何一处,DDoS 的停止往往都是攻击者的决定,而不是被害的系统管理者所能做的处理。
在攻击下存活有些方法可以减低分布式阻断攻击的影响,如之前提到,应该做的就是对攻击加以调查,当知道你所管辖网域的 edge router 是收到由哪个 core router 所发出的流量,告知该 router的管理者(可能是某个 ISP 业者或某家电信公司),并寻求协助,由上游管理者找出流量来源,并进一步通知。对于一般网管人员来说,这就已经超过其管辖范围了。
在这段时间内,还有什么是我们可以做的呢?
如果被攻击目标是单一机器,变换其 IP 地址可以暂时缓和攻击,最近的 DNS 服务器会更新新的地址,让少数重要客户能得到服务,这样的方法并不聪明,却是一个很快就能达成的解决方案,这样的方式特别适合当受攻击目标是网络中重要服务主机,如mail server 或 DNS server 之时。
过滤技术或许帮得上忙。如果攻击手法不太复杂,由产生的流量就可以找出规则来,仔细观察所抓取的封包,可以从中看出防火墙的 ACL(access control list)或比对规则的特性。再者,如果发现大量封包来自某个特定的来源或是 core router ,就可以考虑暂时把那边的流量阻挡起来;当然这样做一定也阻挡了某些真正合法的流量,这是不可避免的。
对于拥有较大网络流量的大公司,可以考虑购买大于使用量的网络设备, 作为遭受攻击的缓冲之用,这样的做法只是一时的应急,而不是根本解决问题。再次强调,对于DDoS
的调查和追踪应该要立刻执行,网络的上游单位、ISP和所有相关单位的电话、书信往返是不可避免的,就是因为这是耗时的工作,更应该立即着手。
防治攻击
DDoS 只能透过网络上团体共同合作,制定更严格的网络标准来解决。首先,不论是系统管理者或是家庭用户使用者都要能确保其机器是安全的,autorooter 程序会扫描网络上数以千计的主机,并攻陷有弱点的机器,在上面安装 slave 软件,所以时常更新系统和软体,关闭不需要的服务,执行防火墙基本的过滤功能,都能够帮助防止您的机器参与DDoS
攻击。
想杜绝 DDoS 有一个很棘手的关键在于假造 IP 的问题,利用router 上的过滤功能就可以达到此目的,对于网域的 core router 和border router来说,如果其来源地址是在
所属网域的范围之外,显然就是有问题的封包,假造的封包应该在达到网络骨干或是 core router之前就被丢弃,否则就太晚了,如果网管人员都能够执行这种过滤动作,假造IP 的动作几乎是不可能达成的,如此一来可以大大减低 DDoS 的调查和追踪所需时间,可惜目前大部分的网域并没有这重要的封包过滤功能,假造 IP 的封包依然存在。
对付 DDoS,网域之间的联络是很重要的,目前有些研究计画就是针对相邻网域间如何适当联系,您应该在适当地方保存与您的 ISP 的联络方法,了解ISP 业者在骨干网络上是
否有针对 DDoS 的防御计画。某些 ISP 业者会在网络的某些节点放置 sensor 来侦测突然的巨大流量,可以有效提前警告并隔绝DDoS 的受害区域,在建构网络时,这也可作为选择ISP 业者的参考依据。
结论
DDoS 攻击容易发动却不容易防守,唯有靠网络团体制定更严格的网络标准才能杜绝,最好的防御就是预先得知攻击的来临,您应该有一个面对DDoS 来临时应变的方案。建议您过滤网域封包以防止您管辖的网域内的主机参与这样的攻击。