dos攻击

oS即DenialOfService,拒绝服务的缩写。DoS是指故意的攻击网络协议实现的缺陷或直接通过野蛮手段残忍地耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访问,使目标系统服务系统停止响应甚至崩溃,而在此攻击中并不包括侵入目标服务器或目标网络设备。这些服务资源包括网络带宽,文件系统空间容量,开放的进程或者允许的连接。这种攻击会导致资源的匮乏,无论计算机的处理速度多快、内存容量多大、网络带宽的速度多快都无法避免这种攻击带来的后果。

<script type=”text/javascript”></script>

目录

[隐藏]

<script src=”file:///F:/Book/Trend%20Book/%E5%85%AD%E4%B8%AA%E6%9C%88%E6%88%90%E4%B8%BA%E7%BD%91%E7%BB%9C%E4%B8%93%E5%AE%B6/Note/dos%E6%94%BB%E5%87%BB_files/doccatalog.js” type=”text/javascript”></script>

dos攻击-理解

 

dos攻击快闪族

 

Dos攻击图

死亡之ping(pingofdeath):

ICMP(InternetControlMessageProtocol,Internet控制信息协议)在Internet上用于错误处理和传递控制信息。它的功能之一是与主机联系,通过发送一个“回音请求”(echorequest)信息包看看主机是否“活着”。最普通的ping程序就是这个功能。而在TCP/IP的RFC文档中对包的最大尺寸都有严格限制规定,许多操作系统的TCP/IP协议栈都规定ICMP包大小为64KB,且在对包的标题头进行读取之后,要根据该标题头里包含的信息来为有效载荷生成缓冲区。”PingofDeath”就是故意产生畸形的测试 Ping(PacketInternetGroper)包,声称自己的尺寸超过ICMP上限,也就是加载的尺寸超过64KB上限,使未采取保护措施的网络系统出现内存分配错误,导致TCP/IP协议栈崩溃,最终接收方荡机。

泪滴(teardrop):

泪滴攻击利用在TCP/IP协议栈实现中信任IP碎片中的包的标题头所包含的信息来实现自己的攻击。IP分段含有指示该分段所包含的是原包的哪一段的信息,某些TCP/IP协议栈(例如NT在servicepack4以前)在收到含有重叠偏移的伪造分段时将崩溃。UDP洪水(UDPflood):如今在Internet上UDP(用户数据包协议)的应用比较广泛,很多提供WWW和Mail等服务设备通常是使用Unix的服务器,它们默认打开一些被黑客恶意利用的UDP服务。如echo服务会显示接收到的每一个数据包,而原本作为测试功能的chargen服务会在收到每一个数据包时随机反馈一些字符。UDPflood假冒攻击就是利用这两个简单的TCP/IP服务的漏洞进行恶意攻击,通过伪造与某一主机的Chargen服务之间的一次的UDP连接,回复地址指向开着Echo服务的一台主机,通过将Chargen和 Echo服务互指,来回传送毫无用处且占满带宽的垃圾数据,在两台主机之间生成足够多的无用数据流,这一拒绝服务攻击飞快地导致网络可用带宽耗尽。SYN 洪水(SYNflood):我们知道当用户进行一次标准的TCP(TransmissionControlProtocol)连接时,会有一个3次握手过程。首先是请求服务方发送一个SYN(SynchronizeSequenceNumber)消息,服务方收到SYN后,会向请求方回送一个SYN- ACK表示确认,当请求方收到SYN-ACK后,再次向服务方发送一个ACK消息,这样一次TCP连接建立成功。“SYNFlooding”则专门针对 TCP协议栈在两台主机间初始化连接握手的过程进行DoS攻击,其在实现过程中只进行前2个步骤:当服务方收到请求方的SYN-ACK确认消息后,请求方由于采用源地址欺骗等手段使得服务方收不到ACK回应,于是服务方会在一定时间处于等待接收请求方ACK消息的状态。而对于某台服务器来说,可用的TCP连接是有限的,因为他们只有有限的内存缓冲区用于创建连接,如果这一缓冲区充满了虚假连接的初始信息,该服务器就会对接下来的连接停止响应,直至缓冲区里的连接企图超时。如果恶意攻击方快速连续地发送此类连接请求,该服务器可用的TCP连接队列将很快被阻塞,系统可用资源急剧减少,网络可用带宽迅速缩小,长此下去,除了少数幸运用户的请求可以插在大量虚假请求间得到应答外,服务

 

