已经无法回到过去了。也不知道将来会是什么模样。 收藏本站
登陆 / 注册 搜索

阅读: 6.6K   回复: 7

[# 网络基础] 拒绝服务式攻击是什么

小执念 古黑浩劫论坛大牛 2015-11-23 07:19 |显示全部楼层

可遇不可求的事:故乡的云,上古的玉,随手的诗,十九岁的你。

管理员
 拒绝服务攻击即攻击者想办法让目标机器停止提供服务或资源访问,是黑客常用的攻击手段之一。这些资源包括磁盘空间、内存、进程甚至网络带宽,从而阻止正常用户的访问。其实对网络带宽进行的消耗性攻击只是拒绝服务攻击的一小部分,只要能够对目标造成麻烦,使某些服务被暂停甚至主机死机,都属于拒绝服务攻击。
% E+ V6 g  n' P( s3 D

; S7 o7 _* y- T0 a2 W  b
拒绝服务式攻击是什么 ddos_897973322.jpg

3 D- {, |% x8 e7 V+ a6 I  拒绝服务攻击问题也一直得不到合理的解决,究其原因是因为这是由于网络协议本身的安全缺陷造成的,从而拒绝服务攻击也成为了攻击者的终极手法。攻击者进行拒绝服务攻击,实际上让服务器实现两种效果:! l0 F' j6 Z, U! F

- V2 a$ F% ~6 [

$ p* C* E) r, S9 @7 J7 E4 w
  一是迫使服务器的缓冲区满,不接收新的请求;
2 x8 m. l. a) Q; K. N! S
4 G+ M  M* L$ D" c+ N0 h, y  二是使用IP欺骗,迫使服务器把合法用户的连接复位,影响合法用户的连接。
$ Y9 V6 j& W0 q& r5 l$ u  ?
  拒绝服务攻击的原理
1 w5 g2 h# B$ X9 N
: G; }* a) U( r& a
  1.SYN Flood
8 |+ b5 h% I; a* ~, {# z
  SYN Flood是当前最流行的DoS(拒绝服务攻击)与DDoS(Distributed Denial Of Service分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,使被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式。 $ _- [4 k' J# F) R$ X% P6 U

2 y$ h; b* B/ k. _- y  SYN Flood攻击的过程在TCP协议中被称为三次握手(Three-way Handshake),而SYN Flood拒绝服务攻击就是通过三次握手而实现的。
  D: Y3 d" I1 |: H$ P6 h. C9 y' X
  (1) 攻击者向被攻击服务器发送一个包含SYN标志的TCP报文,SYN(Synchronize)即同步报文。同步报文会指明客户端使用的端口以及TCP连接的初始序号。这时同被攻击服务器建立了第一次握手。
7 t4 h* G! i7 k  (2) 受害服务器在收到攻击者的SYN报文后,将返回一个SYN+ACK的报文,表示攻击者的请求被接受,同时TCP序号被加一,ACK(Acknowledgment)即确认,这样就同被攻击服务器建立了第二次握手。+ x4 D  n/ k, {: @' H* F" U
  (3) 攻击者也返回一个确认报文ACK给受害服务器,同样TCP序列号被加一,到此一个TCP连接完成,三次握手完成。
$ ?! n+ L# B# Z$ B$ D! q# y
+ ?) L; \' \* S& I5 z
  具体原理是:TCP连接的三次握手中,假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接。

, R$ D& K/ G: \5 V* k# n+ }+ t; X) N0 R$ @9 I$ o# H
' f3 p' j4 U7 Z" ?* L
  这段时间的长度我们称为SYN Timeout,一般来说这个时间是分钟的数量级(大约为30秒~2分钟);一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况(伪造IP地址),服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源。即使是简单的保存并遍历也会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行SYN+ACK的重试。实际上如果服务器的TCP/IP栈不够强大,最后的结果往往是堆栈溢出崩溃—— 即使服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比率非常之小),此时从正常客户的角度看来,服务器失去响应,这种情况就称作:服务器端受到了SYN Flood攻击(SYN洪水攻击)。
9 Q; y6 f5 x0 G, J# `  ]
4 ^+ J0 M, r) x& E& Y   SYN COOKIE 防火墙是SYN cookie的一个扩展,SYN cookie是建立在TCP堆栈上的,他为linux操作系统提供保护。SYN cookie防火墙是linux的 一大特色,你可以使用一个防火墙来保护你的网络以避免遭受SYN洪水攻击。
$ F+ V/ b5 O! d4 f  C; U% f, V# P, `$ A
7 M' g$ z  l! U/ e. w) D" N  下面是SYN cookie防火墙的原理
0 a# E) E1 x2 @' _. ?, W( [) Y4 H; F+ e( ]3 Y! w
client firewall server 7 ]8 j! \3 B3 I+ v2 V
------ ---------- ------ 1 V( \3 G  b9 }
1. SYN----------- - - - - - - - - - -> 0 Y# _$ F0 U4 r% m& X
2. <------------SYN-ACK(cookie)3 a; Q2 |; B- C; |  U" E( Y* I7 f# A
3. ACK----------- - - - - - - - - - ->
6 @% G# p( ]' N3 O( Y4. - - - - - - -SYN--------------->
2 \9 x1 z9 g8 w! f5. <- - - - - - - - - ------------SYN-ACK ) w1 @4 K- T% U( K, h' l
6. - - - - - - -ACK--------------->
/ C  h6 u! ?" ]7. -----------> relay the ------->
% A+ U4 R  W  z4 |- ]<----------- connection <-------
+ K4 F2 S# m" {3 I( J/ ^
+ w( Y0 F4 _+ _, t& b) t1 q
1:一个SYN包从C发送到S
+ E- t: j/ [" h4 l0 c. v2:防火墙在这里扮演了S的角色来回应一个带SYN cookie的SYN-ACK包给C % M; w  t* ]/ b- I) Z' C" X+ H  ~
3:C发送ACK包,接着防火墙和C的连接就建立了。
# t! L) l; P, `- |4 }( g4:防火墙这个时候扮演C的角色发送一个SYN给S
' M# y5 k. M% c6 _  h7 A5:S返回一个SYN给C
* y& v# Y2 V- c/ H7 W6:防火墙扮演C发送一个ACK确认包给S,这个时候防火墙和S的连接也就建立了
, |* N& h6 M1 o, i, g3 t. W7:防火墙转发C和S间的数据

3 p. z. X; v1 O  如果系统遭受SYN Flood,那么第三步就不会有,而且无论在防火墙还是S都不会收到相应在第一步的SYN包,所以我们就击退了这次SYN洪水攻击。
6 D& R1 {. ]/ J: |0 D/ M
" t+ q; o, w3 R9 v; c, ]% j  2.IP欺骗DOS攻击
# e: f- |! w* a% T8 ~

2 S! |' H3 t) u2 k" _: k+ u  这种攻击利用RST位来实现。假设现在有一个合法用户(61.61.61.61)已经同服务器建立了正常的连接,攻击者构造攻击的TCP数据,伪装自己的IP为61.61.61.61,并向服务器发送一个带有RST位的TCP数据段。服务器接收到这样的数据后,认为从61.61.61.61发送的连接有错误,就会清空缓冲区中建立好的连接。
% E& u6 A& h! X2 w& T( C
, K  n2 _9 v8 N! B. r5 i/ p

6 C6 ^5 U1 e" O: y+ ^- Y      这时,如果合法用户61.61.61.61再发送合法数据,服务器就已经没有这样的连接了,该用户就必须从新开始建立连接。攻击时,攻击者会伪造大量的IP地址,向目标发送RST数据,使服务器不对合法用户服务,从而实现了对受害服务器的拒绝服务攻击。 9 L- c& [9 |; I) t# ]
& q% G& X$ @: [% Y6 A, }  D* S
  3. UDP洪水攻击

: t$ ~% Q7 n, j4 u/ W) _  `) o7 `2 t7 L- H7 ]# m, T
  攻击者利用简单的TCP/IP服务,如Chargen和Echo来传送毫无用处的占满带宽的数据。通过伪造与某一主机的Chargen服务之间的一次的UDP连接,回复地址指向开着Echo服务的一台主机,这样就生成在两台主机之间存在很多的无用数据流,这些无用数据流就会导致带宽的服务攻击。 3 J2 Y, X4 C# |- [3 ?
