应用层(DNS/HTTP/HTTPS)攻击与防御原理


网络层攻击:TCP、UDP类攻击

网络层攻击可参考:网络层(TCP/UDP)攻击与防御原理


DNS类报文攻击防御

简要笔记:

针对DNS

Anti-ddos ,针对缓存服务器
虚假源

  • (1)源认证
    发送UDP 53的DNS请求 —————请用TCP 53的DNS请求

    分为两种情况

    1. 客户端不支持TCP 53
      被动模式:首包丢弃
    2. 服务端不支持TCP 53
      Anti-ddos设备把TCP 53转换UDP 53, 以服务器建立关系

真实源 : 限速

针对授权服务器

防御方法:源认证(重定向)

1
2
3
4
5
发DNS请求www.huawei.com--------------不对,请求ww.abc.com

发DNS请求www.abc.com -----------------------不对,请求www.huawe.com

发DNS请求www.huawei.com---------------------加入白名单

NGFW —–不针对
防御方法: 源探测 重定向

详细原理请看下面的详细过程。

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报文攻击

DNS Request Flood攻击与防御原理:

DNS Request Flood攻击既可以针对DNS缓存服务器,又可以针对DNS授权服务器。

攻击原理:

  • 针对缓存服务器攻击

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

  • 针对授权服务器攻击

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

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

Anti-DDoS防御方式:

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

源认证方式可以有效防御DNS Request Flood虚假源攻击。Anti-DDoS设备基于目的地址对DNS Request报文的速率进行统计,当DNS Request报文的速率超过阈值时,启动源认证防御。源认证只针对访问受攻击域名的源IP地址实施,以减少误判和避免对正常业务的访问延时。源认证包括以下两种模式:

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

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

    这种被动模式防御方法在现网上是防御DNS缓存服务器的虚假源Request flood攻击的首选。

虚假源dns

图:针对缓存服务器攻击防御原理(基本模式)

针对虚假源攻击授权服务器防御原理:

授权服务器源认证(即重定向方式),可以有效防御DNS Request Flood虚假源攻击。重定向只针对访问受攻击域名的源IP地址实施,以减少误判和避免对正常业务的访问延时。

dns_r

图:anti-ddos针对授权服务器dns request flood攻击防御原理

如上图所示,Anti-DDoS设备基于目的地址对DNS Request报文的速率进行统计,当DNS Request报文的速率超过阈值时,启动重定向。

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

针对真实源攻击的防御原理:

如果是真实源攻击,经过上述防御过程后,通过的DNS报文还很大,则可以继续采用以下方式进行防御。

DNS请求报文限速:对于大流量的DNS Request flood攻击也是一种非常有效的防御方式,Anti-DDoS设备支持以下几种DNS request报文限速。

  • 指定域名限速

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

    建议该指定DNS域名为发生攻击后的被访问频率最高Top N域名,可以从DNS报表的“请求Top N趋势”分析中获取被访问频率最高的Top N域名及其访问流量,被攻击域名一般在受攻击前不在Top N访问中,受攻击后才出现在Top N访问中。另外,当未知域名检测上报异常事件,通过配置异常抓包任务提取指纹,从指纹中也可获取未知域名。

  • 源IP限速

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

    限速可以针对指定源IP地址或者非指定源IP地址。如果是针对指定源IP地址限速,则建议该指定IP地址为发生攻击后,访问频率最高Top N源IP地址,可以从DNS报表的“请求Top N趋势”分析中获取访问频率最高的Top N源IP地址及其访问流量,此源IP地址一般在受攻击前不在Top N访问中,受攻击后才出现在Top N访问中。

