应用层DDoS防御
时间:2020-12-07DMS 通过威胁情报库、访问控制、日志自学习、人机校验等方式实现对请求包实时检测和分析,在不影响正常访问的前提下,实时高效阻断恶意请求,单机防护性能达 1000 万 QPS,平台总体防护能力达 10 亿 QPS。目前可防御 CC、HTTP Flood、慢攻击、POST Flood 等各类常见的应用层DDoS 攻击。各攻击类型简介及防护方法如下:
CC 攻击是指攻击者借助代理服务器模拟真实用户,不断向目标网站发送大量请求,如频繁请求某个动态 URL 或某个不存在的 URL,致使源站大量回源,耗尽网站服务器性能,进而致使目标网站拒绝服务。
HTTP Flood 是指攻击者借助代理服务器模拟真实用户,不断向目标网站发送大量请求,如频繁请求某个静态 URL,耗尽网站服务器性能,进而致使目标网站拒绝服务。
2.防护原理
威胁情报库: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 请求报文提交数据,数据的长度设置为一个很大的数值,但是在随后的数据发送中,每次只发送很小的报文,导致目标服务器一直等待攻击者发送数据。当攻击者大量发起这类请求,将会导致服务器资源耗尽,无法正常提供服务。
2.防护原理
对 Slow Headers 攻击,DMS 通过检测请求头超时时间、最大包数量阈值(即请求报文的报文头中一段时间内没有结束符“\r\n”)进行防护。
对 Slow Post 攻击,DMS 通过检测请求小包数量阈值(即 POST 请求报文的长度设置的很大,但是实际报文的数据部分长度都很小)进行防护。
攻击者利用攻击工具或者操纵僵尸主机,向目标服务器发起大量的 HTTP POST 报文,消耗服务器资源,使服务器无法响应正常请求。
2.防护原理
DMS 通过访问控制策略(如 IP 黑白名单、IP 访问速率等)、Cookie 校验等方式检测并拦截 POST Flood 攻击。
一、CC、HTTP Flood 攻击
1.攻击简介CC 攻击是指攻击者借助代理服务器模拟真实用户,不断向目标网站发送大量请求,如频繁请求某个动态 URL 或某个不存在的 URL,致使源站大量回源,耗尽网站服务器性能,进而致使目标网站拒绝服务。
HTTP Flood 是指攻击者借助代理服务器模拟真实用户,不断向目标网站发送大量请求,如频繁请求某个静态 URL,耗尽网站服务器性能,进而致使目标网站拒绝服务。
2.防护原理
威胁情报库: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 拦截该请求。
二、慢连接攻击
1.攻击简介攻击者利用 HTTP 协议的正常交互机制,先与目标服务器建立一个连接,然后长时间保持该连接不释放。如果攻击者持续与目标服务器建立大量这样的连接,就会使目标服务器上的可用资源耗尽,无法提供正常服务。HTTP 慢速攻击主要包括 Slow Headers 攻击和 Slow POST 攻击。
Slow Headers 攻击:攻击者使用 GET 或 POST 请求方法与目标服务器建立连接,然后持续发送不包含结束符的 HTTP 头部报文,目标服务器会一直等待请求头部中的结束符而导致连接始终被占用。当攻击者大量发起这类请求,将会导致服务器资源耗尽,无法正常提供服务。
Slow POST 攻击:攻击者向目标服务器发送 POST 请求报文提交数据,数据的长度设置为一个很大的数值,但是在随后的数据发送中,每次只发送很小的报文,导致目标服务器一直等待攻击者发送数据。当攻击者大量发起这类请求,将会导致服务器资源耗尽,无法正常提供服务。
2.防护原理
对 Slow Headers 攻击,DMS 通过检测请求头超时时间、最大包数量阈值(即请求报文的报文头中一段时间内没有结束符“\r\n”)进行防护。
对 Slow Post 攻击,DMS 通过检测请求小包数量阈值(即 POST 请求报文的长度设置的很大,但是实际报文的数据部分长度都很小)进行防护。
三、POST Flood
1.攻击简介攻击者利用攻击工具或者操纵僵尸主机,向目标服务器发起大量的 HTTP POST 报文,消耗服务器资源,使服务器无法响应正常请求。
2.防护原理
DMS 通过访问控制策略(如 IP 黑白名单、IP 访问速率等)、Cookie 校验等方式检测并拦截 POST Flood 攻击。
本页目录