DDoS攻击的防范技术

Anti-DDoS防御体系介绍

七层防御体系

第一步,畸形报文过滤:可以针对协议栈漏洞的畸形报文、特殊控制报文等进行过滤

第二步,特征过滤:全局静态过滤。首先基于报文内容特征的静态匹配过滤,主要针对没有连接状态的攻击进行防范,如UDP Flood、DNS Flood、ICMP Flood;然后基于黑名单静态过滤;最后提供对僵尸,木马,蠕虫病毒及协议漏洞的过滤。

第三步,基于传输协议层的源认证:用于防范虚假源发起的SYN Flood、ACK Flood、SYN-ACK Flood、TCP Fragment Flood。

第四步,基于应用层的源认证:用于防范虚假源或僵尸工具的DNS query Flood、DNS reply Flood、HTTP Flood、HTTPS Flood、SIP Flood。

第五步,基于会话检查的防范技术:基于会话检查可防范FIN/RST Flood、TCP连接耗尽攻击、TCP异常会话攻击。

第六步,行为分析技术:僵尸网络发起的攻击流量和用户访问业务流量行为上存在很大差异,僵尸网络攻击因属于僵尸工具攻击,流量最大特征是访问频率恒定,访问资源固定;而用户访问业务流量具有突发性,访问资源比较分散。可基于行为分析防范CC攻击、TCP慢速攻击、真实源发起的TCP Flood。

第七步:智能限速,流量整形:经过上述层层过滤后,如果流量还很大,超过服务器的实际带宽,则采用流量整形使到达服务器的流量处于服务器的安全带宽范围内。

七层防御技术是通过在Anti-DDoS设备上配置防御策略来实现的。可从基于接口防御、基于全局、和基于防护对象的防御维度来工作

Anti-DDoS系统的组成:

检测中心

       对镜像或者分光过来的流量进行DDoS攻击流量的检测和分析,将分析数据提供给管理中心进行判断。

管理中心

       由服务器系统组成,也称之为ATIC管理系统。主要完成对攻击事件的处理、控制清洗中心的引流策略和清洗策略,并对各种攻击流量分类查看,产生报表。

清洗中心

       由执行清洗任务的硬件系统组成,主要是根据安全管理中心的控制策略进行攻击流量牵引并清洗,把清洗后的正常流量注回到客户网络,发送到真正的目的地


DDoS通用攻击防范技术

1、首包丢弃

有些攻击采用不断变换源IP地址或者源端口号的方式发送攻击报文,通过首包丢弃,可以有效拦截这部分流量,首包丢弃与源认证结合使用,防止虚假源攻击。

正常情况下,TCP、DNS、ICMP报文都具有重传功能;UDP协议虽然不具备重传机制,如果有应用层协议来协助实现重传。如果在交互过程中报文被丢弃,则都会重传。首包丢弃利用了报文的重传机制,将收到的第一个报文丢弃,以判断后续是否有重传报文。

Anti-DDoS设备根据三元组(源IP、源端口、协议)以及时间间隔来判断是否属于重传报文。

2、阻断和断流

通过服务器学习或管理员经验判断,发现网络中根本没有某种服务或某种服务流量很小,则可以分别采用阻断和限流方法来防御攻击

       阻断:在自定义服务策略中,阻断表示将匹配自定义的报文全部丢弃。

       限流:在自定义服务策略中,限流表示将匹配的自定义服务报文限制在阈值内,丢弃超过阈值的部分报文。

3、过滤器

通过配置过滤器,对匹配特征的报文执行相应的操作。

4、黑名单和白名单

Anti-DDoS防御系统支持将一些不可信任的源IP地址加入黑名单,对此源发出的报文禁止通过,将信任的源IP地址加入到白名单,对此源发出的报文允许通过。

总结:

       静态名单:需要管理员手动添加各种匹配项到静态名单中,后续收到匹配到的报文执行默认操作,匹配不到的直接丢弃。静态名单配置后,一致生效,除非管理员手动删除。

       动态名单:无需管理员手动配置,自动生成。匹配到合适项直接加入到相应的名单中,后续执行匹配到的操作。动态黑名单生效模式:自动生效、手动生效和关闭三种;为避免正常用户误加入黑名单中,缺省情况下,默认关闭。动态白名单有老化时间,老化时间内运行通过,时间结束后白名单不在生效,系统需要重新对报文检测。