另外,Anti-DDoS设备还支持对异常DNS报文的检查,根据预定义的规则分别从以下三个方面进行检测:

  • DNS报文的格式:Anti-DDoS设备对报文格式进行检查,并将非标准格式的DNS报文直接丢弃。
  • DNS报文的长度:通常情况下,基于UDP协议的DNS报文长度都小于512字节,超过512字节的则往往采用基于TCP协议的DNS报文请求。而现网中,很多DNS Flood经常采用超大DNS报文以造成拥塞链路,比如DNS反射攻击,因此报文长度在防御DNS flood攻击上是一个有效的手段。将DNS报文的长度限制在“最大报文长度”范围内。当DNS报文的长度超出阈值时,Anti-DDoS设备将直接丢弃超出长度的DNS请求报文。
  • DNS报文的TTL:尤其对DNS缓存服务器防护,一般都是采用就近服务原则,比如:北京电信DNS缓存服务器主要服务对象应该是北京电信用户,所以DNS报文的TTL条数应该局限于一个范围内。Anti-DDoS设备将DNS报文的跳数限制在“DNS报文允许跳数”或“DNS报文允许跳数范围”内。当DNS报文的跳数超出阈值时,Anti-DDoS设备将直接丢弃该DNS请求报文。

防火墙防御DNS request Flood攻击方式:

  1. 针对缓存服务器:请求TCP的DNS

    和Anti-DDoS针对缓存服务器防御的基本模式相同,都是利用让客户端重新发送TCP的DNS来验证。

    原理:当客户端向DNS服务器发起查询请求时,DNS回应报文里有一个TC标志位,如果TC标志位置1,就表示需要通过TCP方式查询。FW就是利用这一机制针对缓存服务器防御DNS Flood攻击。

    缺点:并不是所有的客户端都支持以TCP方式发送DNS请求。

  2. 针对授权服务器:授权服务器源认证(即重定向方式)

    该防御方式同Anti-DDoS的针对授权服务器的防御方式。

DNS Reply Flood攻击与防御原理:

此攻击主要针对DNS缓存服务器。

攻击原理:

DNS Reply Flood是指攻击者在一定条件下将大量伪造的DNS应答包发送给某个DNS服务器或主机,从而消耗服务器的处理性能。

DNS反射攻击是DNS Reply Flood的一种典型攻击,指攻击者模拟被攻击目标向现网发送大量的DNS查询请求,并将请求的回应报文长度放大后发送到攻击目标,导致攻击目标收到大量的DNS回应报文,所在网络链路拥塞。

Anti-DDoS针对DNS Reply Flood防御原理:

针对虚假源攻击防御原理:

Anti-DDoS设备基于目的地址对DNS回应报文速率进行统计,当DNS回应报文速率超过阈值时,启动源认证或会话检查:

源认证:当Anti-DDoS设备收到DNS Reply报文时,构造携带新的Query ID和源端口的DNS Request探测报文。当发送源响应探测报文,再次发出DNS Reply报文时,检查DNS Reply报文中的Query ID和源端口与DNS Request报文中是否一致,如果一致则将源IP地址加入白名单。

dns_reply

图:DNS Reply Flood源认证防御

会话检查: 主要针对DNS反射攻击,当Anti-DDoS设备收到DNS Reply报文时,检查是否存在会话,存在则允许报文通过,否则丢弃报文。对白名单中的源IP地址也会进行检查。

建议在Anti-DDoS设备直路部署时使用。旁路部署动态引流时,报文来回路径不一致,因此检查不到引流前已经建立的会话,该防范不适用。

针对真实源攻击防御方式:

如果经过上述防御过程后,通过的DNS reply报文还很大,则可以继续采用限速的方式进行防御。

  • 指定域名限速
  • 源IP限速
  • DNS报文的格式检查
  • DNS报文的长度检查
  • DNS报文的TTL

Anti-DDoS设备针对真实源DNS Reply Foold攻击防御原理同,针对DNS Request Flood攻击防御原理。

防火墙针对DNS Reply Flood防御方式:

FW基于目的地址对DNS回应报文速率进行统计,当DNS回应报文速率超过阈值时,启动源认证

源认证具体过程同Anti-DDoS的源认证方式。

未知域名攻击与防御原理:

此攻击针对DNS缓存服务器和DNS授权服务器。

攻击原理:

攻击者向缓存服务器发送大量变换的不存在域名请求报文:

  1. 缓存服务器收到请求报文后首先查询自身的缓存列表,发现域名不存在。
  2. 缓存服务器向授权服务器发送域名请求。
  3. 授权服务器查询后,确认域名不存在,回应未知域名(No such name)报文。
  4. 缓存服务器向攻击者发送No such name报文。

在未知域名攻击过程中,攻击者发送大量的伪造请求报文,导致缓存服务器和授权服务器不断对不存在域名进行查询,耗尽服务器性能,从而达到攻击目的。

