smurf、trinoo、tfn、tfn2k以及stacheldraht是比较常见的DoS攻击程序,本文将对它们的原理以及抵御措施进行论述,以帮助管理员有效地抵御DoS风暴攻击,维护站点安全。 一、何为"smurf 攻击",如何抵御? Smurf是一种简单但有效的 DDoS 攻击技术,它利用了ICMP (Internet控制信息协议)。ICMP在Internet上用于错误处理和传递控制信息。它的功能之一是与主机联系,通过发送一个“回音请求”(echo request)信息包看看主机是否“活着”。最普通的ping程序就使用了这个功能。Smurf是用一个偷来的帐号安装到一个计算机上的,然后用一个伪造的源地址连续ping一个或多个计算机网络,这就导致所有计算机所响应的那个计算机并不是实际发送这个信息包的那个计算机。这个伪造的源地址,实际上就是攻击的目标,它将被极大数量的响应信息量所淹没。对这个伪造信息包做出响应的计算机网络就成为攻击的不知情的同谋。 下面是Smurf DDoS 攻击的基本特性以及建议采用的抵御策略: 1、Smurf的攻击平台:smurf为了能工作,必须要找到攻击平台,这个平台就是:其路由器上启动了 IP广播功能。这个功能允许 smurf 发送一个伪造的ping信息包,然后将它传播到整个计算机网络中。 2、为防止系统成为 smurf攻击的平台,要将所有路由器上IP的广播功能都禁止。一般来讲,IP广播功能并不需要。 3、攻击者也有可能从LAN内部发动一个smurf攻击,在这种情况下,禁止路由器上的IP 广播功能就没有用了。为了避免这样一个攻击,许多操作系统都提供了相应设置,防止计算机对IP广播请求做出响应。更多信息请参阅http://www.cert.org/advisories/CA-98.01.smurf.html的附录A。 4、如果攻击者要成功地利用你成为攻击平台,你的路由器必须要允许信息包以不是从你的内网中产生的源地址离开网络。配置路由器,让它将不是由你的内网中生成的信息包过滤出去,这是有可能做到的。这就是所谓的网络出口过滤器功能。 5、ISP则应使用网络入口过滤器,以丢掉那些不是来自一个已知范围内IP地址的信息包。 6、挫败一个smurf 攻击的最简单方法对边界路由器的回音应答(echo reply)信息包进行过滤,然后丢弃它们,这样就能阻止“命中”Web服务器和内网。对于那些使用Cisco路由器的人,另一个选择是CAR (Committed Access Rate,承诺访问速率)。 丢弃所有的回音应答信息包能使网络避免被淹没,但是它不能防止来自上游供应者通道的交通堵塞。如果你成为了攻击的目标,就要请求ISP对回音应答信息包进行过滤并丢弃。 如果不想完全禁止回音应答,那么可以有选择地丢弃那些指向你的公用Web 服务器的回音应答信息包。 CAR 技术由Cisco 开发,它能够规定出各种信息包类型使用的带宽的最大值。例如,使用CAR,我们就可以精确地规定回音应答信息包所使用的带宽的最大值。 二、何为 "trinoo",如何抵御它? trinoo 是复杂的 DDoS 攻击程序,它使用“master”程序对实际实施攻击的任何数量的“代理”程序实现自动控制。攻击者连接到安装了master程序的计算机,启动master程序,然后根据一个IP地址的列表,由master程序负责启动所有的代理程序。接着,代理程序用UDP 信息包冲击网络,从而攻击目标。在攻击之前,侵入者为了安装软件,已经控制了装有master程序的计算机和所有装有代理程序的计算机。 下面是trinoo DDoS 攻击的基本特性以及建议采用的抵御策略: 1、在master程序与代理程序的所有通讯中,trinoo都使用了UDP协议。入侵检测软件能够寻找使用UDP协议的数据流(类型17)。 2、Trinoo master程序的监听端口是27655,攻击者一般借助telnet通过TCP连接到master程序所在计算机。入侵检测软件能够搜索到使用TCP (类型6)并连接到端口27655的数据流。 3、所有从master程序到代理程序的通讯都包含字符串"l44",并且被引导到代理的UDP 端口27444。入侵检测软件检查到UDP 端口27444的连接,如果有包含字符串l44的信息包被发送过去,那么接受这个信息包的计算机可能就是DDoS代理。 4、Master和代理之间通讯受到口令的保护,但是口令不是以加密格式发送的,因此它可以被“嗅探”到并被检测出来。使用这个口令以及来自Dave Dittrich的trinot脚本http://staff.washington.edu/dittrich/misc/trinoo.analysis,要准确地验证出trinoo代理的存在是很可能的。 一旦一个代理被准确地识别出来,trinoo网络就可以安装如下步骤被拆除: ·在代理daemon上使用"strings"命令,将master的IP地址暴露出来。 ·与所有作为trinoo master的机器管理者联系,通知它们这一事件。 ·在master计算机上,识别含有代理IP地址列表的文件(默认名"..."),得到这些计算机的IP地址列表。 ·向代理发送一个伪造"trinoo"命令来禁止代理。通过crontab 文件(在UNIX系统中)的一个条目,代理可以有规律地重新启动, 因此,代理计算机需要一遍一遍地被关闭,直到代理系统的管理者修复了crontab文件为止。 ·检查master程序的活动TCP连接,这能显示攻击者与trinoo master程序之间存在的实时连接。 ·如果网络正在遭受trinoo攻击,那么系统就会被UDP 信息包所淹没。Trinoo从同一源地址向目标主机上的任意端口发送信息包。探测trinoo就是要找到多个UDP信息包,它们使用同一来源IP地址、同一目的IP地址、同一源端口,但是不同的目的端口。 ·在http://www.fbi.gov/nipc/trinoo.htm上有一个检测和根除trinoo的自动程序。 三、何为"Tribal Flood Network" 和 "TFN2K",如何抵御? Tribe Flood Network与trinoo一样,使用一个master程序与位于多个网络上的攻击代理进行通讯。TFN可以并行发动数不胜数的DoS攻击,类型多种多样,而且还可建立带有伪装源IP地址的信息包。 可以由TFN发动的攻击包括:UDP冲击、TCP SYN 冲击、ICMP回音请求冲击以及 ICMP 广播。 以下是TFN DDoS 攻击的基本特性以及建议的抵御策略: 1、发动TFN时,攻击者要访问master程序并向它发送一个或多个目标IP地址,然后Master程序继续与所有代理程序通讯,指示它们发动攻击。 TFN Master程序与代理程序之间的通讯使用ICMP回音应答信息包,实际要执行的指示以二进制形式包含在16位ID域中。ICMP (Internet控制信息协议)使信息包协议过滤成为可能。通过配置路由器或入侵检测系统,不允许所有的ICMP回音或回音应答信息包进入网络,就可以达到挫败TFN代理的目的。但是这样会影响所有使用这些功能的Internet程序,比如ping。 TFN Master程序读取一个IP地址列表,其中包含代理程序的位置。这个列表可能使用如"Blowfish"的加密程序进行了加密。如果没有加密的话,就可以从这个列表方便地识别出代理信息。 2、用于发现系统上TFN 代理程序的程序是td,发现系统上master程序的程序是tfn。TFN 代理并不查看ICMP回音应答信息包来自哪里,因此使用伪装ICMP 信息包冲刷掉这些过程是可能的。 TFN2K是TFN的一个更高级的版本,它“修复”了TFN的某些缺点: 1、在TFN2K下,Master与代理之间的通讯可以使用许多协议,例如TCP、UDP或ICMP,这使得协议过滤不可能实现。 2、TFN2K能够发送破坏信息包,从而导致系统瘫痪或不稳定。 3、TFN2K伪造IP源地址,让信息包看起来好像是从LAN上的一个临近机器来的,这样就可以挫败出口过滤和入口过滤。 4、由于TFN2K是最近刚刚被识破的,因此还没有一项研究能够发现它的明显弱点。 在人们能够对TFN2K进行更完全的分析之前,最好的抵御方法是: ·加固系统和网络,以防系统被当做DDoS主机。 ·在边界路由器上设置出口过滤,这样做的原因是或许不是所有的TFN2K源地址都用内部网络地址进行伪装。 ·请求上游供应商配置入口过滤。 四、何为 "stacheldraht",如何防范? Stacheldraht也是基于TFN和trinoo一样的客户机/服务器模式,其中Master程序与潜在的成千个代理程序进行通讯。在发动攻击时,侵入者与master程序进行连接。Stacheldraht增加了以下新功能:攻击者与master程序之间的通讯是加密的,以及使用rcp (remote copy,远程复制)技术对代理程序进行更新。 Stacheldraht 同TFN一样,可以并行发动数不胜数的DoS攻击,类型多种多样,而且还可建立带有伪装源IP地址的信息包。Stacheldraht所发动的攻击包括UDP 冲击、TCP SYN 冲击、ICMP 回音应答冲击以及ICMP播放。 以下是Stacheldraht DDoS攻击的基本特征以及建议采取的防御措施: 1、在发动Stacheldraht攻击时,攻击者访问master程序,向它发送一个或多个攻击目标的 IP地址。Master程序再继续与所有代理程序进行通讯,指示它们发动攻击。 Stacheldraht master程序与代理程序之间的通讯主要是由ICMP 回音和回音应答信息包来完成的。配置路由器或入侵检测系统,不允许一切ICMP回音和回音应答信息包进入网络,这样可以挫败Stacheldraht代理。但是这样会影响所有要使用这些功能的Internet程序,例如ping。 2、代理程序要读取一个包含有效master程序的IP地址列表。这个地址列表使用了Blowfish加密程序进行加密。代理会试图与列表上所有的master程序进行联系。如果联系成功,代理程序就会 |
|
|
|
|
文章转载地址:http://www.cnpaf.net/Class/hack/06101110491678235847.html