DoS(Denial of Service)拒绝服务攻击广义上可以指任何导致你的服务器不能正常提供服务的攻击。这种攻击可能就是泼到你服务器上的一杯水,或者网线被拔下,或者网络的交通堵塞等等,最终的结果是正常用户不能使用他所需要的服务了,不论本地或者是远程。我们这里比较关心远程的,通过网络进行的DoS攻击。人在德国 社区7 T9 [5 l+ k H% I
$ _9 ?/ Z( `) H 网络应用的普及使我们的工作生活越来越离不开网络。CRM、ERP、办公自动化软件极大的提高了我们工作的效率;通过网络可以找到各种工作、学习资料;我们上网交电话费,查看银行帐户;我们上网交友娱乐。DoS攻击直接的后果可能就是你不能访问这些服务了,对某个DNS服务器或者路由器、防火墙的攻击甚至导致对整个网络的拒绝服务。下面,就来看看这种攻击方式如何远程达到DoS的目的。人在德国 社区7 c3 B( j. e7 d+ `
rs238848.rs.hosteurope.de9 }) ]% ]8 ?* m: q5 S
具体DoS攻击方法很多,但大多都可以分为以下几类:( }) j; L* N0 O! m; ~
, b6 x2 a8 Q3 P, z; K+ C 利用软件实现的缺陷 4 H! S& _, [$ l6 w! D. Xrs238848.rs.hosteurope.de ) | A1 y/ D6 `! ~2 v! q% ~人在德国 社区 OOB攻击(常用工具winnuke),teardrop攻击(常用工具teardrop.c boink.c bonk.c),land攻击,IGMP碎片包攻击,jolt攻击,Cisco 2600路由器IOS version 12.0(10)远程拒绝服务攻击等等,这些攻击都是利用了被攻击软件的实现上的缺陷完成DoS攻击的。通常这些攻击工具向被攻击系统发送特定类型的一个或多个报文,这些攻击通常都是致命的,一般都是一击致死,而且很多攻击是可以伪造源地址的,所以即使通过IDS或者别的sniffer软件记录到攻击报文也不能找到谁发动的攻击,而且此类型的攻击多是特定类型的几个报文,非常短暂的少量的报文,如果伪造源IP地址的话,使追查工作几乎是不可能。9 _, c+ C! w9 D, c' c6 e0 e% r4 y9 R
rs238848.rs.hosteurope.de2 s# @+ _# m b. Q Z3 Y
那么如何造成这些攻击的?通常是软件开发过程中对某种特定类型的报文、或请求没有处理,导致软件遇到这种类型的报文运行出现异常,导致软件崩溃甚至系统崩溃。下面结合几个具体实例解释一下这种攻击的成因。rs238848.rs.hosteurope.de) S- D$ Y- B8 u( n4 b
5 e# A% [4 g8 ^8 l4 R ^( M* k% ?人在德国 社区 1997年5月7号有人发布了一个winnuke.c。首先建立一条到Win95/NT主机的TCP连接,然后发送TCP紧急数据,导致对端系统崩溃。139/TCP是Win95/NT系统最常见的侦听端口,所以winnuke.c使用了该端口。之所以称呼这种攻击为OOB攻击,因为MSG_OOB标志,实际应该是TCP紧急数据攻击。7 o7 E: I: B. R* Y, R5 q
* G5 Q3 v( |7 N' \ 原始teardrop.c只构造了两种碎片包,每次同时发送这两种UDP碎片包。如果指定发送次数,将完全重复先前所发送出去的两种碎片包。它可以伪造源ip并跨越路由器进行远程攻击,影响的系统包括Linux/WinNT/Win95。使用的方法是:8 A; |3 S% n* E" n, N
teardrop 源ip 目的ip [-s 源端口] [-d 目的端口] [-n 次数]9 [* ]: B0 \1 n- n4 G" y
8 `) y/ ?% d6 _rs238848.rs.hosteurope.de 比较新的一个DoS攻击是Windows的SMB实现中的DoS攻击,2002年8月发布,只要允许匿名连接的windows系统就可以进行远程攻击,强烈建议Windows用户打相应的补丁。它的方法就是先和目标系统建立一个连接,然后发送一个特定的请求,目标系统就会兰屏。发布的测试工具SMBdie.exe是图形界面工具,输入目标地址NETBIOS名称即可。 " q9 w$ p9 W8 k/ n, w % n6 X& A) U# t 从上面的讨论可以看出,这种攻击行为威力很大,而且难于侦察。但真实情况下它的危害仅现于漏洞发布后的不长的时间段内,相关厂商会很快发布补丁修补这种漏洞。所以上面提到的几种较老的攻击在现实的环境中,通常是无效的。不过最新的攻击方法还是让我们不寒而栗,我们可以做的就是关注安全漏洞的发布,及时打上新的补丁。如果你想偷懒的话,购买专业安全服务公司的相关服务应该是个更好的选择。 ' S) { B7 ^4 q5 K; Q) t ) m: a! w- R# D2 Z9 y m' Hrs238848.rs.hosteurope.de 利用协议的漏洞人在德国 社区- p8 e2 ]4 n+ B
0 s( s& p, b- q" o* Z4 T 如果说上面那种漏洞危害的时间不是很长,那么这种攻击的生存能力却非常强。为了能够在网络上进行互通、互联,所有的软件实现都必须遵循既有的协议,而如果这种协议存在漏洞的话,所有遵循此协议的软件都会受到影响。 6 T4 Q' l2 q5 p& A% F , _& \$ m& p! X3 B4 H9 k. \. g% I 最经典的攻击是synflood攻击,它利用TCP/IP协议的漏洞完成攻击。通常一次TCP连接的建立包括3个步骤,客户端发送SYN包给服务器端,服务器分配一定的资源给这里连接并返回SYN/ACK包,并等待连接建立的最后的ACK包,最后客户端发送ACK报文,这样两者之间的连接建立起来,并可以通过连接传送数据了。而攻击的过程就是疯狂发送SYN报文,而不返回ACK报文,服务器占用过多资源,而导致系统资源占用过多,没有能力响应别的操作,或者不能响应正常的网络请求。% D9 l7 k' I1 Q, z
! u- q9 C9 q* D$ [ Communication between clients, handlers and agents use these ports: + x8 |3 g u7 x, I- _5 }# S! Srs238848.rs.hosteurope.de* I0 }! E# v: S, o6 m" _/ Y
1524 tcp - O" Z; B5 y7 \/ |5 J$ w' m5 G6 D% b; W 27665 tcp : F- o; O: f# V 27444 udp / k4 D+ Q# \$ X5 n( p* o8 Z% w* X) o 31335 udp * |; E5 G: Q _" d3 v0 h & ~& X5 T4 E) }! S9 |( A, u Note: The ports listed above are the default ports for this tool. Use these ports for orientation and example only, because the port numbers can easily be changed. 6 g8 v4 d. X& N1 {& s9 O) {4 F: l' v4 X7 G; z
TFN7 l- b6 W* A) L
; X4 T( F) w, P0 g
Communication between clients, handlers and agents use ICMP ECHO and ICMP ECHO REPLY packets.8 V* F5 K* V6 M- W6 A( @
. F# S. W; h+ ~) s! y+ o+ h/ W Stacheldraht* g6 a6 t# k2 }
8 q% q6 P. G5 f5 u* I, Z Communication between clients, handlers and agents use these ports: % y, Z# d% K- b$ x4 y/ q% a: ~, h( D+ s" a- J0 |0 `3 q
16660 tcp; ?8 K5 P: R! _+ L! C! B; F+ i( }
65000 tcp( a5 ]9 f2 h5 @0 O
ICMP ECHO- u8 I3 u7 ] k+ G ^ Y. K
ICMP ECHO REPLY