9 T! d' e0 v- w9 P
  4. Ping洪流攻击

7 @/ ]; T/ n/ n, T
: ?1 F; V5 Z( c) l  由于在早期的阶段,路由器对包的最大尺寸都有限制。许多操作系统对TCP/IP栈的实现在ICMP包上都是规定64KB,并且在对包的标题头进行读取之后,要根据该标题头里包含的信息来为有效载荷生成缓冲区。当产生畸形的,声称自己的尺寸超过ICMP上限的包也就是加载的尺寸超过64K上限时,就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使接受方死机。
+ i1 T7 J6 r4 a4 t' V9 l
- `( f9 d0 {& `- c1 W* ^  5. 泪滴(teardrop)攻击
$ N) Q% q) j/ F: E. u
9 b0 U: l" j* Z6 ?: i: ^
  泪滴攻击是利用在TCP/IP堆栈中实现信任IP碎片中的包的标题头所包含的信息来实现自己的攻击。IP分段含有指明该分段所包含的是原包的哪一段的信息,某些TCP/IP(包括service pack 4以前的NT)在收到含有重叠偏移的伪造分段时将崩溃。 . i/ @4 R# t: @( q
   x! w4 k' P; t# I$ W; }
  6. Land攻击
' A3 i  H2 ?* Q2 d
! `, @! C- G6 Y1 U
  Land攻击原理是:用一个特别打造的SYN包,它的原地址和目标地址都被设置成某一个服务器地址。此举将导致接受服务器向它自己的地址发送SYN-ACK消息,结果这个地址又发回ACK消息并创建一个空连接。被攻击的服务器每接收一个这样的连接都将保留,直到超时,对Land攻击反应不同,许多UNIX实现将崩溃,NT变的极其缓慢(大约持续5分钟)。
( ?7 i5 d2 c& ^6 g$ \- c5 w5 O  y3 n 
. _1 e* k' s4 P6 N+ I# N# w  7. Smurf攻击

2 `2 o  ~- b+ `5 `7 C' e
: I: K, L, p) K6 O' D# a$ \4 ?3 z  一个简单的Smurf攻击原理就是:通过使用将回复地址设置成受害网络的广播地址的ICMP应答请求(ping)数据包来淹没受害主机的方式进行。最终导致该网络的所有主机都对此ICMP应答请求作出答复,导致网络阻塞。它比ping of death洪水的流量高出1或2个数量级。更加复杂的Smurf将源地址改为第三方的受害者,最终导致第三方崩溃。) }$ L. [! X/ c+ G
3 a# h* C) O$ Y  T
  8.Fraggle攻击