流量型攻击防范技术:

一、TCP类报文攻击防御:

1.SYN Flood攻击

攻击者伪造一个源地址的SYN包,发送给受害主机,伪造报文一般为源IP地址不存在或不可达,大量的半连接消耗服务器资源,使服务器无法处理正常连接请求。

SYN Flood攻击是虚假源攻击的典型代表,此类攻击的最显著特点就是发送海量变源或 变源端口的报文到受害主机,耗尽受害主机资源或网络资源。Anti-DDoS设备通过对报文源的真实性检查来防御SYN Flood攻击。

SYN Flood的攻击防御——源认证(虚假源)

Anti-DDoS设备基于目的地址对SYN报文速率进行统计,当SYN报文速率超过阈值时,启动源认证防御。此方法针对虚假源的攻击者进行防御。

       对于极高速率的变源变端口SYN报文攻击,同时开启首包检测功能,可以提高Anti-DDoS设备的处理效率。

       当Anti-DDoS收到SYN报文时,发送SYN-ACK探测报文到SYN报文中的源IP地址。Anti-DDoS设备通过校验探测报文的的响应报文的真实性来确定IP地址的真实性,防止虚假源攻击。

SYN Flood的攻击防御——源认证(真实源)

源IP加入白名单之后将继续对真实源进行统计分析,对异常的源IP进行限速,以防止真实源发起攻击。

       配置真实源IP限速前需要开启SYN Flood源认证功能,anti-DDoS设备对SYN报文进行统计,当SYN报文速率达到告警阈值时,启动真实源限速。

2、SYN-ACK Flood攻击与防御原理

攻击原理:SYN-ACK Flood攻击源会假冒服务器发送大量SYN-ACK报文,到攻击攻击目标网络,如果网络出口有依靠会话转发的网络设备,比如防火墙、IPS等设备,大量的SYN-ACK报文会导致这类网络设备处理性能降低,甚至会话耗尽。

防御原理:anti-DDoS设备基于目的地址对SYN-ACK报文速率进行统计,当SYN-ACK报文速率超过阈值时,启动源认证防御。

Anti-DDoS设备接收到SYN-ACK报文,发送SYN探测报文到SYN-ACK报文中的源IP地址。Anti-DDoS设备通过源IP地址对探测报文的响应报文校验源是否真实存在,以防止虚假源攻击。如果没有响应报文,则表示之前的SYN-ACK报文为攻击报文;如果有响应报文,anti-DDoS设备会验证响应报文是否为探测报文的响应报文,如果是,则Anti-DDoS设备会将该IP地址加入白名单。

3、ACK Flood攻击与防御

攻击者利用僵尸网络发送大量ACK报文,通常会造成以下危害:

       如果是带有超大载荷的ACK Flood攻击,会导致链路拥堵。

       如果是极高速率的变源变端口ACK Flood攻击,很容易导致依靠会话转发的设备性能降低,甚至会话耗尽造成网络瘫痪。

       如果攻击报文到达服务器,则导致服务器处理性能耗尽,从而拒绝正常服务。

防御原理:会话检查和载荷检查结合来防御ACK Flood攻击。

会话检查:

       通常当ACK报文速率超过阈值时,anti-DDoS设备启动对ACK报文的会话检查。检查成功的源加入白名单。

会话检查有两种模式:

严格模式:直路部署组网中建议采用“严格模式”。如果ACK报文没有命中会话表,则Anti-DDoS设备直接丢弃ACK报文。如果ACK命中会话表,则允许报文通过。

基本模式:旁路部署动态引流时,由于报文来回路径不一致,对于引流前已经建立的会话,Anti-DDoS设备上查不到会话,此时建议使用“基本模式”。如果ACK报文没有命中会话表,DDoS设备会允许第一个ACK报文通过,并建立会话,然后对后续ACK报文进行会话检查,以确定是否允许后续同源IP发送的ACK报文通过。如果ACK报文命中会话表,则继续检查报文序列号,序列号正确的报文视为合法。

载荷检查:

载荷检查是Anti-DDoS设备对会话检查通过后的报文进行进一步的验证,如果ACK报文载荷内容完全一致,则丢弃,正常报文载荷内容不会完全一致。

只有启用了“会话检查”,才能启用“载荷检查”。