dos攻击快闪族

 

OOB攻击(常用工具winnuke),teardrop攻击(常用工具teardrop.cboink.cbonk.c),land攻击,IGMP碎片包攻击,jolt攻击,Cisco2600路由器IOSversion12.0(10)远程拒绝服务攻击等等,这些攻击都是利用了被攻击软件的实现上的缺陷完成DoS攻击的。通常这些攻击工具向被攻击系统发送特定类型的一个或多个报文,这些攻击通常都是致命的,一般都是一击致死,而且很多攻击是可以伪造源地址的,所以即使通过IDS或者别的sniffer软件记录到攻击报文也不能找到谁发动的攻击,而且此类型的攻击多是特定类型的几个报文,非常短暂的少量的报文,如果伪造源IP地址的话,使追查工作几乎是不可能。
  
那么如何造成这些攻击的常是软件开发过程中对某种特定类型的报文、或请求没有处理,导致软件遇到这种类型的报文运行出现异常,导致软件崩溃甚至系统崩溃。下面结合几个具体实例解释一下这种攻击的成因。
  
1997年5月7号有人发布了一个winnuke.c。首先建立一条到Win95/NT主机的TCP连接,然后发送TCP紧急数据,导致对端系统崩溃。139/TCP是Win95/NT系统最常见的侦听端口,所以winnuke.c使用了该端口。之所以称呼这种攻击为OOB攻击,因为MSG_OOB标志,实际应该是TCP紧急数据攻击。
  
原始teardrop.c只构造了两种碎片包,每次同时发送这两种UDP碎片包。如果指定发送次数,将完全重复先前所发送出去的两种碎片包。它可以伪造源ip并跨越路由器进行远程攻击,影响的系统包括Linux/WinNT/Win95。使用的方法是:

teardrop源ip目的ip[-s源端口][-d目的端口][-n次数]
  
比较新的一个DoS攻击是Windows的 SMB实现中的DoS攻击,2002年8月发布,只要允许匿名连接的windows系统就可以进行远程攻击,强烈建议Windows用户打相应的补丁。它的方法就是先和目标系统建立一个连接,然后发送一个特定的请求,目标系统就会兰屏。发布的测试工具SMBdie.exe是图形界面工具,输入目标地址 NETBIOS名称即可。
  
从上面的讨论可以看出,这种攻击行为威力很大,而且难于侦察。但真实情况下它的危害仅现于漏洞发布后的不长的时间段内,相关厂商会很快发布补丁修补这种漏洞。所以上面提到的几种较老的攻击在现实的环境中,通常

 

dos攻击快闪族

  
利用协议的漏洞
  
如果说上面那种漏洞危害的时间不是很长,那么这种攻击的生存能力却非常强。为了能够在网络上进行互通、互联,所有的软件实现都必须遵循既有的协议,而如果这种协议存在漏洞的话,所有遵循此协议的软件都会受到影响。
  
最经典的攻击是synflood攻击,它利用TCP/IP协议的漏洞完成攻击。通常一次TCP连接的建立包括3个步骤,客户端发送SYN包给服务器端,服务器分配一定的资源给这里连接并返回SYN/ACK包,并等待连接建立的最后的ACK包,最后客户端发送ACK报文,这样两者之间的连接建立起来,并可以通过连接传送数据了。而攻击的过程就是疯狂发送SYN报文,而不返回ACK报文,服务器占用过多资源,而导致系统资源占用过多,没有能力响应别的操作,或者不能响应正常的网络请求。
  
这个攻击是经典的以小搏大的攻击,自己使用少量资源占用对方大量资源。一台P4的Linux系统大约能发到30-40M的64字节的synflood报文,而一台普通的服务器20M的流量就基本没有任何响应了(包括鼠标、键盘)。而且synflood不仅可以远程进行,而且可以伪造源IP地址,给追查造成很大困难,要查找必须所有骨干网络运营商,一级一级路由器的向上查找。
  
