当前位置: 首页 > 科技观察

超低成本DDoS攻击来袭,看WAF如何防御

时间:2023-03-18 20:17:32 科技观察

DDoS攻击,不局限于网络传输层众所周知的网络世界DDoS攻击,大部分是通过持续大量消耗带宽或网络计算资源,最终导致目标网络和业务瘫痪;该类DDOS攻击作用于OSI模型的网络层和传输层,利用协议特性构造恶意请求载荷,达到耗尽目标资源的目的。除了这类在网络传输层大做文章的DDoS攻击外,还有一类DDoS攻击主要针对应用层。随着互联网的高速发展,访问流量逐年增加,而承载这些流量的网络应用也成为黑客和黑客的目标,DDoS攻击场景也不例外。由于应用层流量更接近业务逻辑,在应用层发起DDoS攻击会同时对目标网络和目标服务器的稳定性造成威胁。此外,攻击者往往只需要很小的带宽成本就可以达到更大的破坏效果。这样的不对称性自然更受攻击者的关注和青睐。Cloudflare在《DDoS Attack Trends for 2022 Q1》报告中指出,应用层DDoS攻击(主要是HTTPDDoS)在全球范围内呈持续增长趋势。HTTPDDoS攻击在俄乌网络战争中也发挥了重要作用。同时,应用层DDoS攻击的攻击手段和手段也在不断演进和升级。逐渐从集中式高频请求向分布式低频请求演化,从带有明显恶意特征的请求报文向重播合法请求流量、伪造搜索引擎爬虫流量等;而在攻击频率和规模上,应用层DDoS攻击也呈现增长趋势。针对攻击手段的升级变化,业务防护可以从两个方面进行应对:一是在运营对抗上,在攻击前、攻击中、攻击后三个阶段,通过资产信息梳理、攻击报文分析、通过特征提取、防护策略配置、防护数据审核等手段不断提升防护对抗效果;二是在防护能力建设方面,可以引入限速功能、JSChallenge、验证码等支持多维度特征组合的功能模块,提升对高级复杂DDoS攻击的防护识别和处理能力。应用层。同时,在流量接入链路上,配合CDN、LB、AGW等多种接入层产品,在不同接入层实施相关防护策略,实现攻击流量分级收敛。层DDoS攻击可以突出防护效果。0门槛,高收益,一键式攻击上面提到的应用层DDoS攻击是通过向应用程序发送大量恶意请求来达到攻击效果,攻击量级和规模以每秒请求数来衡量(QPS);攻击,也称为第7层DDoS攻击,可以针对和破坏特定网络应用程序而不是整个网络。此类DDoS攻击虽然难以防范和防御,但发起起来却相对容易,究竟有多容易呢?由于Layer7DDoS通常不需要过多的带宽成本,也不需要构造复杂的协议利用报文,发起Layer7DDoS的工具和服务可以在黑灰交易通道中非常方便的获得。即使是众所周知的、成熟的互联网应用程序,在面对此类攻击时也有被攻破的可能性和风险。HTTPDDoS攻击的类型和特征攻击类型在第7层DDoS攻击中,目标应用程序和服务的瘫痪是主要目标。根据HTTPDDoS(CC)攻击的原理和方法,可以归纳出以下几种攻击类型:HTTPfloods这种攻击主要分为两种形式。第一种是HTTPGET请求泛洪,攻击者通过构造HTTPGET请求报文向目标服务器发送大量对特定资源的请求。在客户端执行HTTP请求的成本很低,但在目标服务器上相应的响应成本可能很高。例如加载网页时,服务器通常需要加载多个文件、查询数据库等来响应;在Web服务的防护中,对具有SSR(Server-siderendering)功能的页面进行HTTPflood攻击的幅度和频率更加突出和明显,更容易对业务造成影响和危害。第二种类型是HTTPPOST请求泛滥。与GET请求泛洪的显着区别在于,POST请求往往需要携带表单参数或请求体信息,这通常意味着服务器需要对请求内容进行相关的解析处理,并将数据持久化(通常是DB操作所需要的)).发送POST请求一般只需要很小的计算和带宽开销,而服务器端处理操作的过程往往消耗更多。可以说,在这种攻击形式下,请求和响应之间的资源消耗差异存在更大的空间或可能性,更容易达到服务器过载和拒绝服务的目的。LargePayloadPOST请求此类攻击通常通过POST方式向目标服务器发送容量大、结构复杂的请求体,导致目标服务器在解析请求内容的过程中超载(CPU或内存);一般来说,攻击者构造特定的序列化请求体,如xml、json等,在服务端进行反序列化操作时造成服务过载。不对称请求这种类型的攻击,顾名思义,就是利用了请求和响应之间的不对称性。请求的目标路径会进行高消耗操作,很容易发起攻击请求。一般来说,这类攻击需要对目标服务有一定的熟悉和了解,清楚攻击目标哪里有这种不对称利用的可能性和利用方式。例如,通过从数据库服务器下载大文件或执行大量数据库查询等接口,很容易被此类攻击利用。Low&Slow攻击(Slowloris/SlowPost/Readattack)这类攻击更面向连接层面,针对基于线程的web服务器,通过慢速请求捆绑每个服务器线程,从而消耗服务器的线程&连接资源,这类攻击攻击方式可分为Slowloris、SlowPost/Read几种攻击方式。攻击特点综合上面总结的HTTPDDoS攻击的种类、原理和实现方法,可以得出HTTPDDoS攻击具有以下特点:攻击门槛低、成本低与4层DDoS攻击相比,HTTPDDoS攻击往往不需要构建复杂的攻击报告。文本,只需要较少的带宽就可以达到强大的攻击效果。更细粒度的攻击目标攻击目标可以细到服务接口的粒度,比如直播页面等,不会造成目标网络瘫痪,导致业务拒绝服务。危害范围广、危害程度高虽然HTTPDDoS攻击的首要目标是瘫痪目标服务,但这并不意味着对目标网络的可用性没有威胁。当HTTPflood的量级达到一定程度时,也有导致请求接入层网络瘫痪的可能。攻击源分布广,隐蔽性强在实际的HTTPDDoS攻击中,攻击者往往使用大规模的bot/proxyIP,HTTPDDoS攻击报文往往不具有或具有难以检测的恶意特征。禁止这些攻击源的效果有限,甚至存在误报风险,但攻击者可以随时更换新的一批攻击源。请求特征容易伪装,保护难度很大。与Web注入攻击场景不同,HTTPDDoS攻击请求的报文特征往往处于难以判断好坏的范围内。有时一些异常特征不足以支持拦截决策的实施。攻击者可以通过模拟和重放正常请求来发起攻击。即使请求包中的某些特征被防御者捕获并处理,攻击者仍然可以感知并做出调整。一般来说,复杂的HTTPDDoS攻击通常不会使用畸形数据包或伪装技术。与其他类型的DDoS攻击相比,它需要更少的带宽成本来瘫痪目标站点或服务,甚至是特定的目标集群和接口。在影响目标服务可用性的同时,也可能对接入链路网络的稳定性造成威胁。这类攻击往往是利用大量的僵尸程序+IP代理池发起的,简单的封禁策略往往难以达到预期的效果。正因如此,在HTTPDDoS攻击防护过程中,需要对业务有更深入的了解,针对攻击定制针对性的策略,以达到误报和漏报之间的平衡,这也是检测难度大的原因并保护HTTPDDoS。WAF如何对来兵进行有效防护?根据上述HTTPDDoS的类型和特点,WAF如何实现对攻击性攻击流量的有效防护?根据攻击原理和类型,大致可以分为三种主要的防护场景:连接型HTTPDDoS这种HTTPDDoS攻击对应的就是前面提到的Low&Slow攻击。由于攻击效果是通过建立TCP连接后传输HTTP包的过程实现的,对于层设备承载的服务(CDN、LB等)。因此,对于很多业务而言,对此类攻击的感知可能并不明显,但并不代表此类攻击的危害程度低。相反,如果针对特定的七层接入设备进行此类攻击,可能对业务造成的影响会更加广泛。由于此类攻击的特点是“速度慢”,WAF可以为HTTP请求头读取、请求、响应体传输设置超时时间。当触发超时策略时,可以断开对应的TCP连接,释放连接资源。同时可以对异常的header和body进行检查和限制(比如限制HTTP请求头的个数)。也可以通过HTTP层面细粒度的访问控制,避免误伤场景(比如正常业务的大文件传输场景)。当然,要实现这些能力,WAF和七层接入设备需要很好的配合,才能实现有效的防护。SignatureHTTPDDoS这种类型的HTTPDDoS攻击对应于上面的LargePayloadPOST请求和Asymmetric请求。它们的共同点是需要实施此类HTTPDDoS攻击,往往可以从HTTP请求报文中提取关键异常特征。例如,对于LargePayloadPOST请求,WAF可以通过限制body的长度,检查body内容的合法性来实现保护;{"title":"LiverpoolFC(100万以上的空白)","contentFormat":"html","content":"

LiverpoolFC

你永远不会独行。

","canonicalUrl":"http://jamietalbot.com/posts/liverpool-fc","tags":["football","sport","Liverpool"],"publishStatus":"public"}比如上面提到的超大异常body,可以通过WAF配置自定义策略限制body的长度。针对非对称请求的攻击,比如利用HTTPRangeheader,WAF可以通过限制HTTPRangeheader的分片策略实现异常检测和防护;利用WAF的Web漏洞检测和防护能力,可以实现对DDoS的有效防护。Floods-typeHTTPDDoSFloods-typeHTTPDDoS在实际网络流量中较为主流和普遍,影响业务稳定性的风险较大。是需要重点关注的保护场景;当面对此类攻击时,WAF可以根据DDoS攻击的特点和特点,分析和拆解防护策略,通过以下手段和步骤实现有效防护:第一步:链路梳理,明确业务场景当业务面临HTTPFlood攻击防护要求,首先要梳理业务流量访问链路。由于HTTP泛洪通常具有持续性、规模大的特点,最好的防护部署首先在最外层的接入层(如CDN)进行,优势明显,可以将恶意攻击流量保持在最外层收敛,减轻压力以及后续接入层的成本。但是,这并不意味着不需要在后续的接入层部署保护。由于保护的准确性往往与保护的成本正相关,融合后的流量可以在靠近业务的接入层进行更精细的检测和处理,收益往往更加明显。;同时,明确业务服务的使用场景在应对HTTPFlood攻击时也是非常关键和必要的。不同的业务宿主和路径往往具有不同的业务特性。比如后端负载能力,是否有登录状态,是WebApp还是NativeApp,是否有API调用场景等。只有明确了业务场景,才能更好的制定出准确的、符合业务需求的防护策略.业务链路排序&防护部署第二步:负载覆盖,构建防护基线。当HTTPFlood发生时,最基本的防护需求是保证业务的可用性,防止业务因攻击而瘫痪;在这种需求背景下,最快最有效的策略就是为业务制定负载覆盖策略。配合业务梳理目标资产(主机、服务器集群、路径等)负载能力达到后,进行更细粒度的限流/过载保护策略配置,优先保证服务的可用性在流量过载的极端情况下,构建基线保护能力。第三步:恶意流量的特征分析和过滤通过上述策略实现初步防护后,还需要对HTTPFlood流量进行进一步的分析和过滤,在保证业务流量正常的情况下将恶意流量拒之门外。这里需要WAF提供基于HTTP请求和响应报文的多维度组合匹配能力,识别报文中的异常特征,并提供针对性的处置方式。例如,在打击针对业务的恶意HTTPFlood攻击过程中,除了提取常见的异常IP、Params、UA、Referer、Cookie等特征进行封禁或限速处理外,还将相关特征进行组合关联形成策略统计和响应处置提供参考。通过对攻击流量特征的分析统计,在WAF上进行组合策略配置,不仅通过WAF丰富的特征分析能力识别恶意流量,而且在面对HTTPFlood攻击时提供丰富的梯度处置动作,平衡风险保护过程中的意外损坏。非常关键。WAF可提供封禁、限速、重定向、验证码、JSChallenge、自定义响应、特征识别等多种处理动作,保障防护的准确性。第四步:能力联动,提升防护效果对于专业的HTTPFlood攻击,攻击者会尽可能地模拟和重放正常的用户请求流量。因此,识别和保护来自“HTTP数据包特征”的恶意流量可能不足以应对高级和复杂的HTTP洪水攻击。对于HTTPFlood攻击手段的不断升级和演进,除了在HTTP报文层面识别异常,还需要联动其他维度的信息和能力,提升防护效果。具体体现在以下几个方面:对于高级隐藏的HTTP泛洪攻击,攻击者必须需要足够的IP资源。这些IP通常来自“肉鸡”IP或IP代理池。结合优质IP情报信息,在攻击发生时实时自动处理,实现精准防护;同时,专业的HTTPflood攻击离不开自动化工具的支持,往往具有BOT的特点。通过收集和验证设备端信息,并与每个请求关联,在攻击发生时自动识别恶意BOT流量,进一步提高防护效果。WAF的JSChallenge功能就是一个通过能力联动提升防护效果的例子:不同于“被动”的检测请求包识别异常的防护方式,JSChallenge功能“主动”为客户提供了嵌入一段JS逻辑在最后。利用前端浏览器的JS渲染执行能力,实现异常流量的识别;在具体实现过程中,为了抵抗重放攻击,降低被绕过的风险,可能会引入动态令牌机制;为了更全面地覆盖业务场景,减少误伤,可以使用JSAPI调用判断浏览器环境和兼容性;为了实时掌握保护情况,还可以引入埋点、监控逻辑等。在实现这些技术细节的过程中,WAF不仅需要具备链接端侧浏览器的能力,还需要具备链接CDN、LB等访问组件的能力,最终实现防护效果的进一步提升。回顾与反思,如何快一步WAF在对抗HTTPDDoS攻击的过程中,不断构建和强化自身的能力。同时,也需要不断审视和反思保障形势,争取更加完善、高效的应对思路和解决方案。具体可以概括为以下三点:丰富的特征维度根据HTTPDDoS攻击的特点,防御的难点之一是难以捕捉到攻击流量的特征。其中一个原因是基于现有的特征维度,攻击流量可以实现高度的模拟伪装。由此看来,从保护的角度加入更多维度的特征,可以更好地识别和检测恶意流量。就WAF产品而言,可以从两个方面进行提升:一是丰富消息特征,除了对七层HTTP消息进行特征提取外,可以尝试结合四层消息的字段因素来实现识别和标记恶意流量;另一方面,它具有丰富的行为特征。由于HTTP是一种无状态协议,因此单个请求-响应交互所携带的信息通常是有限的。通过对具有一定关系的请求进行关联统计,提取行为特征也可以为防护策略的制定提供参考。改进BOT识别和对策BOT流量的识别和对策往往在HTTPDDoS攻击防护中起着重要和关键的作用。然而,正常的BOT流量往往与真实的业务流量混合在一起。这不仅需要识别BOT流量,还需要区分正常和恶意BOT流量,并具备应对恶意BOT流量的能力。在实施相关解决方案时,也需要紧密贴合业务场景。对于WebApp来说,大部分的正常流量都是由浏览器发起的,可以通过JSChallenge实现点对点验证和信息收集。在通过该方案保护WebApp场景的同时,需要在技术实现上不断迭代优化,以满足更多样化的业务场景需求。例如,对JS相关逻辑使用更高效的混淆方式规避旁路风险,对导入的JS资源实施缓存/优化策略,提升业务性能和用户体验。对于NativeApp,可以通过SDK集成验证和收集设备端信息。但无论采用哪种方式和场景,都需要更完善的意外伤害评估和监测体系来确保保障的准确性。对于无法准确识别恶意BOT流量的情况,还需要更丰富灵活的处理策略,进一步对流量进行过滤和验证。前期部署的策略是预防为主,防治结合。这是人类应对疾病威胁的重要准则,在网络安全领域同样适用。HTTPDDoS攻击往往会在没有警告的情况下主动发生。这意味着事中和事后的处理策略只能对当前的攻击起到应急补救的作用。因此,对于存在攻击风险的业务,提前梳理业务资产,提前做好战略布局更为重要。为了实现这一目标,我们可以从两个方面入手:一是与业务团队紧密配合,做好宣传引导工作,在WAF中对重点目标资产实施HTTPDDoS防护策略预配置产品;二是加强WAF的自动化分析能力,对承载业务的目标资产、负载能力、报文特征等数据进行自动化统计分析,输出相应的防护策略,对生产策略效果进行实时评估和校准,可以在提高保护效果的同时大大降低策略运行成本。