CDN加速

应用层DDoS防御

更新时间:2020-04-26 18:52:55

网宿 DMS 通过威胁情报库、访问控制、日志自学习、人机校验等方式实现对请求包实时检测和分析,在不影响正常访问的前提下,实时高效阻断恶意请求,单机防护性能达 1000 万 QPS,平台总体防护能力达 10 亿 QPS。目前可防御 CC、HTTP Flood、慢攻击、POST Flood 等各类常见的应用层DDoS 攻击。各攻击类型简介及防护方法如下:

CC、HTTP Flood 攻击

攻击简介

CC 攻击是指攻击者借助代理服务器模拟真实用户,不断向目标网站发送大量请求,如频繁请求某个动态 URL 或某个不存在的 URL,致使源站大量回源,耗尽网站服务器性能,进而致使目标网站拒绝服务。

HTTP Flood 是指攻击者借助代理服务器模拟真实用户,不断向目标网站发送大量请求,如频繁请求某个静态 URL,耗尽网站服务器性能,进而致使目标网站拒绝服务。

防护原理

威胁情报库:DMS 通过大数据分析平台,实时汇总分析攻击事件的日志,提取攻击特征(如IP、URL、User-Agent、Refer 等),并对这些特征进行威胁等级评估,形成威胁情报库,对于高风险性的 IP、UA、URL、Refer 等会自动下发到全网防护节点中,一旦后续请求命中威胁情报库中的高风险性特征,则直接拦截,最大限度地提高防御效率,避免 CC 攻击对网站的影响。

个性化策略配置:如请求没有命中威胁情报库中的高风险特征,则通过个性化策略配置(如IP 黑白名单、IP 访问频率控制)防御攻击;

日志自学习:DMS 实时动态学习客户网站的访问特征(如客户每个资源的访问量、行为特征等),建立网站的正常访问基线。

人机校验:当请求与网站正常访问基线不一致时,启动人机校验(如 JS 验证、META 验证等)方式进行验证,避免误杀正常访问,校验通过则放行该请求,如不通过,则拦截并实时将该请求的攻击特征同步至威胁情报库。 DMS 提供 JS 验证、META 验证、302 跳转、验证码等多种人机校验方式,有效拦截攻击的同时,保障正常用户的访问体验。

a.JS 验证

通过返回 200+JS(内容为原先访问的 URL+验证 key)验证客户端是否合法,正常用户的客户端能够自动解析 JS 代码,带上验证 key 重新请求 URL,继续正常访问。而恶意访问无法解析 JS,则DMS 拦截该请求。

b.META 验证跳转

通过在 meta 标签加入验证参数验证客户端是否合法,正常用户的客户端能够自动解析节点返回的meta 标签,并携带上验证参数重新发起请求,继续正常访问。而恶意访问无法解析,则 DMS 拦截该请求。

慢连接攻击

攻击简介

攻击者利用 HTTP 协议的正常交互机制,先与目标服务器建立一个连接,然后长时间保持该连接不释放。如果攻击者持续与目标服务器建立大量这样的连接,就会使目标服务器上的可用资源耗尽,无法提供正常服务。HTTP 慢速攻击主要包括 Slow Headers 攻击和 Slow POST 攻击。

Slow Headers 攻击:攻击者使用 GET 或 POST 请求方法与目标服务器建立连接,然后持续发送不包含结束符的 HTTP 头部报文,目标服务器会一直等待请求头部中的结束符而导致连接始终被占用。当攻击者大量发起这类请求,将会导致服务器资源耗尽,无法正常提供服务。

Slow POST 攻击:攻击者向目标服务器发送 POST 请求报文提交数据,数据的长度设置为一个很大的数值,但是在随后的数据发送中,每次只发送很小的报文,导致目标服务器一直等待攻击者发送数据。当攻击者大量发起这类请求,将会导致服务器资源耗尽,无法正常提供服务。

防护原理

对 Slow Headers 攻击,DMS 通过检测请求头超时时间、最大包数量阈值(即请求报文的报文头中一段时间内没有结束符“\r\n”)进行防护。

对 Slow Post 攻击,DMS 通过检测请求小包数量阈值(即 POST 请求报文的长度设置的很大,但是实际报文的数据部分长度都很小)进行防护。

POST Flood

攻击简介

攻击者利用攻击工具或者操纵僵尸主机,向目标服务器发起大量的 HTTP POST 报文,消耗服务器资源,使服务器无法响应正常请求。

防护原理

DMS 通过访问控制策略(如 IP 黑白名单、IP 访问速率等)、Cookie 校验等方式检测并拦截 POST Flood 攻击。