一、攻击类型
1、 HTTP floods
该攻击类型分为HTTP GET request floods和HTTP POST request floods两种形式,第一种攻击者通过构造HTTP GET请求报文,向目标服务器发送针对特定资源的大量请求;一条HTTP请求的成本很低,但是目标服务器做出对应的响应成本却可能很高。第二种,POST请求往往需要携带表单参数或请求体信息,发送POST请求一般仅需较小的计算与带宽成本,而服务端进行处理操作的过程往往消耗更高。
2、Large Payload POST requests
一般通过POST方法发送容量大、结构复杂的请求体到目标服务器,使得目标服务器在解析这些请求内容的过程发生过载(CPU或内存);攻击者通过构造特定的序列化请求体,如xml、json等,在服务端执行反序列化操作时引起服务过载。
3、Asymmetric requests
利用的是请求与响应的非对称性进行攻击,请求的目标路径会执行高消耗操作而发起攻击请求轻而易举。通常来说,这类攻击需要对目标服务有一定的熟悉与了解,明确攻击目标哪些地方存在这种非对称性利用的可能及利用方式。
4、 Low&Slow attack(Slowloris/Slow Post/Read attack)
这种类型的攻击更多是面向连接层面,以基于线程的Web服务器为目标,通过慢速请求来捆绑每个服务器线程,从而消耗服务器的线程&连接资源,这类攻击中主要可分为Slowloris、Slow Post/Read 几种攻击方式。
二、攻击特点
1、攻击门槛、成本低
相较于4层DDoS攻击,发起HTTP DDoS攻击往往无需构造复杂的攻击报文,仅需较少的带宽就能实现强大的攻击效果。
2、攻击目标更精细
攻击的目标可以精细到服务接口粒度,例如直播页面等,而不需要瘫痪目标的网络也能让业务出现拒绝服务。
3、请求特征容易伪装,防护难度大
不同于Web注入攻击场景,HTTP DDoS的攻击请求的报文特征常常处在一个难以判定好坏的区间,有时部分的异常特征不足以支撑执行拦截决策。
4、 破坏范围广,危害程度高
虽然HTTP DDoS攻击的首要目标是瘫痪目标服务,但并不意味着对目标网络安全的可用性没有威胁。当HTTP floods量级到一定程度时,也存在瘫痪请求接入层网络的可能性。
5、攻击源分布广,隐匿性强
实际的HTTP DDoS攻击中,攻击者常常利用规模庞大的肉鸡/代理IP,而HTTP DDoS攻击报文中往往不具备或具备难以察觉的恶意特征。
总体而言,一起复杂的HTTP DDoS攻击,通常不会使用畸形报文,也无需使用伪装技巧。往往通过使用大量的肉鸡+IP代理池发起,所以简单的封禁策略往往难以起到预期效果。