借助适用于 SmartNIC 的 BIG-IP VE 增强针对云/NFV 环境的 DDoS 保护

执行摘要:

Distributed Denial of Service (DDoS) 攻击作为活跃分子、犯罪分子、业内玩家甚至政府采用的一种蓄意破坏手段,已经变得愈发普遍。随着服务运营商实施 5G 基础设施和企业正在经历数字化转型,预计潜在攻击的规模和目标表面区域将不断扩大。再加上企业转向使用高效且具有成本效益的软件定义架构的趋势,使得如今针对云/NFV 环境的 DDoS 缓解比以往任何时候都更加重要。

本篇白皮书会介绍 DDoS 攻击机制相关信息,并会阐述如何通过Intel的FPGA PAC N3000 SmartNIC来增强F5的软件DDoS缓解解决方案,通过卸载到 SmartNIC 的嵌入式 FPGA,缓解高达 300 倍之多的 DDoS 攻击数量。

背景:

在如今高度依赖数字化、互相连通的社会,网络攻击会对企业、服务运营商和政府实体产生了重大负面影响。虽然新闻机构更多关注窃取保密资料用于勒索和敲诈的黑客活动,但许多恶意威胁制造者的意图仅是谋财。[1]在拒绝服务攻击 (DoS) 中,攻击者将连接到互联网的服务(例如,网站或邮件服务器)作为目标,并使其崩溃或无响应。DoS攻击可能是特制请求导致服务器软件故障的结果。

近几年来,愈发完善的编码实践和回归技术使得简单的 DoS 攻击成效不彰。因此,Distributed Denial of Service (DDoS) 攻击成为主流攻击手段;随着服务运营商实施 5G 基础设施和边缘计算,预计这一趋势将会持续。DDoS 攻击通常由图谋不轨的个人策划,并分布于遭入侵的僵尸网络(以协调方式连接的网络计算机设备)中。可以命令这些设备将攻击流量发送到受害设备或服务。[1]虽然按照大多数处理吞吐量标准,单个遭入侵设备的影响微乎其微,但一个大型僵尸网络中数千甚至数万台设备所发送的协调攻击,会使许多服务提供商遭遇无法承受的吞吐量水平。

对于依赖在线业务的企业来说,服务质量的下降和停机时间不利于盈利。电子商务特别容易受到中断的影响;服务每中断一分钟可造成数千至数百万美元的损失。如果沮丧的客户转而使用其他电子商务运营商,即便是不会造成中断的攻击仍有可能降低性能,导致实际收入损失。[2]

消费者互联网连接速度的提高和云端设备的日益普及,使 DDoS 攻击的可能性逐渐加大。互联设备本身较为特殊,确保此类设备安全无虞对于维系在线服务的安全性和可靠性必不可少。随着这些攻击可能性的增加,许多企业遭受 DDoS 攻击的风险也在加剧,原因在于朝向以软件为中心架构的转变。大多数基于软件的 DDoS 保护措施缺乏抵御大规模攻击所需的容量和性能。好在,通过将网络和安全功能从软件解决方案中进行卸载和缓解可用 CPU 压力,SmartNIC(最新一代的网络接口卡)也许会使局面有所不同。

本报告将利用来自真实攻击场景的证据定义多种攻击机制,然后展示 F5 的软件 DDoS 缓解解决方案 F5® BIG IP® Advanced Firewall Manager™、Virtual Edition (BIG-IP AFM VE) 如何与 Intel 的 PAC 3000 SmartNIC 进行增强。我们将会说明这一组合解决方案(SmartNIC 的 BIG-IP Virtual Edition 解决方案)缓解 DDoS 攻击的方式(数量可是同等纯软件解决方案的 300 倍之多)。

攻击方法
无状态攻击

无状态攻击可以用来针对状态协议,但不需要攻击者追踪恶意连接的状态。无状态攻击之所以大行其道是因为所需资源极少,并且可以与源 IP 地址欺骗一同使用。经典且使用最广泛的攻击形式始于对服务器的虚假请求,以打开有状态连接,而有问题的客户端(通常是僵尸网络节点)将永远不会意识到这一点。[1]TCP SYN 洪水攻击便是示例之一。在 TCP 连接设置过程中,3向握手始于客户端发送SYN数据包。当服务器接收到客户端发送的 SYN 数据包时,会立即为 TCP 套接字数据结构(持有会话的元组、序列号和状态)分配内存。然后服务器会以 SYN-ACK 数据包回复客户端。


图 1:完整的 TCP 3 次握手