4、FIN/RST Flood攻击与防御

攻击原理:攻击者利用僵尸网络发送大量的变源变端口FIN/RST报文攻击,这些攻击到达依靠会话转发的设备上,很容易造成设备瘫痪

防御原理:

当FIN/RST报文超过阈值时,启动会话检查。

如果Anti-DDoS设备检查到FIN/RST报文没有命中会话,直接丢弃报文。如果Anti-DDoS设备检查到FIN/RST报文命中会话,则根据创建原因和会话检查结果来判断该报文是否通过。如果会话由SYN或SYN-ACK创建,则允许该FIN/RST报文通过;如果由其他报文(如ACK报文),则进一步检查报文序列号是否正确。序列号的报文允许通过,不正确的报文则被丢弃。


二、UDP类报文攻击防御

1、UDP Flood攻击

攻击原理:攻击者通过僵尸网络向目标发起大量的UDP报文,这种UDP报文通常为大包,且速率非常快。消耗网络带宽,造成链路拥塞;攻击报文到达服务器开放的UDP业务端口,服务器检查报文的正确性需要消耗计算资源,影响正常业务

UDP的攻击中报文的源IP和源端口变化频繁,但报文负载一般保持不变或有规律变化。有效防御这类攻击的方法是关联防御和指纹学习

UDP Flood关联TCP服务防范:

当UDP流量与TCP类服务有关联时,通过防御TCP类服务来防御UDP Flood。

UDP是无连接的协议,无法通过源认证的方法防御UDP Flood攻击。如果UDP业务流量需要通过TCP业务流量认证或控制,当UDP业务受到攻击时,对关联的TCP业务强制启动防御,用次TCP防御产生的白名单决定同意原的UDP报文是丢弃还是转发。

载荷检查和指纹学习:防御具有规律的UDP Flood攻击

当攻击报文负载有显著特征时,可采用动态指纹学习或特征过滤防御

载荷检查:当流量超过阈值时,会触发载荷检查。如果UDP报文数据段内容完全一样,则会被认为是攻击而丢弃。

指纹学习:UDP流量超过阈值时,触发指纹学习。指纹由Anti-DDoS设备动态学习生成,将攻击报文的显著特征学习为指纹后,匹配指纹的报文被丢弃。

2、UDP分片攻击

攻击者向攻击目标发送大量的UDP分片报文,通常造成以下危害:

一般攻击效果是消耗网络带宽资源,严重时造成链路拥塞。

大量UDP分片报文会导致具有会话重组功能的网络设备性能降低。

大量变源变端口的UDP分片报文会导致具有会话重组功能的网络设备性能降低,甚至会话耗尽,从而导致网络瘫痪。

攻击报文到达服务器开放的UDP业务端口,服务器检查报文的正确性需要消耗计算资源,造成服务器响应缓慢,无法正常工作。

UDP分片攻击防御原理

UDP分片分为首分片和后续分片,Anti-DDoS设备只对首分片执行防御动作,如果首分片异常,后续分片因找不到首分片的会话会直接被转发流程丢弃。UDP首分片防御方法和UDP Flood防御方法一致

载荷学习和指纹学习两种方法防御。


三、DNS类报文攻击防御

       DNS的工作工程:当用户上网访问某个网站时,会向DNS缓存服务器发出该网站的域名,以请求其IP地址 。当DNS缓存服务器查找不到该域名与IP地址的对应关系时,它会向授权DNS服务器发 出域名查询请求。为了减少Internet上DNS的通信量,DNS缓存服务器会将查询到的域名 和IP地址的对应关系存储在自己的本地缓存中。后续再有主机请求该域名时,DNS缓存 服务器会直接用缓存区中的记录信息回应。直到该记录信息老化,DNS缓存服务器才会 向授权DNS服务器重新发送域名查询请求。

比较常见的针对缓存服务器的攻击包括:DNS Request Flood攻击、DNS Reply Flood攻击、未知域名攻击、DNS缓存投毒攻击、异常DNS报文攻击

比较常见的针对授权服务器的攻击包括:DNS Request Flood攻击、未知域名攻击 、异常DNS报文攻击

1、DNS Request Flood攻击

攻击原理

针对缓存服务器的攻击:攻击者直接或间接向DNS缓存服务器发送大量不存在的域名解析请求,导致DNS缓存服务器不停向授权服务器发送解析请求,最终导致DNS缓存服务器超载,影响正常业务。

