随着互联网的快速发展,网站成为了企业展示自身形象和吸引用户的重要渠道。然而,随之而来的却是各种网络攻击,其中包括DDoS攻击。DDoS(分布式拒绝服务)攻击是指攻击者利用多台计算机联合发起攻击,使目标网站服务器超负荷运行,从而导致网站服务中断。
DDoS攻击,不止于网络传输层
一、客发起DDoS攻击一般分为三个阶段:
第一阶段是目标确认: 黑客会在互联网上锁定一个企业网络的IP地址。这个被锁定的IP地址可能是企业的Web服务器,DNS服务器,互联网网关等。而选择这些目标进行攻击的目的同样多种多样,比如为了赚钱(敲诈勒索),同行竞争或者只是以破坏为乐。
第二个阶段是准备阶段: 在这个阶段,黑客会入侵互联网上大量的没有良好防护系统的计算机(除了传统的PC电脑外,各种智能物联网设备都可以成为入侵目标)。黑客会在这些计算机中植入日后攻击目标所需的工具。
第三个阶段是实际攻击阶段: 黑客会将攻击命令发送到所有被入侵的计算机(也就是僵尸计算机,俗称“肉鸡”)上,并命令这些计算机利用预先植入的攻击工具不断向攻击目标发送数据包,导致目标服务器带宽被占满或无法处理大量的数据而宕机。
“厉害”点的黑客还会让这些僵尸计算机伪造发送攻击数据包的IP地址,并且将攻击目标的IP地址插在数据包的原始地址处,这就是所谓的反射攻击。服务器或路由器看到这些资料包后会转发(即反射)给原始IP地址一个接收响应,更加重了目标主机所承受的数据流。因此,我们无法阻止这种DDoS攻击,但是知道了这种攻击的原理,我们就可以尽量减小这种攻击所带来的影响。
二、网络层与传输层的DDOS攻击
网络世界里为人们所熟知的DDoS攻击,多数是通过对带宽或网络计算资源的持续、大量消耗,最终导致目标网络与业务的瘫痪;这类DDOS攻击,工作在OSI模型的网络层与传输层,利用协议特点构造恶意的请求载荷来达成目标资源耗尽的目的**。
除了这类在网络传输层大做文章的DDoS攻击,还有一类DDoS攻击把目光聚焦到了应用层。随着互联网的飞速发展,接入流量逐年攀高,承载这些流量的网络应用也被黑产、黑客们盯上,在DDoS攻击场景中也不例外。
由于应用层流量更贴近业务逻辑,在应用层发起DDoS攻击可以同时对目标网络与目标服务器的稳定性造成威胁。除此之外,攻击者往往只需较小的带宽成本,实现更大的破坏效果,这样的不对称性自然更受攻击者们的关注与青睐。
Cloudflare在 《DDoS Attack Trends for 2022 Q1》报告指出,全球范围内应用层DDoS攻击(主要是HTTP DDoS)呈现着持续增长的态势。在俄乌的网络战争中,HTTP DDoS攻击也扮演着重要的角色。
与此同时,应用层DDoS攻击的攻击方式与手法在也在不断演进升级。从集中式高频请求逐步演进为分布式低频请求,从请求报文中携带显著恶意特征变化为重放合法请求流量,伪造搜索引擎爬虫流量等;而在攻击的频率与规模上,应用层DDoS攻击也呈现出不断增长的趋势。
针对攻击手法的升级变化,业务防护可以从两方面着手应对:
一是在运营对抗上,在攻击发生的事前、事中和事后各阶段,通过梳理资产信息、分析攻击报文并进行特征提取、配置防护策略、复盘防护数据等手段不断提升防护对抗效果;
二是在防护能力建设上,可以引入支持多维度特征组合的限速功能、JS Challenge、验证码等功能模块来提升对高级复杂的应用层 DDoS攻击的识别处置能力。与此同时,在流量接入链路中与CDN、LB、AGW等各接入层产品进行联动合作,通过在不同接入层级落地相关防护策略,实现攻击流量的分级收敛,在应对大规模应用层DDoS攻击时更能凸显防护效果。
三、0门槛,高收益,一键发起攻击
上面提到的应用层DDoS攻击,是通过向应用程序发送大量恶意请求实现攻击效果,以每秒请求数 (QPS) 来衡量攻击量级与规模;这类攻击也称为 7 层 DDoS 攻击,可针对和破坏特定的网络应用程序,而非整个网络。虽然这类 DDoS 攻击难以预防和抵御,但发动起来却相对比较容易,具体有多容易呢?
由于7层DDoS通常不需要过高的带宽成本,也无需构造复杂的协议利用报文,在黑灰产交易渠道,可以非常便捷地获取到发起7层DDoS的工具与服务。
即便是知名、成熟的互联网应用,在这类攻击面前也存在被攻陷的可能与风险。
四、HTTP DDoS攻击的类型与特点
4.1 攻击类型
7层DDoS攻击中,瘫痪目标应用与服务是首要目标,根据HTTP DDoS(CC)攻击发起的原理与方式,可以总结以下攻击类型:
- HTTP floods
这种攻击主要分为两种形式。
第一种是HTTP GET request floods,攻击者通过构造HTTP GET请求报文,向目标服务器发送针对特定资源的大量请求。在客户端执行一条HTTP请求的成本很低,但是目标服务器做出对应的响应成本却可能很高。比如加载一个网页,服务端通常需要加载多个文件、查询数据库等才能做出响应;在Web业务的防护中,对于有SSR(Server-side rendering)功能页面的HTTP floods攻击,其量级与频率更加突出明显,也更容易对业务造成影响与危害。
第二种是HTTP POST request floods,与GET request floods的显著区别是,POST请求往往需要携带表单参数或请求体信息,而这通常意味着服务端需要对请求内容进行相关解析处理,并将数据进行持久化(通常需要进行DB操作) 。发送POST请求一般仅需较小的计算与带宽成本,而服务端进行处理操作的过程往往消耗更高。可以说这种攻击形式下,形成这种请求响应间资源消耗差异的空间或可能性更大,更容易实现让服务器过载从而拒绝服务的目标。
- Large Payload POST requests
这类攻击一般通过POST方法发送容量大、结构复杂的请求体到目标服务器,使得目标服务器在解析这些请求内容的过程发生过载(CPU或内存) ;一般而言,攻击者通过构造特定的序列化请求体,如xml、json等,在服务端执行反序列化操作时引起服务过载。
- Asymmetric requests
这种类型的攻击顾名思义,利用的就是请求与响应的非对称性,请求的目标路径会执行高消耗操作而发起攻击请求轻而易举。通常来说,这类攻击需要对目标服务有一定的熟悉与了解,明确攻击目标哪些地方存在这种非对称性利用的可能及利用方式。比如通过从数据库服务器下载大型文件或大量执行数据库的查询等接口,就容易被这种类型攻击所利用。
- Low&Slow attack(Slowloris/Slow Post/Read attack)
这种类型的攻击更多是面向连接层面,以基于线程的Web服务器为目标,通过慢速请求来捆绑每个服务器线程,从而消耗服务器的线程&连接资源,这类攻击中主要可分为Slowloris、Slow Post/Read 几种攻击方式。
4.2 攻击特点
根据上述总结的HTTP DDoS攻击类型、原理与实现方式,可以总结出HTTP DDoS攻击具备以下特点:
- 攻击门槛、成本低
相较于4层DDoS攻击,发起HTTP DDoS攻击往往无需构造复杂的攻击报文,仅需较少的带宽就能实现强大的攻击效果。
- 攻击目标更精细
攻击的目标可以精细到服务接口粒度,例如直播页面等,而不需要瘫痪目标的网络也能让业务出现拒绝服务。
- 破坏范围广,危害程度高
虽然HTTP DDoS攻击的首要目标是瘫痪目标服务,但并不意味着对目标网络的可用性没有威胁。当HTTP floods量级到一定程度时,也存在瘫痪请求接入层网络的可能性。
- 攻击源分布广,隐匿性强
实际的HTTP DDoS攻击中,攻击者常常利用规模庞大的肉鸡/代理IP,而HTTP DDoS攻击报文中往往不具备或具备难以察觉的恶意特征。对这些攻击源进行封禁处置效果有限甚至有误报风险,攻击者却可以随时更换新一批攻击源。
- 请求特征容易伪装,防护难度大
不同于Web注入攻击场景,HTTP DDoS的攻击请求的报文特征常常处在一个难以判定好坏的区间,有时部分的异常特征不足以支撑执行拦截决策。攻击者可通过模拟、重放正常请求来发起攻击,即便在请求报文中某些特征被防护方捕获并针对性处置,攻击者也能感知到并作出调整。
总体而言,一起复杂的HTTP DDoS攻击,通常不会使用畸形报文,也无需使用伪装技巧。对比其他类型的DDoS攻击需要更少的带宽成本就能瘫痪目标站点或服务,甚至特定的目标集群与接口。在影响目标业务可用性的同时,也可能对接入链路网络的稳定性构成威胁。这类攻击往往通过使用大量的肉鸡+IP代理池发起,所以简单的封禁策略往往难以起到预期效果。也正因为如此,在进行HTTP DDoS攻击防护过程,要求对业务有更深入的理解,对于攻击定制针对性策略来实现误报与漏报的平衡,这也是HTTP DDoS难以检测防护的原因。
兵来将挡,如何实现有效防护
根据上述HTTP DDoS的类型与特点,对于来势汹汹的攻击流量,WAF如何实现有效防护呢?
根据攻击的原理与类型,可以大致分为三个主要的防护场景:
第一种:连接型HTTP DDoS
这类型的HTTP DDoS攻击,对应上面提到的Low&Slow attack。由于攻击是通过建立TCP连接后在传输HTTP报文的过程实现攻击效果,因此对于业务前面有7层接入层设备的业务(CDN、LB等),这类攻击会被前面的7层接入层设备所承载。所以对于许多业务而言,这类型的攻击感知可能并不明显,但并不表明这类攻击的危害程度低。相反如果针对特定7层接入设备进行此类型攻击,可能造成的业务影响面会更加广泛。
由于这类攻击的特点是“慢速”,那么WAF可以对HTTP的请求header读取、请求、响应body的传输设置好超时时间。当触发超时策略时可断开相应的TCP连接,释放连接资源。同时,可对于异常的header、body做检查与限制(如限制HTTP请求header的数量)。还可以通过HTTP层面的精细化访问控制来避免误伤场景(如正常业务的大文件传输场景)。
当然,要实现这些能力需要WAF与7层接入设备做好联动配合才能实现有效防护。
第二种、特征型HTTP DDoS
这类型的HTTP DDoS攻击,对应上面的Large Payload POST requests 和 Asymmetric requests,他们的共同点是需要实现这类HTTP DDoS攻击,在HTTP请求报文中往往能够提取出关键异常特征。
对于Asymmetric requests攻击,例如HTTP Range头利用的例子中,WAF可通过限制HTTP Range头的分片策略实现异常检测与防护;对于一些漏洞利用,特别是业务使用的服务框架、中间件产生的漏洞造成的DDoS,利用WAF的Web漏洞检测防护能力便能实现有效防护。
第三种、floods型HTTP DDoS
floods类型的HTTP DDoS在现实网络流量中更为主流与常见,影响业务稳定性的风险更大,是需要重点关注的防护场景;WAF在面对这类型攻击时,可根据floods类型HTTP DDoS攻击的特征、特点,分析拆解防护策略,通过以下手段、步骤来实现有效防护:
第一步:链路梳理,明确业务场景
当业务面临HTTP floods攻击防护需求时,首先需要梳理清楚业务的流量接入链路。因为HTTP floods通常具有持续、量级规模大的特点,因此最佳的防护部署是首先通过在最外接入层实现(例如CDN) ,这样的优点很明显,能将恶意的攻击流量在最外层收敛,减少后续接入层的压力与成本。但这并不意味着后续接入层无需部署防护,由于防护的精准程度与防护成本往往是正相关关系,经过收敛的流量在贴近业务的接入层做更精细的检测、处置,往往收益更明显;
同时,明确业务服务的使用场景在应对HTTP floods攻击时也非常关键且必要,业务不同的host、path往往有不同的业务特征。比如后端负载能力、是否有登录态、WebApp还是Native App、是否有API调用场景等,只有在明确业务场景后才能更好地制定精准、贴合业务需求的防护策略。
业务链路梳理&防护部署
第二步:负载兜底,构建防护基线
在HTTP floods发生时,最基本的防护需求是要保证业务的可用性,不能出现因攻击而造成业务瘫痪的情况;在这个需求背景下,最快速有效的策略便是为业务制定负载兜底策略。与业务共同梳理清楚需要防护的目标资产(host、server cluster、path等),根据业务场景先配置全局/粗粒度的限速策略,实现对攻击流量的初步防护收敛;
同时,在明确目标防护资产的负载能力后,进行更细粒度的限流/过载保护策略配置,在流量过载的极端情况下优先保证服务的可用性,构建一层基线防护能力。
第三步:特征分析,过滤恶意流量
采取上述策略手段实现初步防护后,需要对HTTP floods流量进一步分析过滤,才能在保障正常业务流量的同时将恶意流量拒之门外。这里就需要WAF提供基于HTTP请求、响应报文的多维组合、匹配能力,识别出报文中的异常特征并提供针对性的处置手段。例如,在对抗业务遭受的HTTP floods恶意流量攻击过程中,除了提取常见的异常IP,Params,UA,Referer,Cookie等特征进行封禁或限速处置外,还会将相关特征进行组合关联,为策略统计与响应处置提供参考。
通过对攻击流量特征的分析统计,在WAF上进行组合策略配置
除了通过WAF丰富的特征分析能力识别恶意流量,在面临HTTP floods攻击时,提供丰富、梯度的处置动作对于在防护过程平衡误伤风险也非常关键。WAF可提供封禁、限速、重定向、验证码、JS Challenge、自定义响应等多种处置动作与特征识别能力配合,为防护的精准性提供保障。
第四步:能力联动,提升防护效果
对于专业的HTTP floods攻击,攻击者会尽可能地模拟、重放正常的用户请求流量。因此从“HTTP报文特征”去识别防护恶意流量,可能还远不足以应对高级复杂的HTTP floods攻击。对于HTTP floods攻击手法的持续升级演进,除了从HTTP报文层面抽丝剥茧识别异常,还需要联动其他维度的信息与能力来提升防护效果,具体而言体现在以下方面:
- 对于高级隐蔽的HTTP floods,攻击者必定需要充足的IP资源,这些IP往往来源于“肉鸡”IP或IP代理池,通过结合高质量的IP情报信息,可以在攻击发生时自动实时处置,实现精准防护;
- 同时,专业的HTTP floods攻击离不开自动化工具的支持,这类工具往往具有BOT特征。通过对端侧信息的采集、校验,与每个请求进行关联,可以在攻击发生时自动识别恶意BOT流量,进一步提升防护效果。
WAF的JS Challenge功能,就是通过能力联动来提升防护效果的一个例子:
不同于对请求报文检测来识别异常这种“被动”的防护方式,JS Challenge功能通过在防护检测过程“主动”向客户端植入一段JS逻辑。通过利用前端浏览器的JS渲染执行能力,实现对异常流量的识别;在具体的实现过程中,为了对抗重放攻击、减少绕过风险,可能会引入动态令牌机制;为了更全面地覆盖业务场景,减少误伤情况发生,可以利用JS API调用判断浏览器环境与兼容性;为了对防护情况的实时掌控,还可能引入埋点、监控逻辑等。
在这些技术细节的实现过程中,WAF既需要联动端侧浏览器的能力,也需要联动CDN、LB等接入组件的能力,最终实现防护效果的进一步提升。
德迅云安全方案
第一款:德迅云安全高防服务器
德迅云安全在浙江部署的T3级别数据中心,具备完善的机房设施,自建光纤网络,核心骨干网络有效保证高品质的网络环境和丰富的带宽资源,同时接入统一的系统管理平台,资源调配更轻松,使系统安全、可靠、稳定、高效运行。
-
海量DDoS清洗:大防护带宽,平均延迟小于50ms,从容应对大流量攻击。
-
全方位防护:全面支持SYN Flood、ACK Flood、ICMP Flood、UDP Flood、NTP Flood、DNS Flood、HTTP Flood、CC攻击等常见攻击类型的防护。
-
全业务支持:支持TCP、UDP、HTTP/HTTPS等协议,满足游戏、APP、网站、金融等各种类型的业务需求。
-
指纹式防御算法:防御游戏空连接、慢连接、恶意踢人攻击,采用IP信誉库、IP+Co-okie、IP+Key防御CC攻击,全球僵尸网络库攻击溯源
第二款:安全加速SCDN
安全加速(Secure Content Delivery Network,SCDN)是德迅云安全推出的集分布式DDoS防护、CC防护、WAF防护、BOT行为分析为一体的安全加速解决方案。已使用内容分发网络(CDN)或全站加速网络(ECDN)的用户,可为加速域名一键开启安全防护相关配置,全方位保障业务内容分发。
-
OWASP TOP 10威胁防护:有效防御 SQL注入、XSS攻击、命令/代码执行、文件包含、木马上传、路径穿越、恶意扫描等OWASP TOP 10攻击。专业的攻防团队7*24小时跟进0day漏洞,分析漏洞原理,并制定安全防护策略,及时进行防护。
-
AI检测和行为分析:通过对德迅云积累海量日志进行学习和训练输出多种Web安全防护模型,对用户多请求的多元因子进行智能分析,有效提高检出率,降低误报率;通过信息孤岛、行为检测分析,识别恶意攻击源,保护网站安全。
-
智能语义解析引擎:提供智能语义解析功能,在漏洞防御的基础上,增强SQL注入和XXS攻击检测能力。
-
应用层DDoS防护:CC、HTTP Flood攻击防御
-
人机校验:当请求与网站正常访问基线不一致时,启动人机校验(如JS验证、META验证等)方式进行验证,拦截攻击。
-
慢连接攻击防御:对Slow Headers攻击,通过检测请求头超时时间、最大包数量阈值进行防护。 对Slow Post攻击,通过检测请求小包数量阈值进行防护。
-
网页防篡改:采用强制静态缓存锁定和更新机制,对网站特定页面进行保护,即使源站相关网页被篡改,依然能够返回给用户缓存页面。
-
数据防泄漏:对response报文进行处理,对响应内容和响应进行识别和过滤,根据需要设置数据防泄漏规则,保护网站数据安全。
第三款、Web防火墙(安全WAF)
Web应用防火墙(Web Application Firewall, 简称 WAF)基于云安全大数据能力,用于防御SQL注入、XSS跨站脚本、常见Web服务器插件漏洞、木马上传、非授权核心资源访问等OWASP常见攻击,并过滤海量恶意CC攻击,避免您的网站资产数据泄露,保障网站的安全与可用性。
Web应用防火墙(WAF)帮助您轻松应对各类Web应用攻击,确保网站的Web安全与可用性。WAF使用核心攻防和大数据能力来驱动Web安全,具体支持以下功能:
(1)Web入侵防护
-
自动防护漏洞0day web应用漏洞小时级自动防御,无需人工打补丁
-
多重动态防御自研规则+AI深度学习+主动防御,搭配不断更新的全网威胁情报,扫除防御死角
-
防扫描及探测根据扫描及探测的特征和行为,配合全网威胁情报、深度学习算法进行自动拦截,避免黑客发现可利用的系统弱点
-
防护规则可自定义可根据业务实际需求,灵活自定义防护规则
(2)流量管理和爬虫防控
-
灵活的流量管理功能支持对全量HTTP header和body特征进行自定义组合,从而实现满足业务个性化需求的访问控制和限速要求
-
CC攻击防护基于不同等级的默认防护策略及灵活的精准访问控制和限速策略,配合人机识别、封禁等处置手段有效缓解CC攻击(HTTP Flood
-
精准识别爬虫基于指纹、行为、特征、情报等多维度数据,配合AI智能,精准识别爬虫并自动应对爬虫变异
-
全场景防控适用于网站、H5、APP、小程序等各类型Web业务的爬虫风险防控,帮助企业防控业务作弊、薅羊毛等业务风险
-
丰富的爬虫处置手段可根据实际业务场景需求,对流量进行包括拦截、人机识别、限流、欺骗等处置手段
-
场景化配置场景化配置引导,帮助0经验快速上手德迅最佳实践
(3)数据安全防控
-
保护API安全主动发现存在老旧、缺乏鉴权、数据过度暴露、敏感信息泄露等风险的API接口
-
防敏感信息泄露检测并防护身份证、银行卡、手机号、敏感词等敏感信息泄露
-
防页面篡改通过锁定重点页面的内容,保证即使页面被篡改,也能通过返回缓存的方式保证用户看到的页面内容不变
-
检测账户风险自动识别撞库、暴力破解、弱口令等常见账号风险
(4)安全运维与合规
-
安全接入一键实现HTTPS、全链路IPv4、智能负载均衡、高可用和快速容灾
-
全量访问日志记录和存储全量Web访问日志,支持实时SQL查询分析和自定义告警
-
自动化资产识别基于大数据,全面发现未接入防护的域名资产,收敛攻击面
-
满足等保合规满足各行业等保合规需求