6 r8 {/ P# Q, u3 |9 a& b+ n( k
1 {; K) Y9 L2 ^# A) G
  原理:Fraggle攻击实际上就是对Smurf攻击作了简单的修改,使用的是UDP应答消息而非ICMP。
' P: R6 b( c5 I' v7 \) [


弓长张 「出类拔萃」 2016-8-31 12:09 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

有些是专业术语我都看不懂,只能等翻译,才似懂非懂
雾月 「出类拔萃」 2017-9-12 18:18 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

不错 支持一个了
著墨染雨君画夕 「出类拔萃」 2018-5-8 07:14 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

小朋友,我看你骨骼清奇,并非凡人,将来必成大业!不如这样,你看一下我头像下方,下面有个收听,你点一下它,然后我们一起拯救世界如何?#378:
清川带长薄 「出类拔萃」 2018-5-12 12:09 来自手机 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

对于这种刚发的帖子,
$ d' G' J; m7 X1 Y2 f: x) A我总是毫不犹豫的回了。
2 G  K3 I7 `7 i5 X$ o& E8 ~如果火了就是个前排,
( ]5 U: Q! o9 \' ~( ~可以混个脸熟,
% U% I1 Y& t# G* R6 _说不定谁好心就给粉了…稳赚不赔;
/ D; N. ~9 Y8 A( q- h6 N) }5 j如果沉了就感觉是我弄沉的,
6 p( g0 ~3 a/ [  w8 y很有成就感,
) P) [2 g! |9 e* C  m" Z还能捞经验。#y431:4 i5 O1 }; }) w: @
您需要登录后才可以回帖 登录 | 免费注册  

本版积分规则

关于本站|大事记|小黑屋|古黑论 网站统计

GMT+8, 2020-12-2 08:43 , Processed in 0.044039 second(s), 21 queries , Redis On.

© 2015-2020 GuHei.Net

Powered by Discuz! X3.4

快速回复 返回列表