对于伪造源IP的synflood攻击,除非攻击者和被攻击的系统之间所有的路由器的管理者都配合查找,否则很难追查。当前一些防火墙产品声称有抗DoS的能力,但通常他们能力有限,包括国外的硬件防火墙大多100M防火墙的抗synflood的能力只有20-30Mbps(64字节syn包),这里涉及到它们对小报文的转发能力,再大的流量甚至能把防火墙打死机。现在有些安全厂商认识到DoS攻击的危害,开始研发专用的抗拒绝服务产品。
  
由于TCP/IP协议相信报文的源地址,另一种攻击方式是反射拒绝服务攻击,另外可以利用还有广播地址,和组播协议辅助反射拒绝服务攻击效果更好。不过大多数路由器都禁止广播地址和组播协议的地址。
  
另一类攻击方式是使用大量符合协议的正常服务请求,由于每个请求耗费很大系统资源,导致正常服务请求不能成功。如HTTP协议是无状态协议,攻击者构造大量搜索请求,这些请求耗费大量服务器资源,导致DoS。这种方式攻击比较好处理,由于是正常请求,暴露了正常的源IP地址,禁止这些IP就可以了。
  
进行资源比拼
   
这种攻击方式属于无赖打法,我凭借着手中的资源丰富,发送大量的垃圾数据侵占完你的资源,导致DoS。比如,ICMPflood,mstreamflood,Connectionflood。为了获得比目标系统更多资源,通常攻击者会发动 DDoS(DistributedDos分布式拒绝服务)攻击者控制多个攻击傀儡发动攻击,这样才能产生预期的效果。前两类攻击是可以伪造IP地址的,追查也是非常困难,第3种攻击由于需要建立连接,可能会暴露攻击傀儡的IP地址,通过防火墙禁止这些IP就可以了。对于难于追查,禁止的攻击行为,我们只能期望专用的抗拒绝服务产品了。

dos攻击-攻击程序

 

dos攻击快闪族

1、在master程序与代理程序的所有通讯中,trinoo都使用了UDP协议。入侵检测软件能够寻找使用UDP协议的数据流(类型17)。

2、Trinoomaster程序的监听端口是27655,攻击者一般借助telnet通过TCP连接到master程序所在计算机。入侵检测软件能够搜索到使用TCP(类型6)并连接到端口27655的数据流。

3、所有从master程序到代理程序的通讯都包含字符串“l44”,并且被引导到代理的UDP端口27444。入侵检测软件检查到UDP端口27444的连接,如果有包含字符串l44的信息包被发送过去,那么接受这个信息包的计算机可能就是DDoS代理。

4、Master和代理之间通讯受到口令的保护,但是口令不是以加密格式发送的,因此它可以被“嗅探”到并被检测出来。使用这个口令以及来自DaveDittrich的trinot脚本,要准确地验证出trinoo代理的存在是很可能的。

一旦一个代理被准确地识别出来,trinoo网络就可以安装如下步骤被拆除:

·在代理daemon上使用”strings”命令,将master的IP地址暴露出来。

·与所有作为trinoomaster的机器管理者联系,通知它们这一事件。

·在master计算机上,识别含有代理IP地址列表的文件(默认名“…”),得到这些计算机的IP地址列表。

·向代理发送一个伪造“trinoo”命令来禁止代理。通过crontab文件(在UNIX系统中)的一个条目,代理可以有规律地重新启动,因此,代理计算机需要一遍一遍地被关闭,直到代理系统的管理者修复了crontab文件为止。

·检查master程序的活动TCP连接,这能显示攻击者与trinoomaster程序之间存在的实时连接。

·如果网络正在遭受trinoo攻击,那么系统就会被UDP信息包所淹没。Trinoo从同一源地址向目标主机上的任意端口发送信息包。探测trinoo就是要找到多个UDP信息包,它们使用同一来源IP地址、同一目的IP地址、同一源端口,但是不同的目的端口。

·在http://www.fbi.gov/nipc/trinoo.htm上有一个检测和根除trinoo的自动程序。

“TribalFloodNetwork”和“TFN2K”,如何抵御

TribeFloodNetwork与trinoo一样,使用一个master程序与位于多个网络上的攻击代理进行通讯。TFN可以并行发动数不胜数的DoS攻击,类型多种多样,而且还可建立带有伪装源IP地址的信息包。可以由TFN发动的攻击包括:UDP冲击、TCPSYN冲击、ICMP回音请求冲击以及ICMP广播。

以下是TFNDDoS攻击的基本特性以及建议的抵御策略:

1、发动TFN时,攻击者要访问master程序并向它发送一个或多个目标IP地址,然后Master程序继续与所有代理程序通讯,指示它们发动攻击。

TFNMaster程序与代理程序之间的通讯使用ICMP回音应答信息包,实际要执行的指示以二进制形式包含在16位ID域中。ICMP(Internet控制信息协议)使信息包协议过滤成为可能。通过配置路由器或入侵检测系统,不允许所有的ICMP回音或回音应答信息包进入网络,就可以达到挫败TFN代理的目的。但是这样会影响所有使用这些功能的Internet程序,比如ping。

TFNMaster程序读取一个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(remotecopy,远程复制) 技术对代理程序进行更新。

Stacheldraht同TFN一样,可以并行发动数不胜数的DoS攻击,类型多种多样,而且还可建立带有伪装源IP地址的信息包。Stacheldraht所发动的攻击包括UDP冲击、TCPSYN冲击、ICMP回音应答冲击以及ICMP播放。

以下是StacheldrahtDDoS攻击的基本特征以及建议采取的防御措施:

 

dos攻击快闪族tacheldraht代理程序与TFN和trinoo一样,都可以用一个C程序来探测。

dos攻击-防范

 

dos攻击 dos攻击

 

dos攻击
防御方案化解图

DoS攻击几乎是从互联网络的诞生以来,就伴随着互联网络的发展而一直存在也不断发展和升级。值得一提的是,要找DoS的工具一点不难,黑客群居的网络社区都有共享黑客软件的传统,并会在一起交流攻击的心得经验,你可以很轻松的从Internet上获得这些工具,像以上提到的这些DoS攻击软件都是可以从网上随意找到的公开软件。所以任何一个上网者都可能构成网络安全的潜在威胁。DoS攻击给飞速发展的互联网络安全带来重大的威胁。然而从某种程度上可以说,DoS攻击永远不会消失而且从技术上目前没有根本的解决办法。

要避免系统免受DoS攻击,从前两点来看,网络管理员要积极谨慎地维护系统,确保无安全隐患和漏洞;而针对第三点的恶意攻击方式则需要安装防火墙等安全设备过滤DoS攻击,同时强烈建议网络管理员应当定期查看安全设备的日志,及时发现对系统的安全威胁行为。

Internet 支持工具就是其中的主要解决方案之一,包括SuperStack3Firewall、WebCache以及ServerLoadBalancer。不但作为安全网关设备的3ComSuperStack3防火墙在缺省预配置下可探测和防止“拒绝服务”(DoS)以及“分布式拒绝服务”(DDoS)等黑客侵袭,强有力的保护您的网络,使您免遭未经授权访问和其他来自Internet的外部威胁和侵袭;而且 3ComSuperStack3ServerLoadBalancer在为多服务器提供硬件线速的4-7层负载均衡的同时,还能保护所有服务器免受“拒绝服务”(DoS)攻击;同样3ComSuperStack3WebCache在为企业提供高效的本地缓存的同时,也能保证自身免受“拒绝服务”(DoS) 攻击。

如何配置路由器、防火墙和入侵检测系统来抵御常见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信息包序列进行过滤,并丢弃它们。

 

dos攻击快闪族 dos攻击
Dos攻击

3、抵御TFN和TFN2K

·确定你是否成为攻击平台:对不是来自于内部网络的信息包进行监控。

·避免被用作攻击平台:不允许一切到你的网络上的ICMP回音和回音应答信息包,当然这会影响所有要使用这些功能的Internet程序;将不是来源于内部网络的信息包过滤掉。

4、抵御Stacheldraht

· 确定你是否成为攻击平台:对ID域中包含值666、数据域中包含字符串“skillz”或ID域中包含值667、数据域中包含字符串“ficken”的 ICMP回音应答信息包进行过滤;对源地址为“3.3.3.3”的ICMP信息包和ICMP信息包数据域中包含字符串“spoofworks”的数据流进行过滤。

·避免被用作攻击平台:不允许一切到你的网络上的ICMP回音和回音应答信息包,当然这会影响所有要使用这些功能的Internet程序;将不是来源于内部网络的信息包过滤掉;将不是来源于内部网络的信息包过滤掉。

来源:snlying

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2009年5月1日
下一篇 2009年5月1日

相关推荐