常理来说,数据包丢失或通信速度慢可能会导致 SYN-ACK 数据包延迟或完全丢失。在传输重置并释放内存用于其他任务之前,服务器必须决定将套接字保持在半开状态的时间。[3]一种流行的DDoS技术是生成大量SYN数据包,以诱骗受害服务器为数千个虚假会话分配TCP套接字和内存。每秒数千个SYN数据包的攻击速度很快导致Web服务器消耗其所有内存。在此示例中,恶意攻击者具有优势; 攻击者知道不会使用任何会话,因此无需保留内存来跟踪您的会话。这使得攻击者可以将所有系统资源用于传输其他伪造 SYN 数据包。


图 2:使用哄骗源 IP 地址的 SYN 洪水

由于无状态协议可以与哄骗源地址产生极佳的联用效果,所以该类协议非常易于遭到利用。[4]由于无状态协议不需要握手,所用对手设备资源最少且可以隐藏对手身份,向服务器传输单独的特制数据包即会发起响应。[5]来自受害者的数据响应数据包会被转发到哄骗 IP(可能是一个单独的受害者地址);在数量上,这些数据包可以使互联网连接或服务器速度变慢或遭到禁用,从而让此类攻击的效果更加显著。

放大攻击

另一类无状态攻击称为放大攻击,包括 DNS 泛洪和 NTP 泛洪。两者都使用地址欺骗作为攻击途径的一部分。放大攻击的破坏性极强,因为服务器的响应可能比原始请求大一个数量级。


图 3:反射型 DNS DDoS 攻击图

2018 年,深受开发者青睐的代码管理服务 GitHub 遭遇了有史以来最大规模的 DDoS 攻击。据了解,在攻击高峰期间传入流量的增长速度可达到每秒 1.3 TB (Tbps)。这次攻击属于利用放大效应(使用广为使用的数据库缓存系统 Memcached)的分布式缓存 DDoS 攻击。在攻击过程中,攻击者借由虚假请求淹没了 Memcached 服务器,并且能够将攻击放大 5 万倍。[6]


图 4:僵尸网络策划的 DNS 放大攻击

尽管无状态攻击算是常见的 DDoS 威胁,但由于构造较为简易,发现、预防或缓解此类攻击并非难事。

有状态攻击

有状态 DDoS 攻击较为周密且难以防范。有状态攻击会与受害者完成握手,在其他方面与合法用户并无区别。这类攻击途径可以欺骗陈旧的 DDoS 防御机制,并且需要攻击机器上有更多的计算能力和内存。成功发动攻击的关键在于是否展现出合法请求行为。缓解这类攻击的难点在于如何进行适当的分类,区别真实的用户请求与恶意请求。

有状态攻击的一个简单示例便是模拟合法用户行为,利用大量攻击者(例如僵尸网络)创建足够多的流量。当受害者无法消耗或处理所有请求时,或者当服务的互联网连接容量达到饱和时,这些容量耗尽攻击就会成功。由于是特制用来模仿合法用户行为的流量,所以比较难于检测和区分恶意和合法流量。对于涉及某种握手机制的服务(比如可能包括挑战/响应、保密编码或 Cookie 交换),除非在响应方案中发现一个会使有效响应生成失效的漏洞,否则容量耗尽攻击可能是使受害者遭到利用的唯一方法。[7]

存在一类针对特定应用级服务的高级有状态攻击。其中之一便是以 HTTP 协议为目标,被称为“Slowloris”的攻击。这种攻击开始于恶意攻击者向 Web 服务器发送多个部分 HTTP“GET”请求,使服务器最大可用同时连接数达到饱和。攻击之所以能成功,是因为 HTTP 协议会在客户端发送请求命令时,使连接保持开放状态,而请求命令本身可以被分成多个数据包。恶意客户端会周期性地向服务器发送部分 HTTP 请求(中间有长达数分钟的空闲时间),并不会终止请求。


图 5:利用慢速 HTTP POST 的 RUDY 攻击

采用与 Slowloris 攻击类似方法的攻击有“Are You Dead Yet”或“RUDY”,手段是利用 HTTP“POST”命令缓慢地向毫无准备的 Web 服务器发送数据响应。[8]这两种方法所需执行资源极少,而且由于许多 Web 服务器的 HTTP 连接保持开放的默认超时时间为 5 分钟,所以所需带宽也极小。[1]