未知dns

图:未知域名攻击原理

Anti-DDoS防御原理:

虽然现网也有因域名输入错误,导致服务器回应No such name报文,但正常情况下,No such name报文比例很小。通过监控DNS服务器回应报文中No such name报文突增来快速发现未知域名攻击,并对No such name报文限速来防御未知域名攻击。

当一秒钟内No such name请求报文与所有请求报文的比例超出阈值时,Anti-DDoS设备将向管理中心上报异常事件。同时,建议配置异常抓包任务,然后从抓包文件中提取指纹,即可提取出具体的未知域名,同时将其添加到“对指定域名请求报文限速”的域名列表中,从而可针对未知域名的请求报文进行限速。

DNS缓存投毒攻击与防御原理:

此攻击主要针对DNS缓存服务器。

攻击原理:

DNS缓存投毒是攻击者先向DNS缓存服务器发送一个不存在域名的请求报文,触发缓存服务器向DNS授权服务器发出查询请求,同时攻击者向缓存服务器发送大量的伪造回应报文,以期在DNS授权服务器回应到达之前命中缓存服务器的请求信息,将恶意授权服务器地址置入DNS缓存服务器缓存项中,篡改某些网站的域名和IP地址对应关系。后续针对此三级域名的子域名解析请求转到恶意DNS授权服务器,导致用户请求被发送到钓鱼网站、反政府网站等。

投毒

图:DNS缓存投毒攻击原理

Anti-DDoS防御原理:

通过会话检查防御DNS缓存投毒是最有效的防御方式。通过检查DNS Reply报文中的Query ID和域名与DNS Request报文中是否匹配来决定是否允许报文通过。

缓存防御

图:DNS缓存投毒防御原理
  1. 当DNS缓存服务器向授权服务器发出域名查询请求时,Anti-DDoS设备记录会话信息及请求报文中的Query ID和域名。
  2. 当Anti-DDoS设备收到回应报文时,检查会话是否存在,回应报文中的Query ID和域名与请求报文中的Query ID和域名是否匹配。
    • 如果命中会话,并且Query ID和域名与请求报文中的Query ID和域名匹配,则放行该报文。
    • 如果没有命中会话,则丢弃该报文。
    • 如果命中会话,但是域名或Query ID与请求报文不匹配,则丢弃该报文,同时要删除该会话,以免后续投毒报文完成投毒。

HTTP类报文攻击与防御原理

正常的HTTP报文交换过程:

http

图:HTTP报文正常的交换过程
  1. 客户端向服务器发出连接请求,HTTP是基于TCP之上的,客户端与服务器之间首先建立三次握手连接。
  2. 客户端向服务器发送请求GET,在服务器回应之前可多次发送请求报文。
  3. 服务器进行应答200 OK,在应答中添加应答长度;并传输数据。
  4. 传输结束,客户端与服务器之间拆除TCP连接。

HTTP报文重定向过程:

http重定向

图:http重定向报文交互过程

HTTP简要笔记:

针对HTTP FLOOD攻击,防御方法:

  • (1) 基本模式
  • (2) 增强模式(验证码模式)
  • (3)302重定向

HTTP慢速攻击

  • slow post
  • slow headers

NGFW防御方法:

  • 基本源探测
  • 高级源探测

HTTP Flood攻击与防御原理:

攻击原理:

攻击者通过代理或僵尸主机向目标服务器发起大量的HTTP报文,请求涉及数据库操作的URI(Universal Resource Identifier)或其它消耗系统资源的URI,造成服务器资源耗尽,无法响应正常请求。例如门户网站经常受到的HTTP Flood攻击,攻击的最大特征就是选择消耗服务器CPU或内存资源的URI,如具有数据库操作的URI。

Anti-DDoS防御原理:

HTTP GET Flood源认证:

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

(1)302重定向模式:

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

302

图:302重定向原理

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

总结:当有HTTP代理服务器时,Anti-DDoS设备应开启代理检查功能。


(2)增强模式(验证码认证):

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

验证码

图:验证码认证流程

