DOS(拒绝服务攻击)及DDOS(分布式拒绝服务攻击)原理及检测和防护技术讲解

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/shuryuu/article/details/102637914

DOS原理及防护:

常见的DOS攻击分为三类:

带宽攻击、协议攻击和逻辑攻击。

带宽攻击:是最常见的攻击,攻击者使用大量的垃圾数据流填充目标的网络链路。攻击流量可以基于TCP、UDP\ICMP协议的报文。包括UDP洪水攻击(flooding)、Smurf攻击和Fraggle攻击等

UDP洪水指向目标的指定UDP端口发送大量无用UDP报文以占满目标带宽,目标接收到UDP报文时,会确定目的端口对应的进程,如果该端口未打开,系统会生成”ICMP端口不可达“报文发送给源地址。当攻击者短时间向目标端口发送海量报文时,目标系统就很可能瘫痪。

Smurf攻击指攻击者伪造并发送大量源ip地址为受害主机ip地址,目标地址为广播地址的ICMP Echo请求报文,当网络中的每台主机接收该报文时,都会向受害主机的IP地址发送ICMP Echo应答报文,使得受害主机短时间内收到大量ICMP报文,从而导致其带宽被消耗殆尽。

Fraggle攻击时Smurf的编写,它使用UDP应答而不是ICMP报文,基于UDP的Chargen或Echo协议实现,他们分别使用DUP端口19和7,当攻击者向网络中的所有主机发送目标端口是19或7的UDP请求报文时,开始Chargen和Echo服务的主机会发送应答报文给源地址,从而可能造成源地址主机的带宽被耗尽。

协议攻击:利用网络协议的设计和实现漏洞进行的攻击,典型实例包括SYN洪水攻击、泪滴攻击(Tear Drop)、死亡之Ping(Ping of Death)和land攻击等。

SYN洪水攻击:发送大量伪造的TCP连接请求,使得目标主机用于处理三路握手连接的内存资源耗尽,从而停止TCP服务。攻击原理是发送大量伪造源地址的TCP同步连接请求报文,目标主机在发送同步连接应答报文后,由于源地址是伪造的,目标主机无法收到三路握手的最后确认报文,使得TCP连接无法正确简历。目标主机通常会等待75s左右才会丢弃这个未完成的连接,攻击者不停的发送伪造连接请求时,目标主机的内存会被这些未完成的连接填满,从而无法响应合法用户的正常连接请求,导致服务停止。

泪滴攻击(Tear Drop):利用IP协议有关切片的实现漏洞,向目标主机发送分成若干不同分片的IP报文,但是不同分片之间有重叠,如果目标系统无法正确识别此类畸形分片,在重组这些分片时容易发生错误导致系统崩溃,从而停止服务。

死亡之Ping(Ping of Death):指早期操作系统在实现TCP/IP协议栈时,对报文大小超过64k字节的异常情况没有处理。超过64k的报文,额外的数据就会被写入其他内存区域,从而产生一种典型的缓冲区溢出攻击。例如:ping -l 65560 -t ,所以称为死亡之Ping。(本机测试,目前已不可用

逻辑攻击:利用目标系统或者服务程序的实现漏洞发起攻击,如早期的”红色代码“和Nimda蠕虫,就是利用Windows 2003 的RPC服务实现漏洞发起的大规模拒绝服务攻击,主要消耗目标的CPU和内存资源。

DOS攻击具有如下特点:

1,较难确认。2十分隐蔽。3,资源限制。

检测是否发生DOS攻击:

1,检测到短时间内出现大量报文

2,cpu利用率突然增加

3,主机长时间无响应

4,主机随机崩溃

DOS防御目前只有有效的检测手段,没有特别有效的防范措施和解决方案,通常需要结合多种网络安全专用设备和工具组成防御体系,其中包括防火墙,基于主机的入侵检测系统,基于特征的网络入侵检测系统和网络异常行为检测器等。

DDOS原理及防御

DDOS原理:单一的DOS攻击时一对一的方式,当攻击目标的配置不高时,攻击效果比较显著,但是当目标是大型服务器时,如商用服务器等,那么使用一台电脑攻击则达不到预定效果,此时使用DDOS攻击,操作堕胎主机向目标主机发起攻击,当同时参与攻击的服务器有足够数量和性能时,受到攻击的主机资源就会很快耗尽,无法提供服务。DDOS是实施最快、攻击能力最强并且破坏性最大的攻击方式。

在DDOS中通常会包括以下三种角色:

攻击者:使用一台主机作为主控制平台,操作整个攻击过程,并向主控端发布攻击命令。

主控端:攻击者预先控制的主机,这些主机用于控制其他的代理主机,主控端负责接受来自攻击者的攻击指令,并分发到它控制的代理主机。根据代理端的规模可能存在多台主控端。

代理端:也是攻击者预先控制的主机,负责运行攻击程序,接受主控端转发的指令,也是攻击的执行者。这些主机被称为”僵尸网络“或者”肉鸡“。

DDOS防御:当前对于DDOS的防御主要从两方面展开,首先就是从基础设施方面的升级,来缓解攻击,如提高带宽、增强CPU性能等,二是网络边界采用专用的DDOS检测和防御技术。检测和防御技术较为有效的方法主要有:

一,动态挑战算法

防御工具对传输层和应用层协议栈行为进行模拟,作为目标主机和攻击主机之间的代理,对客户端发送挑战报文,只有完成挑战认证的报文才运行访问真正的目标主机。常用的动态挑战算法有SYN Cookie技术和DNS Cookie技术。

二,多层次限速

从不同粒度和不同协议层次,对IP报文的吞吐量进行限制,如基于源IP或者目标IP、就有传输层和应用层协议,这是对带宽型攻击常用的防护方法,用于抵御SYN洪水、UDP Flood和ICMP Flood。

三,访问控制

实现网络层、传输层和应用层等各个层次的不同访问控制策略。如对于HTTP协议,可以对报文的URL、user-agent和Cookie等参数设置不同策略决定对具体报文时丢弃、限速还是允许;对u有DNS协议,可以对DNS查询的名字、类型、RR记录设置相关策略。

四,行为分析和信誉机制

基于数据分析技术对IP报文的行为和特征建模分析,简历通用特征库,包括IP、URL和上传下载的文件信息,提取可以报文的特征指纹,从而在网络边界自动检测并丢弃可以的DDOS攻击报文,此类技术对于僵尸网络的防御较为有效。

DOS工具介绍:ddos、http协议、TCP协议攻击工具及使用方法(Hyenae、SlowHTTPTest、Torshammer、Pyloris、Zarp)

猜你喜欢

转载自blog.csdn.net/shuryuu/article/details/102637914
今日推荐