DDoS详解

一.基本介绍
DDoS(Distributed Denial of Service):分布式拒绝服务攻击

定义:通过占用网络服务的资源让服务器应接不暇,从而拒绝正常的业务流量的一种网络攻击方式。

作为一种历史悠久的网络攻击手段,DDoS攻击的手法暴力且直接,同时破坏力惊人,也缺乏根治的方法。

在了解DDoS攻击手段之前,首先要了解一点互联网的工作方式。(此内容针对小白,有基础人士请移步后面)

二.网络访问介绍
建议去阅读书籍:《TCP/IP协议详解 卷一:协议》。

一次网络访问的过程简化来看:

 客户端向服务器发送请求——服务器按照客户端的请求或查询或计算出相应的数据——服务器将数据返还给客户端。

就像邮政系统,不过现代互联网中数据的交互依靠的是以TCP/IP协议为核心的通信系统,TCP/IP的参考模型是一个四层结构。

TCP/IP的四层结构以及各层主要使用的协议:

 简单说一下:

应用层:包含了规定数据内容格式的规则协议。

传输层:规定了数据的传输方式。

网络层:规定了通信双方地址的编码规则,这一层采用的是IP协议。

数据链路层:信息传递的物理载体,如以太网,卫星等等。

三.DDoS攻击
从数据离开到最终到达这一路几乎每一个步骤都有被DDoS攻击的可能。

比如向一台服务器发送大量的IP协议数据包,霸占服务器的网络带宽资源。

使用大家都耳熟能详的ping命令就可以发动一次小型的攻击:

ping命令产生的是ICMP协议包,ICMP是IP协议中用来进行差错控制的一个补充,本质上还是一个IP包,这种攻击方式也称之为ICMP洪水(ICMP Flood)。这种攻击手段类似于我们不断地给某人投递信件,内容不重要,就是让邮政人员在你家门口排队,堵死你。

同理,也可以发送传输层的UDP协议包,发起一次UDP洪水攻击(UDP Flood),而这样会暴漏自己的IP,于是更高级的攻击手法诞生了。

为了不让别人发现自己,所以只能让别人来顶锅了。于是各种各样伪造IP来隐藏自己的方法产生了(不得不说,做坏事不让别人发现,是黑客进步动力的最大源泉!!!)。

最简单的:

张三给李四写信,把发件地址写成王五,就算是一封祖安问候信,李四也只会老王产生solo的心思。

实际是张三写的:

或者发件地址写一个不存在的地方,憋死李四。

既然可以伪造IP,那为什么不玩点更好玩的呢!

1.反射攻击
既然可以伪造IP,那就不必拘泥于伪造发件人的身份,也可以伪造收件人的身份,达到“借刀杀人”的效果。

我们把信封上的发件地址改为攻击目标的IP地址,然后把收件地址设置为互联网上大量的第三方机器,从而把数据发送到这些第三方机器上。这些机器在接收到数据之后,回复数据就会涌入发件地址指向的攻击目标,这些第三方机器也被称之为反射器。

有点像把别人的电话挂在一些**网站,然后机主被不明真相的推销员呼死。

如图示意: 

更多更详细的内容:反射攻击 – 绿盟科技技术博客

2.放大攻击
人们在反射攻击的基础之上又发明了一种把攻击流量放大以达到更强攻击效果的手段——放大攻击。

比如,DNS服务器是一种用来把域名解析为IP地址的设备,DNS查询通常使用UDP这个不要验证来源的传输协议,同时一次DNS查询请求返回的数据往往大于请求数据,因此,DNS服务器就是一个很好的“放大器”。

这里要介绍一个概念:带宽放大因子(BAF)

在DNS查询中,一般60字节的请求数据可以获得3000字节的返回数据,那么BAF=3000/60=50,产生50倍的放大效果。

如果我们让攻击者不断地对DNS服务器发起查询请求,并把源地址伪造为攻击目标的IP,那么这样的反射攻击(这里没写错,看官可以自己好好理清楚一下)就会产生50倍的流量放大效果,可谓:四两拨二十斤。

因为TCP协议中有连接的概念,所以还可以攻击服务器的连接资源。

服务器和客户端每次建立一个TCP连接时,需要经历三次握手,然后把连接信息放入连接表中维护,而连接表的大小是有限的。我们可以让发起攻击的设备直接发起大量的TCP连接,占满服务器的连接表,从而无法响应后续的连接请求,以此达到DDoS攻击的效果。

这种方式被称为TCP洪水,但是因为有三次握手的存在,所以TCP洪水无法通过伪造IP来隐藏自己,但是可以在建立三次握手本身上做文章:

比如:只发送SYN不进行后续的回答的SYN洪水攻击,因为不回答攻击目标的SYN+ACK数据,考虑到可能是网络环境问题,TCP协议中有重传机制,攻击目标会多次尝试发送SYN+ACK直到超时。但问题是,这时候受害者会不断向攻击者发送SYN+ACK,例如:重试十次,那这就相当于我们攻击目标一次,对方就回击十次。

所以SYN洪水攻击一般都会伪造IP,或是一个不存在的IP,或是某个倒霉的真实IP。

在TCP协议中也可以通过反射发起攻击,向各个反射器发送给SYN,并把发件地址伪造成攻击目标的IP,这样大量的SYN+ACK数据就会从各个反射器上涌入攻击目标。因为无法在攻击目标上建立连接,还是属于攻击带宽的一种。

基于TCP的反射攻击: 

针对TCP协议,还有一种攻击:RST洪水攻击。

在TCP协议中,一般用四次挥手结束连接,但为了防止异常,一方可以发送一个RST包强制切断连接。这样我们让攻击设备不断的尝试伪造各种IP,并发送RST数据进行“盲打”,一旦IP和其他的一些配置和某个正常用户匹配上,就能切断正常用户和服务器的连接,这种攻击更针对用户。

比如在一场游戏里,一旦知道了对手的IP,就可以这样来切断对手和服务器的连接,让对手心态爆炸,从而获得胜利。
————————————————
版权声明:本文为CSDN博主「青空式微」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Just_like_this/article/details/121142410

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值