初识DOS攻击与防御
- DOS攻击概念
所谓拒绝服务攻击,通常是利用传输协议中的某个弱点、系统或服务存在的漏洞,对目标系统发起大规模的进攻,使其无法处理合法用户的正常请求和提供正常服务,最终导致网络服务瘫痪,甚至系统死机。简言之,DOS攻击是使目标系统瘫痪,是一种典型的损人不利己的攻击。 - DOS攻击原因
内因:网络协议的安全缺陷。
外因:利益驱使的蓄意行为,即攻击者故意为之;偶然、无意事件。 - DOS攻击原理
攻击原理:利用合理的请求占用过多的服务资源(网络带宽、文件系统空间容量、开放的进程、允许的连接),使得服务超载,无法响应正常的服务请求。 - DOS攻击方法
(1)耗尽计算机资源,如带宽、内存、磁盘空间、处理器时间;
(2)破坏配置信息,如路由信息;
(3)破坏状态信息,如TCP链接中断;
(4)破坏网络硬件;
(5)破坏通信介质,阻挡正常通信。
DOS常见攻击技术
- SYN Flood(SYN洪水攻击)
基本思想:利用TCP协议缺陷,发送大量伪造的TCP连接请求,从而使得被攻击方资源耗尽(CPU满负载或内存不足)的攻击方式。
攻击过程:在三次握手过程中,假设客户端发送SYN分组后突然死机或掉线,服务器端发送SYN/ACK应答后无法收到客户端反馈的ACK分组,即第三次握手无法完成,这种情况被称为半开的TCP连接状态;此时,服务器端一般会重复发送ACK分组3-5次,并等待一段时间后丢弃这个半开连接,这段时间称为SYN Timeout,大约为30秒至2分钟。
如果一个恶意攻击者大量模拟以上情况,伪造大量源IP地址,服务器端为了维护一个非常大的半开连接列表而消耗非常多的资源,如果服务器的TCP/IP栈不够强大,最后可能会导致堆栈溢出或崩溃,即使服务器端足够强大,服务器端将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求,此时,从正常客户的角度来看,服务器失去了响应,这种情况称为服务器端受到了SYN Flood攻击。
攻击者实施这种攻击一般有两种方法:
(1)向目标端发送SYN分组,并确保发送分组的地址不会应答SYN/ACK分组,这需要监听数据包,并且在主机或路由器上进行阻断;
(2)伪装成当时不在线的IP地址,向目标机发动攻击。
防御措施:
(1)缩短SYN Timeout时间;
(2)设置SYN Cookie,即给每一个连接请求的IP地址分配一个Cookie,如果短时间内连续收到某个IP的重复的SYN报文,就可以认定受到了该攻击,以后该IP地址发来的数据包将被丢弃;
(3)设置路由器和防火墙在给定时间内只允许数量有限的半开TCP连接发生。 - ICMP Flood
Smurf Flood
攻击过程:攻击者发送源地址伪造的ICMP数据包,目的地址设为某个网络的地址,源地址设为被攻击主机(一般指web服务器),收到此ICMP数据包的主机会向源地址返回应答包,因此该应答包都指向了被攻击主机,使得被攻击主机在某一个时间段内被成千上万的数据包淹没,从而造成拒绝服务。
防御措施:配置路由器禁止IP广播包进网
Ping of Death(死亡之Ping)
攻击过程:发送一些尺寸超大(大于64K)的ICMP包。
防御措施:最有效防御方式是禁止ICMP报文通过网络安全设备。 - Land 攻击(Local Area Network Denial Attack/局域网拒绝服务攻击)
攻击过程:发送具有相同源地址和目标地址的欺骗数据包,即攻击者构造特殊的SYN包,目的地址和源地址都是受害主机,受害主机接收该SYN包后,会向自己回复SYN/ACK包,第三次握手时自己回复给自己一个ACK包,大量这样的数据包会使目标主机建立很多无向连接,占用大量系统资源,最终导致崩溃。
防御措施:
(1)防火墙拦截攻击包;
(2)操作系统修复漏洞;
(3)配置路由器,屏蔽源地址与目标地址相同的数据包。 - TearDrop 攻击(泪滴攻击)
攻击过程:是基于UDP的病态分片数据包的攻击方法,即攻击者向目标主机发送大量的、过大的错位IP碎片,某些操作系统收到重叠偏移的伪造分片数据包时,就会出现系统崩溃或重启。
现象:对于Windows系统会导致蓝屏死机,并显示STOP0x0000000A错误。
防御方法:添加系统补丁程序,丢弃收到的病态分片数据包并对这种攻击进行审计。
暂存:
认识DDOS攻击
DDOS攻击:Distributed Denial of Service分布式拒绝服务攻击,利用合理的请求造成资源过载,导致服务不可用的一种攻击方式,是一种分布式的、协同的大规模攻击方式。
特点:利用若干个网络节点(肉鸡、僵尸网络)同时向目标发起攻击。
CC攻击
原理:对一些资源消耗较大的应用页面不断发起正常请求,以达到造成消耗服务器端资源的目的。
防御方法:
(1)优化服务器性能:应用代码性能优化、网络架构优化。
(2)限制请求频率:可以通过IP地址和Cookie定位一个客户端,针对过频繁访问,采取重定向页面。
(3)验证码机制:有效阻止自动化重放攻击的有效行为之一。