针对授权服务器的攻击:直接或间接向DNS服务器发送大量不存在的子域名请求,致使DNS授权服务器严重超载,无法继续响应正常用户的DNS请求,从而达到攻击目。

DNS Request Flood攻击源可能是虚假源,也可能是真实源。针对不同类型的攻击源,采取的防御方式也不同。

DNS Request Flood防御原理

针对虚假源攻击缓存服务器:

源认证方式可以有效防御DNS request Flood虚假源攻击。Anti-DDoS基于目的地址对于DNS request报文的速率继续统计,当速率超过阈值时,启动源认证防御.源认证只针对受攻击的域名的源IP地址实施,以减少对正常业务的影响.

源认证包括三种模式:

基本模式:在认证过程中Anti-DDoS设备会触发客户端以TCP报文发送DNS请求,来验证源IP的合法性,但会消耗DNS缓存服务器的TCP连接资源。

增强模式:原理和基本模式相同,但是Anti-DDOS设备会使用一个代理IP地址,将客户端的TCP请求转化为UDP格式发送到DNS缓存服务器,从而减少了DNS缓存服务器的TCP连接资源。

被动模式:被动模式是将每个源IP地址发送的首包丢弃,触发重新请求,然后对DNS重传报文进行域名检查,对首包和重传请求域名相同的源IP地址加入白名单(首选)

针对虚假源攻击授权服务器:

授权服务器认证(即重定向方式),可以有效防御DNS request Flood虚假源攻击。重定向只针对受攻击域名的源IP地址实施,以减少误判。

Anti-DDoS基于目的地址对DNS request报文的速率进行统计,当DNS request报文的速率超过阈值时,启动重定向。

       Anti-DDoS设备会返回给请求源一个别名地址,如果请求源是虚假的,则不会回应重定向报文。如果是真实源,则重新请求Anti-DDoS设备发送的重定向地址,认证通过,设备会将真实源加入白名单。Anti-DDoS设备再次重定向正确的地址,请求源重新请求正确的地址,报文命中白名单,直接通过Anti-DDoS设备,到达授权服务器,完成报文交互。

针对真实源攻击:

如果是真实源攻击,经过以上防御过程后,通过DNS报文还很大,则可以采用DNS请求报文限速.分别是指定域名限速和源IP限速.

指定域名限速:对匹配了指定域名的DNS request报文进行限速,Anti-DDoS设备将直接丢弃超出阈值的报文。

源IP限速:针对源IP地址限速,一般为IP地址发送攻击后访问频率最高的几个域名的源IP,可以从“请求TOP N趋势”分析中获取访问频率最高的TOP N源IP地址及其访问流量。此源IP地址一般在攻击前不在TOP N访问中,受到攻击后才出现在TOP N访问中(TOP N为访问频率最高的域名)。


四、HTTP和HTTPS类报文攻击防御

       客户端向服务器发出连接请求,HTTP是基于TCP之上的客户端与服务器之间首先建立三次握手。客户端向服务器发送Get请求,在服务器回应之前可多次发送请求报文。服务器进行应答200 OK,在应答中添加应答长度,并传输数据。传输结束,客户端与服务器之间拆除TCP连接。

1、HTTP Flood攻击与防御原理

攻击原理:攻击者通过代理服务器或者僵尸主机向目标服务器发送大量的HTTP报文,请求涉及数据库操作的URI或其他消耗系统资源的URI,造成服务器资源耗尽,无法响应正请求。

防御原理:HTTP Flood源认证、HTTP源统计、URI监测、URI源指纹学习功能。

HTTP Flood源认证