源认证对于机顶盒做视频点播场景防护、或者部分移动网络防护不适用。当客户端是机顶盒、特定移动网络时,客户端无法输入验证码,建议使用动态指纹学习或URI监控防御。

  • META refresh:该模式可有效阻止来自非浏览器客户端的访问,如果僵尸工具没有实现完整的HTTP协议栈,不支持自动重定向,无法通过认证。而浏览器支持自动重定向,可以通过认证。该模式不会影响用户体验,但防御效果低于增强模式。
  • JavaScript重定向模式:当用户请求的页面或者页面内嵌的资源所在的服务器发生异常时,利用JavaScript重定向功能,探测访问源是否真实。真实浏览器可以执行JavaScript,自动完成重定向,不会影响客户体验。
  • cookie防御模式:该模式可有效阻止来自非浏览器客户端的访问,当服务器请求发生异常时,利用真实浏览器可以记录cookie功能,探测是否为真实源。

如果在允许的认证时间周期内,对同一源IP地址的认证次数大于最大值时,则将该源IP地址判定为攻击源,加入动态黑名单。

HTTP POST Flood源认证:

HTTP POST Flood是通过发送大量POST请求攻击服务器,以占用服务器大量资源的一种攻击方式。HTTP POST Flood源认证防御方式是防御HTTP POST Flood最常用的手段。这种防御方式适用于客户端为浏览器且浏览器使用cookie的HTTP服务器场景,采用Anti-DDoS设备对客户端的浏览器注入Cookie机制,客户端再次请求时会在HTTP报头(Header)上附加Cookie,Anti-DDoS设备通过检测Cookie的真实性进行HTTP POST Flood的攻击防范,以有效保护Web服务器安全。

(1)重定向模式:

post重定向

图:重定向模式处理过程
  1. Anti-DDoS设备替代目标服务器与客户端完成三次握手。
  2. Anti-DDoS设备在收到客户端发送的POST请求后,回应“307临时重定向”,并在响应报头中附加上由客户端IP生成的Cookie,再发送给客户端。
  3. 如果客户端浏览器真实,在收到“307临时重定向”后,Anti-DDoS设备生成的Cookie就会写入到浏览器中。正常用户再次使用POST请求Web页面时,Anti-DDoS设备将会收到带有Cookie的POST请求,并验证Cookie是否正确。如果正确则将客户端IP加入到HTTP白名单里,同时使用“408请求超时间”进行响应。
  4. Anti-DDoS设备会在源IP监控表中统计Cookie的验证次数和时间间隔,如果单位时间内的验证次数超过一定的警戒值,则认为此IP为攻击源,并切断此攻击源的HTTP流量。
  5. 真实客户端浏览器在收到“408请求超时”后,会自动再次进行请求,此时客户端源IP已加入到白名单,后续的HTTP请求将直接透过Anti-DDoS设备到达服务器,进行正常的Web访问。

(2)增加模式(验证码认证):

此模式下,HTTP POST报文同HTTP GET报文的验证机制一致。

HTTP Post 防御当前使用的是浏览器Cookie的机制,浏览器的安全级别是由Cookie限制的。只有浏览器的安全级别为最低级别才接受所有的Cookie,如果浏览器Cookie级别较高,存在HTTP POST防御认证不通过的风险。


  • HTTP源统计

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

    HTTP源统计功能可以更准确的定位异常源,并对异常源发出的流量进行防御。

  • URI监测

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

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

  • URI源指纹学习功能

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


防火墙针对HTTP Flood攻击防御方式:

  • HTTP Flood源认证
    • 基本模式(META刷新)
    • 增强模式(验证码认证)
    • 302重定向模式

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报文的报文头都没有结束标识。

HTTPS类报文攻击与防御

正常SSL交互过程:

ssl

图:正常SSL报文交换过程
  1. 客户端发送的第一条消息为ClientHello,其中包含了客户端所推荐的加密参数和准备使用的加密算法。

  2. 服务器以三条消息进行响应:

    1. 发送选择加密算法的ServerHello。
    2. 服务器发送携带自己公钥的Certificate消息。
    3. 服务器发送表示握手阶段不再有任何消息的ServerHelloDone。
  3. 客户端发送一条Client Key Exchange消息,将一个随机生成的使用服务器公钥加密的密钥发送给服务器。

  4. Change Cipher Spec消息表示客户端在此之后发送的所有消息都将使用刚刚商定的密钥进行加密。

  5. Finished消息包含了对整个连接过程的校验,是通过先计算已交互的握手消息的Hash值,再利用协商好的密钥对Hash值加密得到的。

    服务器利用同样地方法计算已交互的握手信息的Hash值与Finished消息解密结果比较,就能够判断要使用的加密算法是否是安全商定的。

  6. 一旦服务器接收到了客户端的Finished消息,它就会发送自己的Change Cipher Spec和Finished消息,于是连接就准备好进行应用数据的传输了。