碎片泛洪攻击也是一种有效的状态攻击。这种技术可以与许多针对单一目的地的源端口和地址进行协调。遭受攻击的端点在试图重新组合每个碎片数据包时,会保存每个碎片数据包的状态。每一个独特的源端口和地址组合都需要由受攻击系统分配其他碎片缓冲区。当受攻击的系统试图保持所有碎片事务的状态时,源化碎片数据包的各种恶意系统能够“制压”受攻击系统的资源。

由于有状态攻击依赖于生成对受害者有效的响应,因此通常不可能欺骗攻击者的源地址。不过此项规则也有特例,就是攻击者可以入侵路由器或网络介质(有合法流量传输)的情况。在这种情况下,攻击者可以欺骗源地址,并在探查到受害者响应时生成有效状态响应(基本上是追踪连接状态)。[7]

DDoS 攻击测试

为了说明 F5 解决方案在缓解不同类型 DDoS 攻击方面的有效性,我们使用 IXIA 测试系统配置了一个测试环境:有已经生成符合标准的“合法”客户端流量和服务器响应的 IXIA XT80,还有已经生成恶意客户端攻击流量的 IXIA XGS12。测试配置为要建立稳定的合法客户端-服务器流量基线,同时骤然增加攻击流量,以确定攻击流量开始干扰成功交付合法流量的水平。这种方式可以允许对缓解效果进行可重复的说明和比较。在每次测试中,当观察到合法流量比既定基线下降 10% 时,即判定 DDoS 攻击已成功使系统受到影响。

测试环境

合法流量基准配置为 BIG-IP VE 系统(8vCPU 高性能 VE,已预配 BIG-IP AFM 模块)容量的 20%。由于该系统的交易能力为 40Gbps,因此合法流量基准维持在 8Gbps。

使用 BIG-IP AFM VE 的软件缓解

BIG-IP AFM VE 通过为不同分类的流量(如 UDP、碎片、TCP SYN 等)建立允许的阈值来缓解 DDoS 攻击。一旦超过某一特定流量类型的阈值,系统可以被配置为丢弃所有符合该分类的流量,从而可以减少系统处理该类型流量的进一步成本。虽然与未受保护的系统相比,基于软件的 DDoS 解决方案可以提供某种益处,但软件以线路速率处理数据包的能力会受到限制,这意味着软件缓解不能完全阻止 DDoS 攻击带来的影响。

测试的下一步是确定仅使用适当的软件解决方案即可开始中断合法流量所需的DDoS流量速率。此举是为了在纯软件解决方案和 SmartNIC 的 BIG-IP VE 解决方案之间进行性能比较。BIG-IP AFM 测试的架构系统配置可参见图 6。


图 6:BIG-IP AFM VE(纯软件)测试的架构系统配置

为了进行更为全面的分析,BIG-IP AFM VE 的 DDoS 缓解性能的数据采集对象是三类不同的 DDoS 攻击。本次模拟的攻击类型包括:

  • 攻击类型 1 - UDP 洪水攻击:这种无状态容量耗尽攻击会向目标服务器发送大量的用户数据报协议数据包,目的是影响该服务器的处理和响应能力。
  • 攻击类型 2 - 圣诞树攻击:这种攻击使用圣诞树包,叫法来源于数据包的所有选项都设置为“开启”,所以可以使用任何协议,有点像是“点亮的圣诞树”。这些数据包需要比其他数据包更多的处理能力,当大量发送此类数据包时,会迅速消耗终端设备的计算能力。
  • 攻击类型 3 - IP 短碎片攻击:这种常见的容量消耗 DDoS 攻击通过利用数据报碎片流程,使网络不堪重负。惯用伎俩便是发送无法重新组合的虚假数据包,而且数据包的大小会超过网络的最大传输单位 (MTU),通过耗尽 CPU 资源,这些攻击会迅速淹没服务器。

图 7 显示了在使用 BIG-IP AFM VE(纯软件)时,上述各种攻击类型要影响合法流量所需的流量(单位为 Gbps)。


图 7:使用 BIG-IP AFM VE(纯软件)影响合法流量所需的 DDoS 速率

并非所有 DDoS 攻击都如出一辙。有些攻击会比其他攻击有着更广泛的系统分布,有些攻击需要更多的数据包检查和解析才能予以识别。从上图可以看出,这会导致 DDoS 攻击产生不同的影响。这三种模拟攻击方法表明,当使用纯软件解决方案时,合法流量可以在相对较低的吞吐量下受到 DDoS 攻击的影响。

利用 SmartNIC 的 BIG-IP VE,让智能网卡协助缓解措施

