拒绝服务攻击

什么是DDos
DDos攻击 即分布式拒绝服务攻击
想要了解什么是DDos攻击,那么就要了解什么叫分布式,什么叫拒绝服务攻击
分布式 即同时控制多个设备(这里只是浅显的理解)拒绝服务 即使得目标服务器被迫停止为正常的用户提供服务
这两个东西放一起,就是DDos攻击了,所以说DDos攻击其实就是分布式的(D)拒绝服务攻击(Dos攻击)
我们这里将两个技术拆分开
分布式
由于DDos是一种网络攻击手段,所以在使用分布式技术的时候一般要考虑对攻击方的隐藏,即尽可能的阻止对DDos攻击的溯源 。
一般的分布式需要一个或多个主控端,以及大量的受控端,在合法的环境下主控端是不需要对这个分布式网络外的主机隐藏的,但是在DDos攻击中,攻击方需要尽可能的隐藏自身,一般会通过多个跳板来实现对整个攻击的控制 。
这里我画一个图,大家凑合看
这里列出一些可以避免攻击方被发现的方法
注:现今的溯源其实挺难的,很多时候上面的方法使用一个或两个就会对溯源造成很大的阻碍 。
拒绝服务攻击
这就有很多了,想让一个服务器停止正常服务有非常多的办法
1. 通过协议漏洞
现今的各种网络协议是十分优美的,并且高效率的,但是依然存在一些协议上的漏洞,这里举例说几个.
SYN Flood
【拒绝服务攻击】比如SYN泛洪攻击就是一个典型的代表,这种攻击技术和TCP的握手有关系,
TCP在传输数据前前需要三次握手包来建立连接,
发送方- SYN> 接收方
发送方 发送方- ACK> 接收方
当发送方发送大量的SYN包给接收方,那么接受方就会回第二个包(SYN,ACK),此时发送发不发第三个包,那么接收方这里就存在着一个半开连接(即没有建立的连接),出现这种情况有很多,比如丢包、网络阻塞,而接收方则会在一定时间后重发这个包(TCP协议中这里会等待1s,2s…的方式重发包,重发5次 总共占用61s,当然一般的大型服务器会适当的调低重发次数和等待时间)在接收方放弃这个半开连接的这段时间内,发送发成功占用了接收方的一个连接,而服务器的连接数是有限制的 。
通过这种方式,发送方发送大量的SYN,制造大量的半开连接,直到接收方的计算机资源(网络资源、CPU资源、内存资源等)使得接收方没有能力为其他正常用户提供服务.
IP分片报文攻击
在数据链路层的IP协议中,存在MTU这个特性,在IP数据包出计算机的网卡的时候,如果包过大,则会对IP进行分片操作,大致就是将一个IP数据包拆成多个数据包,并进行发送,IP分片可能在任何一台中间的路由器上发生,但只会在接收方进行重组,由于考虑到网络的拥塞、丢包问题,接收方会将这些IP分片保留一段时间 。而接收方重组IP的分片需要消耗计算机的资源,通过这种方式达到Dos攻击的效果 。
DNS Flood
攻击方发送大量的DNS解析请求,导致DNS服务器拒绝服务,使得目标网站无法正常做DNS解析,正常的用户可以通过ip地址来访问网站,但无法通过域名来访问,这里利用了DNS服务没有设计对Dos攻击的防护的弱点 。

拒绝服务攻击

文章插图
Ping of Death
这是个挺古老的攻击方式了,顺便就拿来说说了,TCP/IP协议控制 一个包的大小不能超过65536(2^16),如果主机收到长度大于65536字节的包吗,一些老型号主机可能会宕机,不过现在用的就少很多了.
反射型DDos
这是最近几年经常出现的一种攻击方式,有多种实现的方式,
攻击方并不会直接去攻击,而是利用互联网中的某些服务器,伪造被攻击着的IP地址,去向一个/多个开放服务的服务器发起请求,使得服务器发送大量的数据给被攻击IP,从而实现间接的DDos攻击 。