upside
反病毒 反诈骗 反虐犬
|
分享:
▼
x0
|
[资讯教学] 典型DoS攻击原理及抵御措施
典型DoS攻击原理及抵御措施 smurf、trinoo、tfn、tfn2k以及stacheldraht是比较常见的DoS攻击程式,本文将对它们的原理以及抵御措施进行论述,以帮助管理员有效地抵御DoS风暴攻击,维护站点安全。
一、何为"smurf 攻击",如何抵御?
Smurf 是一种简单但有效的 DDoS 攻击技术,它利用了ICMP(Internet控制资讯协定)。ICMP在Internet上用于错误处理和传递控制资讯。它的功能之一是与主机联系,通 过发送一个“回音请求”(echorequest)资讯包看看主机是否“活着”。最普通的ping程式就使用了这个功能。Smurf是用一个偷来的帐号安 装到一个电脑上的,然后用一个伪造的源位址连续ping一个或多个电脑网路,这就导致所有电脑所回应的那个电脑并不是实际发送这个资讯包的那个计 算机。这个伪造的源位址,实际上就是攻击的目标,它将被极大数量的响应信息量所淹没。对这个伪造资讯包做出回应的电脑网路就成为攻击的不知情的同谋。
下面是Smurf DDoS 攻击的基本特性以及建议采用的抵御策略:
1、Smurf的攻击平台:smurf为了能工作,必须要找到攻击平台,这个平台就是:其路由器上启动了 IP广播功能。这个功能允许 smurf 发送一个伪造的ping资讯包,然后将它传播到整个电脑网路中。
2、为防止系统成为 smurf攻击的平台, 要将所有路由器上IP的广播功能都禁止。一般来讲,IP广播功能并不需要。
3、攻击者也有可能从LAN内部发动一个smurf攻击,在这种情况下,禁止路由器上的IP 广播功能就没有用了。为了避免这样一个攻击,许多作业系统都提供了相应设置,防止电脑对IP广播请求做出回应。
4、如果攻击者要成功地利用你成为攻击平台,你的路由器必须要允许资讯包以不是从你的内网中产生的源位址离开网路。配置路由器,让它将不是由你的内网中生成的资讯包过滤出去,这是有可能做到的。这就是所谓的网路出口筛检程式功能。
5、ISP则应使用网路入口筛检程式,以丢掉那些不是来自一个已知范围内IP位址的资讯包。
6、 挫败一个smurf 攻击的最简单方法对边界路由器的回音应答(echoreply)资讯包进行过滤,然后丢弃它们,这样就能阻止“命中”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脚本,要准确地验证出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位址、同一源埠,但是不同的目的埠。 三、何为"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程式进行联系。如果联系成功, 代理程式就会进行一个测试,以确定它被安装到的系统是否会允许它改变"伪造"资讯包的源位址。通过配置入侵检测系统或使用嗅探器来搜寻它们的签名资讯,可以探测出这两个行为。
代 理会向每个master发送一个ICMP 回音应答资讯包,其中有一个ID 域包含值666,一个资料栏包含字串"skillz"。如果master收到了这个资讯包,它会以一个包含值667的ID 域和一个包含字串"ficken"的资料栏来应答。代理和master通过交换这些资讯包来实现周期性的基本接触。通过对这些资讯包的监控,可以探测出 Stacheldraht。
一旦代理找到了一个有效master程式,它会向master发送一个ICMP资讯包,其中有一个伪造的 源位址,这是在执行一个伪造测试。这个假位址是"3.3.3.3"。如果master收到了这个伪造位址,在它的应答中,用ICMP资讯包资料栏中 的"spoofworks"字串来确认伪造的源地址是奏效的。通过监控这些值,也可以将Stacheldraht检测出来。
3、Stacheldraht代理并不检查 ICMP 回音应答资讯包来自哪里,因此就有可能伪造 ICMP 资讯包将其排除。
4、Stacheldraht代理程式与TFN 和 trinoo一样,都可以用一个C程式来探测。 五、如何配置路由器、防火墙和入侵检测系统来抵御常见DDoS攻击?
1、抵御 Smurf
•确定你是否成为了攻击平台:对不是来自于你的内部网路的资讯包进行监控;监控大容量的回音请求和回音应答资讯包。
•避免被当做一个攻击平台:在所有路由器上禁止IP广播功能;将不是来自于内部网路的资讯包过滤掉。
•减轻攻击的危害:在边界路由器对回音应答资讯包进行过滤,并丢弃;对于Cisco路由器,使用CAR来规定回音应答资讯包可以使用的带宽最大值。
2、抵御trinoo
•确定你是否成为攻击平台:在master程式和代理程式之间的通讯都是使用UDP协定, 因此对使用UDP协议(类别 17)进行过滤;攻击者用TCP埠27655与master程式连接,因此对使用TCP (类别6)埠 27655连接的流进行过滤;master与代理之间的通讯必须要包含字串"l44" ,并被引导到代理的UDP 埠27444,因此对与UDP埠27444连接且包含字串l44的资料流程进行过滤。
•避免被用作攻击平台:将不是来自于你的内部网路的资讯包过滤掉。
•减轻攻击的危害: 从理论上说,可以对有相同源IP位址的、相同目的IP位址的、相同源埠的、不通目的埠的UDP资讯包序列进行过滤,并丢弃它们。
3、抵御TFN和TFN2K
•确定你是否成为攻击平台:对不是来自于内部网路的资讯包进行监控。
•避免被用作攻击平台:不允许一切到你的网路上的ICMP回音和回音应答资讯包,当然这会影响所有要使用这些功能的Internet程式;将不是来源于内部网路的资讯包过滤掉。
4、抵御Stacheldraht
• 确定你是否成为攻击平台:对ID域中包含值666、资料栏中包含字串"skillz"或ID域中包含值667、资料栏中包含字串"ficken"的 ICMP回音应答资讯包进行过滤;对源位址为"3.3.3.3"的ICMP资讯包和ICMP资讯包资料栏中包含字串"spoofworks"的资料流程进 行过滤。
•避免被用作攻击平台:不允许一切到你的网路上的ICMP回音和回音应答资讯包, 当然这会影响所有要使用这些功能的Internet程式;将不是来源于内部网路的资讯包过滤掉;将不是来源于内部网路的资讯包过滤掉。
|