用于SmartNIC的BIG-IP VE解决方案由与Intel FPGA PAC N3000 SmartNIC集成的8vCPU高性能AFM VE(与纯软件测试中使用的相同)组成。这样可以将 DDoS 防御卸载到 SmartNIC 上。嵌入在此 SmartNIC 内的 FPGA 已被编程为自动检测和阻止超过 100 种不同类型的已知 DDoS 攻击,同时还会使用行为分析来缓解未知且不断变化的威胁。

通过监控入口流量中所有编程流量配置文件的数据包接收率,并与可接受的配置阈值进行比较,FPGA 可以确定超过阈值的时间。当发生这种情况时,FPGA 会执行适当的策略,以丢弃超过配置最大值的流量。这便可以保护 CPU 子系统,避免处理最终将因 DDoS 缓解策略而被丢弃的数据包流量。由于 FPGA 能够按线路速率对数据包流量进行分类(与 CPU 子系统不同),因此启用 SmartNIC 的解决方案会比纯软件解决方案具备更显著的优势。

在此次演示的下一步,启用 SmartNIC 的解决方案在测试环境内会受到同样的三次 DDoS 攻击。与之前一样,目标是确定影响合法流量流所需的 DDoS 流量速率。图 8 显示了 SmartNIC 的 BIG-IP VE 测试的架构系统配置。


图 8:用于 SmartNIC 的 BIG-IP VE 测试的架构系统配置

此次测试结果如图 9 所示。


图 9:使用 SmartNIC 的 BIG-IP VE 解决方案,影响合法流量所需的 DDoS 速率

结论

据观察,F5 的纯软件 DDoS 解决方案 (BIG-IP AFM VE) 可以在合法流量受到不利影响之前,对小规模的攻击提供一定程度的保护,但该方案无法阻止较大规模攻击所带来的负面影响。将 BIG-IP AFM VE 与 Intel 的 FPGA PAC N3000 SmartNIC 集成,组合成 SmartNIC BIG-IP VE 解决方案,此解决方案可以使性能得到显著改善。通过将缓解 DDoS 威胁的任务从 BIG-IP AFM VE 卸载到 SmartNIC 内的 FPGA,组合式解决方案能够防御 41 至 381 倍数量之多的攻击(包括 30Gbps 及以上速率的攻击)。对于有云优先需求的企业和服务提供商来说,该解决方案可以为专用硬件提供高性能保护,同时提供云环境的灵活性和敏捷性。此外,由于 FPGA 可以重新编程,因此可以随着威胁的变化演进,增强其他网络和安全功能。

G. D. Hakem Beitollahi,《分析针对分布式拒绝服务攻击众所周知的对策》,Computer Communications,2012 年。
2 H. W. Chuan Yue,《电子商务网站中的利润感知过载保护》,Journal of Network and Computer Applications,卷 32,第 347–356 页,2009 年。
A. M. Christos Douligeris,《DDoS 攻击和防御机制:分类和先进技术》,Computer Networks,卷 44,第 5 期,第 643-666 页,2004 年。
G. D. Hakem Beitollahi,《分析针对分布式拒绝服务攻击众所周知的对策》,Computer Communications,卷 35,第 11 期,第 1312-1332 页,2012 年。
5 M. Prince,《深入了解 DNS 扩大 DDoS 攻击》,CloudFlare,30 10 2012. [线上]。网址:https://blog.cloudflare.com/deep-inside-a-dns-amplification-ddos-attack/。[接收于 1 11 2015]。
6 US-CERT,《基于 UDP 的扩大攻击》,2015 年 8 月 19 日。[线上]。网址:https://www.us-cert.gov/ncas/alerts/TA14-017A
7 Y. T. W. D. Shigang Chen,《有状态 DDoS 攻击和定向筛选》,Journal of Network and Computer Applications,卷 30,第 3 期,第 823-840 页,2007 年。
8 https://www.incapsula.com/ddos/attack-glossary/rudy-r-u-dead-yet.html,“R.U.D.Y. (R-U-Dead-Yet?)”,[线上]。网址:https://www.incapsula.com/ddos/attack-glossary/rudy-r-u-dead-yet.html。[接收于 9 12 2015]。

Published July 27, 2020
  • Share to Facebook
  • Share to X
  • Share to Linkedin
  • Share to email
  • Share via AddThis

Connect with F5

F5 Labs

The latest in application threat intelligence.

DevCentral

The F5 community for discussion forums and expert articles.

F5 Newsroom

News, F5 blogs, and more.