源认证防御是防御HTTP Flood最常用的手段。这种方式适用于客户端为浏览器的HTTP服务器场景,因为浏览器支持完整的HTTP协议栈,可以正常回应重定向报文或者是验证码。Anti-DDoS设备基于目的IP地址对HTTP报文进行统计,当HTTP报文达到设定的阈值时,将启动源认证防御。源认证有三种方式:

       1.基本模式:如果僵尸网络没有实现完整的HTTP协议栈,不支持自动重定向,无法通过认证,而浏览器支持自动重定向,可以通过认证,该模式不会影响用户体验,但防御效果低于增强模式。

       当网络中有HTTP代理服务器时,只要有一次源认证通过,Anti-DDoS设备就会将代理服务器IP地址加入白名单,后续僵尸主机通过是由代理服务器就会绕开源认证,导致防御失效。在这种有代理服务器的情况下,建议开启代理检测功能,检测HTTP请求是否为通过代理发出的请求。如果是,则Anti-DDoS设备会从HTTP报文中获取请真实请求者的实际IP地址,将通过认证的真实IP地址和代理服务器器地址加入白名单,后续只有此实际源IP地址发送的报文才能通过。

       2、增强模式:有些僵尸工具实现了重定向功能,或者攻击过程中使用的免费代理支持重定向功能,导致基本模式防御失效;通过推送验证码的方式可以避免此类防御失效。此时通过让用户输入验证码,可以判断HTTP访问是否由真实的用户发起。而不是僵尸工具发起的访问。僵尸网络通过自动植入PC的僵尸工具发起,无法自动响应随机变化的验证码,故可以有效的防御攻击。为避免影响正常用户,此方法仅针对超过源访问阈值的异常源实施。

       3、302重定向模式:基本模式中的重定向功能只能对整个网页进行重定向,不能针对网页中的内嵌资源(比如:图片)进行重定向。当用户请求的页面与页面中的内嵌资源不再同一个服务器上时,内嵌资源所在服务器发生异常时,可以对嵌套资源服务器启动302重定向防御,探测访问员是否为真实浏览器,真实浏览器支持重定向功能,可以自动完成重定向过程,不会影响用户体验。

HTTP源统计

       在基于目的的P流量异常的基础上,再启动针对源IP流量进行统计。Anti-DDoS设备对到达目的IP地址的流量进行统计,当目的IP流量触发阈值时,启动到达这个目的IP的每个源的流量进行统计,判定具体哪个源异常,并对源IP的流量进行防御。

URI监测

URI监测时HTTP源认证防御的补充功能。当通过HTTP源认证的流量还是超过阈值时,可以启用URI监测。Anti-DDoS设备对HTTP源认证过程中加入白名单的源IP也会进行URI监测。

在指定时间内,某个URI的访问流量超过阈值时,将启动针对源IP的URI行为监测。当这个源IP地址对某个URI的访问数与总访问数的比例超过阈值时,则将该源IP地址作为攻击源并加入动态黑名单。在配置URI监测时,可将消耗内存或占用计算资源多、容易受攻击的URI加入“重点监测URI”列表。

URI源指纹学习功能

       此方法适用于攻击源访问的URI比较固定的场景。如果要形成攻击效果,攻击者一般都事先进行探测,找到容易消耗系统资源的URI作为攻击目标,然后一个攻击源的一个会话上会有多个针对该URI的请求,最终效果为该源对选定的URI发送大量的请求报文。动态指纹学习正是基于这个原理,Anti-DDoS设备对源访问的URI进行指纹学习,找到攻击目标URI指纹,如果对该URI指纹的命中次数高于设置阈值就将该源加入黑名单。

2、HTTP慢速攻击与防御原理

攻击原理

HTTP慢速攻击利用HTTP现男友合法机制,在与HTTP服务器建立连接后,尽量保持长时间连接,不释放,以达到对HTTP服务器的攻击。常见的有两种:

       Slow POST:攻击者发送POST报文向服务器请求提交数据,将总报文长度设置为一个很大的数值,但是在随后的数据发送中,每次只发送很小的报文,这样服务器会一直等待攻击者的数据。

       Slow headers:攻击者通过GET或者POST向服务器建立连接,但是HTTP头字段不发送结束符,之后发送其他字段进行保活。服务器会一直等待头信息中的结束符而导致连接始终被占用。

防御原理:针对HTTP慢速攻击的特点,Anti-DDoS设备对每秒钟HTTP并发连接数进行检查,当每秒HTTP并发连接数超过设定值时,会触发HTTP报文检查,检查出异常,都认定受到HTTP慢速连接攻击,则将该IP地址判定为攻击源,加入动态黑名单,同时断开此IP地址与HTTP服务器的连接。

异常情况:连续多个HTTP POST报文总长度很大,但是HTTP载荷长度都很小。连续多个HTTP GET/POST报文的报头都没有结束标识。

发布了53 篇原创文章 · 获赞 68 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43997530/article/details/104843920