HTTPS Flood攻击与防御原理:

攻击原理:

攻击者通过代理、僵尸网络或者直接向目标服务器发起大量的HTTPS连接,造成服务器资源耗尽,无法响应正常的请求。

Anti-DDoS防御原理:

通过源认证对HTTPS业务端口的连接耗尽进行防御,Anti-DDoS设备基于目的地址对HTTPS请求报文速率进行统计,当HTTPS请求速率超过阈值时,启动源认证防御。

https源认证

图:HTTPS源认证流程

防火墙针对HTTPS Flood的防御原理:

防火墙防御原理同Anti-DDoS设备防御原理。不过是FW代替服务器与客户端完成TCP三次握手。而Anti-DDoS是通过清洗设备进行代替。

SSL-DoS/DDoS攻击与防御原理:

攻击原理:

SSL握手的过程中,在协商加密算法时服务器CPU的开销是客户端开销的15倍左右。攻击者利用这一特点,在一个TCP连接中不停地快速重新协商(这种行为是被SSL所允许的),从而耗尽服务器CPU资源,这种攻击叫做SSL-DoS。如果多个僵尸主机向服务器发起SSL-DoS,则叫做SSL-DDoS攻击。

Anti-DDoS防御原理:

Anti-DDoS设备基于目的地址对HTTPS请求报文速率进行统计,当HTTPS请求速率超过阈值时,启动源认证防御和SSL防御:

源认证的过程和防御HTTPS Flood攻击的源认证相同。

SSL防御:

在检查周期内,如果某个源IP地址到目的IP地址的某个会话上的协商次数超过阈值,则将此会话标记为异常会话,在异常会话检查周期内,如果异常会话数超过阈值时,判定该源IP地址异常,将该源IP地址加入黑名单。

ssl防御

图:SSL防御原理

有关HTTPS的DDoS攻击防护思路可以参考以下这篇博文:

出自绿盟科技博客:HTTPS的DDoS攻击防护思路 http://blog.nsfocus.net/https-ddos-attack-defense-ideas/


其它类型的Flood攻击

SIP Flood攻击与防御原理:

攻击原理:

SIP(Session Initiation Protocol)是一个应用层的信令控制协议。用于创建、修改和释放一个或多个参与者的会话。这些会话可以是Internet多媒体会议、IP电话或多媒体分发。例如,SIP服务提供商可以建立包含语音、视频和聊天内容的全新媒体。

攻击者通过发送大量的INVITE消息到SIP服务器,导致被攻击SIP服务器分配大量的资源用以记录和跟踪会话,直到资源耗尽而无法响应合法用户的呼叫请求;或者针对VoIP设备在SIP协议实现上的漏洞构造并发送相应的畸形SIP报文,从而导致SIP服务器拒绝服务。

Anti-DDoS防御原理:

Options方法用于SIP协议通信双方查询对方支持的方法、内容类型、扩展等。SIP源认证是发送OPTIONS请求报文作为探测报文探测源的真实性,如果发送端的源IP真实存在,就会对该探测报文进行回应,Anti-DDoS设备检查回应报文是否正确,正确则允许通过,将源IP地址加入白名单,否则丢弃报文。

sip

图:SIP源认证

防火墙的防御方法同Anti-DDoS。

ARP Flood防御原理:

ARP flood攻击是指攻击者通过修改ARP报文中的源IP地址和源MAC地址,向攻击目标大量发送伪造的ARP报文,拥塞网络。

FW对于ARP flood攻击一般采用限流策略。FW针对目的IP进行统计,当到达同一目的IP地址的ARP流量达到告警阈值时,启动限流策略,丢弃超过上限的ARP报文。


参考文档:华为HedEx文档


坚持原创技术分享,您的支持将鼓励我继续创作!