什么是DDos
DDos攻击 即分布式拒绝服务攻击
想要了解什么是DDos攻击,那么就要了解什么叫分布式,什么叫拒绝服务攻击
- 分布式 即同时控制多个设备(这里只是浅显的理解)
- 拒绝服务 即使得目标服务器被迫停止为正常的用户提供服务
这两个东西放一起,就是DDos攻击了,DDos攻击其实就是分布式的(D)拒绝服务攻击(Dos攻击)
Dos攻击又叫耗尽资源攻击
分布式
由于DDos是一种网络攻击手段,所以在使用分布式技术的时候一般要考虑对攻击方的隐藏,即尽可能的阻止对DDos攻击的溯源。并且占用服务器资源也需要大量资源
所以一般的分布式需要一个或多个主控端,以及大量的受控端,在合法的环境下主控端是不需要对这个分布式网络外的主机隐藏的,但是在DDos攻击中,攻击方需要尽可能的隐藏自身,一般会通过多个跳板来实现对整个攻击的控制
这里列出一些可以避免攻击方被发现的方法
- 单向控制,只允许控制节点去联系受控节点,而受控节点不存储控制节点的信息,通过验证密码等手段来确认控制节点的身份。攻击方和控制节点的关系也可以这样设定。
- 控制节点不参与攻击,降低控制节点被发现的几率。
- 受控节点之间随机通信,增加迷雾弹,增大溯源难度。
- 延时攻击,攻击方预定攻击时间、攻击节奏、攻击方式等信息后控制节点不会即时通知受控节点,而是存在一定延时,避免被追踪流量。
- 伪装受控节点,控制节点与受控节点的通信方式与攻击方和控制节点的通信方式相通,一定程度的伪装攻击方(这里其实和挂马的思路很像,受控端主动去发起连接请求)。 攻击方不使用固定ip或使用代理的方式来隐藏自身。
拒绝服务攻击
常用的攻击的方式有以下几种
TCP SYN (最常见)
当发送方发送大量的SYN包给接收方,那么接受方就会回第二个包(SYN,ACK),此时发送发不发第三个包,那么接收方这里就存在着一个半开连接(即没有建立的连接),出现这种情况有很多,比如丢包、网络阻塞,而接收方则会在一定时间后重发这个包(TCP协议中这里会等待1s,2s…的方式重发包,重发5次 总共占用61s,当然一般的大型服务器会适当的调低重发次数和等待时间)在接收方放弃这个半开连接的这段时间内,发送发成功占用了接收方的一个连接,而服务器的连接数是有限制的。
通过这种方式,发送方发送大量的SYN,制造大量的半开连接,占用计算机资源
这种方式也是最容易被防火墙拦截的一种
CC攻击
CC攻击的原理即通过代理服务器或大量的肉鸡来模拟大量用户来访问目标网站的页面,这里一般会选取消耗服务器资源比较大的请求,比如调用数据库、服务器需要一定量的运算的请求。比如 有个网站叫Codeforces,是个俄罗斯的算法竞赛平台,攻击方就可以通过大量的提交程序来给评测机评测来占用大量的计算机资源。
CC攻击比较难以防御
UDP flood与ICMP flood都属于流量攻击直接占用网卡流量