通过QUIC通信协议执行的检测和缓解DDoS攻击的制作方法

文档序号:30913014发布日期:2022-07-29 20:48阅读:443来源:国知局
通过QUIC通信协议执行的检测和缓解DDoS攻击的制作方法
通过quic通信协议执行的检测和缓解ddos攻击
1.相关申请的交叉引用
2.本技术要求于2019年12月31日提交的、目前未决的美国专利申请no.16/731,441的权益,该申请要求于2019年9月26日提交的美国临时申请号62/906,432的权益,该两申请的内容通过引用并入本文。
技术领域
3.本公开总体涉及网络安全,并且具体地涉及检测和缓解在快速udp因特网连接(quick udp internet connection,quic)通信传输层协议上执行的拒绝服务(denial of service,dos)和分布式拒绝服务(distributed denial of service,ddos)攻击。


背景技术:

4.快速udp因特网连接(quic)协议是改进的基于udp的因特网传输协议。quic协议与传输控制协议(transmission control protocol,tcp)的作用类似,作为用于通过因特网连接计算机的传输层。quic与tcp相比具有若干优点,主要在增强的性能方面,例如得以减少的时延和可靠性、具有持续加密的安全性,以及与用户空间运行容量和udp的使用的可部署性。由于quic协议相对较新,所以其实现不如tcp的实现那样普遍,并且对应的安全特征保持较少且甚少被定义。然而,在未来几年中,预期使用quic作为tcp的更低时延、更高可靠性的替代而增长,特别是在企业、服务提供商、云提供商等之中。quic协议标准当前由在quic工作组的ietf定义;当前定义可以在ieft的于2019年11月出版的“ieft quic transport”的因特网草案工作文件中找到。
5.拒绝服务(dos)和分布式拒绝服务(ddos)攻击是这样的网络攻击类型:攻击者将具有访问请求的目标计算机、网络基础设施、服务器或系统过载到目标计算机变得不能够实现目标计算机的预期目的点。dos/ddos攻击(下文统称为ddos攻击)可以潜在地在网络层上执行,例如使用tcp/udp/因特网协议(internet protocol,ip)层,或者在各种应用层上执行,例如使用http/s层。例如,ddos攻击的常见类型syn洪泛(flood)、滥用tpc协议行为、依赖于协议的建立的“握手”例程、允许攻击者用同步请求洪泛目标、接收目标的确认、以及拒绝发送目标所期望的第二确认,从而留下不完整的模式、耗尽目标资源并且封锁合法用户。
6.随着quic协议的实现的增长,系统管理员和网络设计者以及个人和商业用户可能可以期望看到通过quic通信的滥用而出现的类似攻击模式。相对于通过tcp连接执行的ddos攻击,通过quic连接执行的ddos攻击的检测相对困难。
7.此外,quic协议在其上通信的udp库缺乏速率不变的属性,而这些属性可以从tcp连接导出。因此,检测恶意quic流量并将quic流量与合法洪泛(例如,快速人群场景)区分的过程对于quic连接比对于tcp连接困难得多。在采用quic协议之前,缓解ddos攻击,并且特别是对基于tcp的服务(web)的攻击,包括阻塞所有udp流量。包括udp流量的毯式阻塞的解决方案可能引起不可接受的服务中断,并且可能被认为对于在quic连接上的攻击的缓解是
不可接受的。
8.此外,quic协议被设计为避免中间盒设备(例如,安全设备,如防火墙、攻击缓解器、nat设备和其他设备等)的僵化。分析quic流量时的另一挑战是大多数quic流量可以被加密。因此,与基于tcp的流量的解决方案相比,通过quic的安全解决方案,特别是攻击检测和缓解,更复杂,并且实现更具挑战性。
9.另外,由于协议的相对演进,用于识别、表征和缓解对quic连接的攻击的技术开发较少,并且未被优化。因此,通过quic通信的计算机和服务器处于较高的网络攻击风险中。
10.因此,有利的是,提供一种克服上述缺陷的网络安全解决方案。


技术实现要素:

11.下面是本公开的若干示例实施例的概述。提供本概述是为了方便读者以提供对这些实施例的基本理解,而不是完全地限定本公开的范围。本概述不是所有预期实施例的广泛综述,并且既不旨在标识所有实施例的关键或重要元件,也不旨在描绘任何或所有方面的范围。其唯一目的是以简化形式呈现一个或多个实施例的一些概念,作为稍后呈现的更详细描述的序言。为了方便起见,术语“某些实施例”可以在本文中用于指代本公开的单个实施例或多个实施例。
12.本文公开的某些实施例包括用于针对基于快速udp因特网连接(quic)的拒绝服务(ddos)攻击进行保护的方法、系统和计算机可读介质。该方法包括:从指向受保护实体的至少流量提取流量特征,其中,流量特征表示指向受保护实体的quic用户数据报协议(udp)流量的行为,其中,提取的流量特征包括至少一个基于速率的特征和至少一个速率不变特征,并且其中,至少流量包括quic分组;计算至少一个基于速率的特征和至少一个速率不变特征中的每个的至少一个基线;以及分析指向受保护实体的流量的实时样本,以检测与至少一个计算的基线中的每个的偏差,其中,偏差指示检测到的quic ddos攻击;以及当确定检测到的quic ddos攻击的指示时,执行至少一个缓解动作。
13.本文公开的某些实施例包括用于针对基于udp因特网连接(quic)的快速拒绝服务(ddos)攻击进行保护的方法、系统和计算机可读介质方法。该方法包括:从指向受保护实体的至少流量中提取至少一个基于速率的特征,其中该至少一个基于速率的特征表示指向受保护实体的quic用户数据报协议(udp)流量的行为,并且其中该至少流量包括quic分组;计算至少一个基于速率的特征中的每个的至少一个基线;分析指向该受保护实体的流量的实时样本,以检测与所计算的至少一个基线中的每个的偏差,其中该偏差指示检测到的quic ddos攻击;以及当确定检测到的quic ddos攻击的指示时,执行至少一个缓解动作。
附图说明
14.在说明书结尾处的权利要求书中特别指出并明确要求保护本文所公开的主题。所公开的实施方案的前述和其他目的、特征和优点将从结合附图进行的以下详细描述而变得显而易见。
15.图1是用于描述根据实施例的用于检测和缓解检测器的quic ddos攻击的各种实施例的网络图。
16.图2是示出了根据另一实施例的检测器的路径外部署的网络图。
17.图3是示出根据实施例的检测器的运行的图。
18.图4是示出了根据实施例的用于检测quic ddos攻击的方法的示例流程图。
19.图5是根据实施例实现的检测器的示例框图。
具体实施方式
20.非常重要而值得注意的是,本文公开的实施例仅是本文的创新教导的许多有利的用途的示例。一般而言,在本技术的说明书中做出的陈述不一定限制各种要求保护的实施例中的任何一个。此外,一些陈述可以应用于一些发明特征,但不适用于其他。一般而言,除非另外指示,否则单数的元件可以是复数,并且反之亦然,而不失一般性。在附图中,相同的附图标记在若干视图中指代相同的部分。
21.图1示出了示例网络图100,用于描述检测和缓解通过quic通信协议执行的ddos网络攻击(以下称为quic ddos攻击)的各种实施例。
22.在图1的示例中,网络110实现quic使能服务器120与受保护实体130和135之间的连接。在又一实施例中,仅部署受保护实体130或135中的一个。每个受保护实体可以包括服务器、web服务器、媒体服务器等。每个这样的服务器可以被实现为物理服务器或虚拟实体(例如,功能、软件容器、微服务器等)。
23.在示例部署中,图1中还示出了最终用户设备(end-user device,eud)140,eud140可以是任何用户设备,诸如台式计算机、笔记本电脑、移动设备、手持设备等。客户端设备155和攻击工具150也连接到网络110,并且可以向受保护实体130和/或135发送quic流量。为了说明所公开的实施例,客户端设备155是合法客户端(由真实用户和quic使能浏览器操作),并且攻击工具例如由机器人(bot)操作。此外,受保护实体130是quic使能服务器,并且受保护实体135是不使用quic传输协议而是使用tcp协议通信的服务器。
24.eud 140可以利用quic协议通过网络(110和115)与quic使能服务器120通信。
25.通常,网络110可以是任何类型的通信网络,例如无线、蜂窝、局域网(local area network,lan)、广域网(wide area network,wan)、因特网或其任何组合。图1中还示出了网络115。网络115可以是边缘网络,并且可以包括企业数据中心、企业系统、移动网络、宽带网络等。
26.quic ddos攻击的检测由防御系统101执行,该防御系统101被配置为执行各个公开的实施例。防御系统101包括检测器160和缓解器170。在一个实施例中,防御系统101被内嵌部署在受保护实体130、135和网络110之间,并且被配置为检查去往和来自实体130、135和eud 140的入站和出站流量。在另一个示例实施例中,防御系统101被配置为仅检查入站流量。
27.在另一实施例中,如图2所示,防御系统101被部署在路径外,并被配置为从受保护实体以及网络110和115接收流量特征。用于分析流量以检测和缓解攻击的实施例在两个部署中是类似的。应当注意的是,在从网络110接收各种流量特征时,图2中的部署也使得能够保护网络110免受基于quic的ddos攻击。可以参考图1讨论实施例以便于理解根据实施例的示例。
28.缓解器170可用于缓解检测到的ddos攻击。缓解器170可以包括流量清理功能(以移除恶意流量并将干净流量返回到受保护实体)、配置成生成web和其他挑战(challenge)
的资源、警报系统等或其任何组合。quic ddos攻击的检测和缓解可以包括用于处理和防范各种类型的此类攻击的机制,包括但不限于quic udp洪泛、quic连接洪泛和quic http洪泛,其中所有攻击都以各种方式通过quic通信协议执行。在示例实施例中,攻击工具150可以在一段时间内单独地使用上述方法中的每一种,或者同时使用这些攻击类型的组合。
29.防御系统101连续检查入站的,并且在实施例中,连续检查进出受保护实体130、135、网络110、网络115和eud 140的quic流量。在典型的部署中,进出受保护实体130、135的流量显示出相对高的容量和一致性。然而,进出eud 140(作为端点)的quic流量显示出“突发”特性,具有相对低的容量和稀疏的流量周期。
30.为了发起quic洪泛攻击的各种策略,攻击工具150使用quic udp流量来生成朝向指定目的地受害者的udp流量的恶意的精心策划的洪泛。滥用quic协议来生成ddos洪泛攻击的攻击者可能采取若干方法来执行基于quic的ddos攻击。可以使用单个方法或作为由可能的方法的组合组成的多向量攻击来执行攻击。
31.攻击工具150可以生成quic udp洪泛形式的攻击,具体地使用quic udp流量(端口443或80)来生成指向受保护实体的quic非结构化udp流量的洪泛。在这种情况下,由攻击工具150生成的流量不必符合quic协议标准。通过简单地发出由quic长报头和/或quic短报头分组组成的非常大量的quic流量的流来执行攻击。在另一示例中,攻击工具150可以使用网络层ddos洪泛攻击工具(例如,具有或不具有欺骗其ip地址的hping),而不是完整的quic栈,以便通过淹没受害的网络基础设施来实现其目标。这里,攻击工具150滥用了一个事实,即udp流量不能被阻塞以便缓解基于udp的洪泛。
32.在又一示例中,攻击工具150用于通过使用quic流量模拟合法出现的quic流量来执行quic http洪泛攻击,以便产生淹没网络基础设施并且潜在地压倒受保护实体的资源的大量udp流量。攻击流量完全符合quic标准,并且因此由“合法出现的”quic连接的洪泛组成。在又一示例中,攻击工具150使用基于http/3的洪泛工具或类似工具,其使用quic作为传输层。
33.在又一个示例中,攻击工具150通过在短时间段期间向指定的目的地受害者130或135发送大量quic连接发起(connection initiation)请求,即,带有发起quic连接的请求的quic长报头或初始分组(initial packet)的洪泛,来执行quic连接洪泛攻击。这样的请求的数量可以在每秒数千到数十万或数百万请求的范围内。然后,请求被受保护实体(例如,实体130)接受,并且发起新连接。攻击工具150可以继续发送quic连接发起请求,而不管受保护实体130(或甚至135的实施例)是否响应这样的请求。
34.quic连接洪泛还可以是“有状态的”quic连接的洪泛形式。在这种情况下,攻击工具150完全符合quic标准,并且能够完成连接设置,并使用这些建立的quic连接来用包括大量字节和分组、长持续时间、短持续时间和此类策略的组合的大量并行quic连接淹没quic使能的受保护实体130。
35.quic ddos攻击可以源自因特网或服务提供商网络内部。quic攻击可以寻址附着组织的“在线”服务的ip地址。此外,一些quic攻击流量可以以该组织的nat地址而不是以该组织的连接服务的地址为目标。这个实施例主要发生在攻击目标是eud140时。
36.总之,quic ddos攻击的主要类型包括quic udp洪泛;quic http洪泛;和quic连接洪泛。quic udp洪泛攻击类型的特征在于大量的udp流量淹没网络基础设施,或者特征可以
在于大量发起quic连接的请求,淹没服务器的资源。quic http洪泛攻击类型的特征在于大量的quic连接流量淹没网络基础设施,并且大量的并发quic连接淹没服务器的资源。quic连接洪泛攻击类型的特征在于大量的quic连接入口流量淹没网络基础设施,和/或大量的请求发起quic连接淹没服务器的资源,和/或大量的并发quic连接淹没服务器的资源。
37.为了保卫受保护实体和网络基础设施,防御系统101提供了各种保护。这些保护包括:quic“洪泛”保护,以防止udp字节和/或分组的恶意增加;quic“连接发起”保护,以防止quic长报头分组的恶意增加;以及quic“连接限制”保护,以防止现有/新quic连接的数量的恶意增加。
38.说明quic连接的传输的示例可以包括quic分组、quic流和quic帧。在建立或设立quic连接后,客户端节点与其对等节点(例如,服务器或主机节点)连接。所建立的连接具有指定的udp通信端口,通常但并不排他地是端口443或端口80,以及唯一的quic连接id。
39.quic连接支持传统上由tcp和tls协议两者共同支持的传输特征,包括但不限于传输握手、拥塞控制和避免、流控制、tls 1.3加密握手、其它安全特征等。每个quic连接基于源和目的地连接id来识别。连接id不唯一地识别单个quic连接,并且由于连接id可在quic连接期间更新,所以可为相同的单个quic连接识别若干连接id。还可注意的是,quic协议行为的实际定义为ietf quic wg的正在进行的努力。
40.在说明如ietf quic wg所定义的quic分组内容的示例中,quic分组可以由未加密的报头和加密的有效负载组成。因此,两种类型的quic分组被定义为长报头quic分组和短报头quic分组。
41.长报头quic分组使用明文长报头与quic分组加密有效负载一起发送,并且在quic连接握手过程期间用于建立quic连接,并且相互交换关于对等系统的各种属性(主要是传输和密码属性)。长报头明文quic分组可以用“报头格式位”来标识,该“报头格式比特”以明文形式出现在quic报头中。长报头还包括目的地连接id和源连接id,作为明文属性,简单地标识长报头quic分组所属的quic连接。在实施例中,实际quic连接发起请求由特定类型的长报头quic分组,“初始分组”执行。
42.使用明文短报头发送短报头quic分组,并且一旦建立quic握手,就使用短报头quic分组,以便通过quic连接传递数据。短报头quic分组也可通过明文“报头格式位”容易地识别。短报头quic分组也可包括明文的目的地连接id,允许分组所属的quic连接的简单识别。
43.根据所公开的实施例,通过连续检查驻留在quic分组的明文长报头和短报头中的明文信息,防御系统101被配置为检测和缓解异常流量和上述各种情况以及其它ddos攻击。
44.在实施例中,指向受保护实体的每秒长报头分组的数量与其客户端(例如,客户端设备155或攻击工具150)尝试建立的quic连接的数量成比例。因此,在该属性上检测到的异常可用作以大量发起quic连接的请求的形式的quic连接洪泛的指示符。
45.在另一示例中,类型为“初始分组”的quic长报头分组的数量也可以提供连接用户可能尝试建立的quic连接、客户端或攻击工具150的数量的甚至更有粒度的评估。通过对在预定义时间段期间接收的被指定为“初始分组”类型的长报头分组的数量进行计数来提取这个特征。
46.在另一实施例中,出现在短报头中以及在长报头中、分组中的、指向受保护实体的
分组中的明显活动连接id(active connectionid)的数量(明显活动连接id的数量被定义为具有非零数量的字节和在预定时间段期间在其上发送的分组的唯一连接id的数量)可以与并发的活动quic连接成比例。因此,在该属性上检测到的异常可以用作以攻击者启动的、大量并发quic的合法出现的连接的形式的quic连接洪泛的指示符。以类似的方式,对出现在发送到受保护实体的短报头和长报头分组中的明显新活动连接id的数量进行计数,可以与在一段时间期间新活动quic连接的速率成比例。可以在该属性上检测异常,以进一步用作quic连接洪泛quic ddos攻击类型的指示符。
47.在示例实施例中,在发送到受保护实体的短和长报头分组中出现的超过活动连接id的字节和分组的数量可以与quic连接的平均大小成比例。在这个属性上检测到的异常可以用作quic http洪泛和quic连接洪泛的指示符。这里,可以基于平均quic连接大小的增加或减少来检测异常。
48.上述属性主要在入站方向测量,即从网络110到受保护实体。应当理解的是,也可以在相反的出站方向测量这种流量属性。
49.因此,为了检测和缓解异常流量模式,防御系统101可以被配置为评估某些基于速率的属性以及某些速率不变属性,持续地将这些属性作为基线,并随着时间的推移搜索这些属性中的异常。需要基于速率的属性来发现各种quic流量分量上流量速率增加或洪泛的情况,而速率不变属性被用于区分恶意洪泛或攻击与合法洪泛情况,如快速人群场景。
50.根据所公开的实施例,检测器160执行各种类型的quic ddos攻击的检测。为此,检测器160被配置成提取包括基于速率和不变速率流量特征的流量特征。每种类型的quic ddos攻击可以使用一组合适的流量特征来检测。流量特征从检查的流量或接收的遥测中提取。提取的特征被基线化,并且然后基于各自的基线以及这些基线与相应的实时值的比较来检测任何异常。在又一实施例中,检测器160被配置成仅提取和分析基于速率的特征。
51.在图3中进一步展示了检测器160的运行。检测器160在被内嵌部署时被配置成接收去往和来自受保护实体130和135的入站/出站流量,并且从所接收的流量提取流量特征。在示例实现方式中,特征提取引擎310被配置成提取或以其他方式计算流量特征。本文讨论了用于特征提取的各种示例实施例。在又一实现方式中,其中出口流量可能是不可用的,因为检测器的部署可以是不对称的,特征提取仅在入口流量上实现。
52.根据所公开的实施例,为了提供quic洪泛保护,需要首先检测quic洪泛的情况。为此,提取了以下基于速率的流量特征:每秒长报头分组的数量;每秒quic总分组的数量;以及每秒的quic总字节的数量(即,在最后一秒内,quic分组中所包含的带宽或总累积字节数量)。此外,提取以下速率不变的流量特征:长和短报头的quic分组大小的平均;长报头比率,即quic长报头分组(和字节)与总quic分组(和字节)之间的比率,以及quic长报头分组(和字节)与quic短报头分组(和字节)之间的比率;以及长和短报头的每活动连接id的字节和分组的数量。
53.为了提供quic“连接发起”保护,要求首先检测发起到受保护实体130和135的quic连接的请求组上的异常情况。为此,提取以下基于速率的流量特征:每秒长报头分组的数量;以及设置为“初始分组”的每秒长报头分组的数量。此外,提取以下速率不变的流量特征:具有设置为“初始分组”的长报头的分组的数量与具有长报头的总分组之间的比率;具有长报头的分组与具有设置为“初始分组”的长报头的分组之间的比率;具有长报头的分组
与客户端问候分组之间的比率;客户端问候分组与长报头分组之间的比率;以及具有长报头的分组与所有流量(以字节和分组为单位)之间的比率。这些特征可以一般地称为长报头比率。
54.为了提供quic“连接限制”保护,要求首先检测由受保护实体130和135管理的现有和新quic连接的数量上的异常。为此,提取以下基于速率的流量特征:每秒活动连接id的数量;以及每秒新活动连接id的数量。此外,提取以下速率不变流量特征:长和短报头的每活动连接id的平均字节数的增加;以及长和短报头的每活动连接id的平均字节数的减少。
55.上述流量特征的提取包括监控udp端口(例如,端口443或端口80)和检查quic协议的清晰报头。报头是明文报头(即,未加密)。存在两种类型的报头:使用“报头格式位”指定的长和短,设置为数值“1”(长报头)或“0”(短报头)。
56.为了提取每秒特征的长报头分组的数量,检测器160被配置为针对每个时间帧(例如,1秒)对在udp端口上接收到的所有分组计数,其中“报头格式位”被设置为“1”(即,长报头)。
57.为了提取每秒特征的quic分组的数量,检测器160被配置为,对于每个时间帧(例如,1秒),对在udp端口上接收的所有分组进行计数。为了提取每秒特征的字节的数量,检测器160被配置为,对于每个时间帧(例如,1秒),对在udp端口上接收的所有数据分组上的所有字节计数。为了提取平均quic分组大小特征,检测器160被配置为,将每秒quic分组的数量除以每秒字节的数量。为了提取长报头部分的特征,检测器160被配置为,将每秒长报头分组的数量除以每秒quic分组的数量。为了提取具有初始分组部分的特征的长报头,检测器160被配置为,将每秒长报头分组的数量除以具有每秒类型为初始分组的quic长报头分组的数量。
58.为了提取每活动连接id的平均字节和分组的数量,检测器160被配置为对在quic udp端口上接收的所有流量进行计数,quic udp端口属于每个活动连接id。这包括具有短报头和长报头流量的分组的字节和分组。然后,检测器160被配置为对所有计数进行求和,并且除以活动连接id的数量。在报头中指定连接id。应当注意的是,基于源和目的地的连接id来识别每个quic连接。连接id不唯一地识别单个quic连接,并且由于可以在quic连接期间更新连接id,所以可以针对同一单个quic连接识别若干连接id。
59.如图3中进一步展示的,提取的特征被馈送到基线引擎320-1、320-2和320-3,每个基线引擎被配置为在展示不同类型quic ddos攻击的行为的一组特征上运行,如图3的示例中标记的。应当注意的是,可以针对每个流量特征(基于速率的和速率不变的)计算基线。
60.每个基线引擎320可以采用各种技术来计算每个流量特征的基线。然而,由于quic流量可以显示“突发”特征(如寻址到eud 140),所以通过分解(factor)这样的突发行为(即,在具有高水平流量(合法或攻击)的udp上高突发跟随的没有流量的周期)来计算基线。
61.在学习周期期间计算基于速率的或速率不变特征的基线,学习周期可以被设置为预定义时间窗或直到装集和收集足够的数据。在平常时间建立基线或在平常时间装集数据,即当没有检测到攻击流量时。可以基于检查的流量的各种流量特征的样本来连续地计算每个特征的基线。在实施例中,基线主要在“突发”(活动流量)周期期间确定,而甚少在“下降”周期(“down”period)期间确定。
62.在一个实施例中,为每个流量特征计算两种类型的基线,短期基线和长期基线。短
期基线是为短期计算的,即为其寿命大致较短的变化计算的。短期周期可以是例如一小时。短期基线用于跟踪quic流量的每小时变化,因此检测由于quic流量行为的相对快速变化而引起的异常,如可在攻击时间期间观察到的。有价值的是跟踪流量的每小时变化,以便消除高和低时间周期期间的高攻击阈值,并且还跟踪繁忙周期或类似周期期间合法流量的变化。
63.长期基线是针对长期计算的,即反映流量的长期周期趋势的计算的变化。长期周期可以是例如一周。长期基线用于检测由于流量行为的缓慢变化而引起的异常。长期基线与短期基线互补,因为它可以消除攻击者“缓慢”改变攻击负荷的情况,该情况下攻击负荷可以被计算为合法基线。
64.可以使用iir lp滤波器来计算长期基线,该iir lp滤波器配置有低频限定的通带和阻带(例如,大约1/周的量级),而可以使用具有更高的通带滤波器和阻带滤波器(例如,分别具有1/小时和1/分钟的量级)的iir lp滤波器来计算短期基线。保持针对每个流量特征计算的两条基线。应当注意的是,每条基线是连续地更新的。
65.为了考虑所监测流量的突发特性行为,尤其是针对eud 140的流量的情况,基于以下假设计算基线:具有高流量水平的udp突发所跟随的零流量时段的预期可以是合法流量或者可以是攻击。此外,在学习时段期间,需要对合法流量x的部分进行持续的计算,其中x可以是用户定义的,可能在百分之三十到百分之五十的范围内。此外,在基线连续计算期间,需要消除所计算的基线以低于百分数x。应该以及时的方式更新百分数x。
66.类似地,仅对于实时流量值高于流量的x百分数的情况,主动地执行所监控的速率不变流量属性的突发特性行为的计数,尤其是对于寻址到eud 140的流量的情况。
67.由基线引擎320-1、320-3和320-3计算的基线被馈送到相应的异常检测引擎330-1、330-3和330-3中。引擎330-1、330-3和330-3中的每一个被配置为检测与所确定的基线的各种偏差以检测流量异常。
68.在实施例中,异常检测通过在平常时期间动态学习各种流量特征与它们的瞬时计算基线的典型最大偏差来执行。每个流量特征的实时样本在一段时间内以等于或大于/多于最大偏差的量超过基线的状态被认为是异常。
69.作为示例,异常基线阈值可以如下确定:
70.u(t)=y(t)+maxdev(t)
71.其中u(t)是异常阈值,y(t)是基线,并且maxdev(t)是在平常时间观察到的流量特征的最大偏差,该最大偏差对应观察到的流量特征的误报检测率的所需值。对于给定的误报率,maxdev(t)被认为是与瞬时基线的最大“合法”偏差;它还使用每个新样本进行更新。
72.在学习周期和和平常时间计算maxdev值,作为各种流量特征从瞬时基线的实际合法偏差的测量值。maxdev值允许异常检测,因为它将流量中的合法偏差(由于合法流量统计行为)与恶意活动引起的偏差进行比较。针对短期和长期基线分别计算maxdev。
73.在实施例中,使用测量的标准偏差σ乘以常数乘数ρ计算maxdev,即:
74.maxdev=ρσ
75.由于标准偏差是针对各种相关的流量特征和其他特征测量的,因此在平常时间期间对每个上述流量特征的对应基线计算标准偏差。乘数ρ的值可以与所观察的特征的期望误报检测相关。乘数ρ是定义灵敏度的预配置的参数。
76.在又一示例性实施例中,基于当前样本和计算的短期之间的差“δ”的值来计算maxdev,并且在单独的计算中,还基于长期、基线和剪切来自最后n个样本的虚拟集合的最靠后的最高fp
×
n个样本的索引来计算maxdev,其中fp是允许的误报率。“δ
n”中的样本按降序排列,其中整个虚拟集合被连续更新。也就是说,maxdev值可以如下计算:
[0077][0078]
为了检测异常,针对每个流量特征,将其实时值(例如,实时平均分组大小(averagepacketsize)值)与其相应的基线的阈值进行比较。非法的偏差相应的基线的阈值被确定为异常。在实施例中,仅在检测到具有与相同类型的攻击相关的相同特征或特征的多个预定义的连续异常之后才发出异常指示。
[0079]
为了检测各种quic ddos攻击,引擎340-1、340-3和340-3中的每一个被配置成分析基于速率的和速率不变的检测的异常,并且决定何时发起实际ddos攻击。在实施例中,当在至少一个速率不变流量特征和至少一个流量不变特征上检测到异常时,触发ddos攻击指示。在又一个实施例中,可以实现这些各种特征之间的模糊逻辑以生成攻击指示逻辑。在另一个示例实现方式中,仅分析基于速率的特征,使得当在至少一个基于速率的流量特征上检测到异常时,触发ddos攻击指示。
[0080]
返回图1,根据示例实施例,可以使用由缓解器170执行的一个或多个缓解动作来缓解检测到的攻击。这样的动作包括发送警报、阻塞来自被怀疑是攻击工具150的源的流量、限制流量速率、施加一个或多个web挑战或基于quic的挑战等。缓解动作可以包括缓解动作的组合,并且这样的组合可以是以递增的顺序。可以基于检测到的quic ddos攻击的类型、受保护资源的配置文件或其任何组合来选择要施加的缓解动作。例如,为了缓解quic洪泛攻击,可以使用基于quic的挑战。然而,该动作不能用于提供quic连接限制保护。
[0081]
类似地,对于图2,在另一示例实施例中,可以使用由缓解器170执行的部署在路径外的一个或多个缓解动作来缓解检测到的攻击。在检测到受保护实体130和/或135上的攻击时,攻击流量指向缓解器170以供执行上述缓解动作中的一个或多个。
[0082]
在实施例中,基于quic的挑战基于由ietf quic wg在quic通信协议标准中定义的机制。该机制是quic地址验证过程,该quic地址验证过程旨在通过使quic服务器能够将客户端ip地址验证为“真实ip”而不是伪造的具有欺骗性的ip地址来提供针对“放大ddos”攻击的保护。这里,缓解器170被配置为检查具有有效ip的源发送流量而不是无状态的机器人发送流量。在检测到攻击时,缓解器170被配置为在由缓解器170检测到的每个新客户端源ip地址上发起其自己的地址验证过程。在实施例中,针对新的源ip的部分列表实现地址验证过程,缓解器170还被配置为识别怀疑是发起恶意quic udp洪泛攻击的攻击工具150的ip地址列表。来自未通过地址验证过程的实体的流量可以被缓解器170阻塞或对速率进行限制。
[0083]
网络挑战也可以用于区分合法源和无状态机器人。在实施例中,缓解器170被配置为使用加密的客户端网络挑战来挑战可疑源,该加密的客户端网络挑战诸如但不限于302http重定向消息、重定向脚本、captcha挑战等。
[0084]
在实施例中,缓解措施可以基于签名生成,例如大小为1000字节的quic udp包(端口443)和长报头,或quic udp包(dest端口443)和源端口“123456”以及ttl=50。这种缓解措施可以有效地对抗不符合quic标准的quic udp洪泛类型的攻击。
[0085]
根据实施例,检测器160配置成检测指向受保护实体130和135的攻击。受保护实体130和135在由于对eud 140的洪泛攻击而引起网络115拥塞的情况下也可能受影响。在其它情况下,并不会期望从quic使能的服务器120到达eud 140的合法流量突发指示攻击,因为基线计算消除了“静默”期(“silent”period),并且期望高的时期引入合法速率不变行为。
[0086]
当直接攻击受保护实体130时,攻击工具150可以滥用quic开放udp端口,以从各种类型和数量向受保护实体130及其quic使能的服务发起quic ddos洪泛。攻击模式可以包括udp分组的洪泛和quic连接。这种模式可以由攻击工具150生成,以符合或不符合quic协议标准。应当注意的是,当没有检测到时,受保护实体130和攻击工具150之间的流量可以被视为并充当合法流量。
[0087]
应当注意的是,基于tcp的ddos检测技术将检测eud 140和quic使能的服务器120之间的合法quic流量(在标记为103的连接上)作为攻击,从而产生误报警报。
[0088]
应当理解,quic攻击检测和缓解解决方案的实现可以证明是有用的,因为其应用到源自组织内或源自服务提供商和全球因特网(www)并且指向外部目标的quic流量。在这种情况下,应当将恶意流量与合法入站和出站quic流量区分开。作为以组织网络外部为目标的quic dos/ddos攻击仍然可以消耗宝贵的网络资源,从而降低组织的容量,这种攻击非常适合于快速检测和缓解。
[0089]
在实施例中,防御系统101可以被部署在云计算平台和/或内部部署中,使得它们一起搭配。云计算平台可以是但不限于公共云、私有云或混合云。当安装在云中时,防御系统可以像saas那样运行。
[0090]
在进一步的实施例中,多个检测器和缓解器可以用于执行各种公开的实施例。检测器和缓解器可以配置有不同的容量和/或资源,并且可以进一步部署在网络中的各个位置中,如内嵌或路径外部署,以提供多层防御。多层缓解系统的示例布置、配置和编排在转让给共同受让人的美国专利号9,769,201中公开,该专利通过引用并入本文。
[0091]
应当注意的是,尽管在图1和图2中仅为了简单起见而描述了一个攻击者设备、一个quic使能的保护实体、一个非quic使能的保护实体、一个eud和一个quic使能的服务器,但是本文公开的实施例可以应用于多个这样的元件。各种元件可以位于不同的地理位置。
[0092]
还应当注意的是,参考图3讨论的所有或一些引擎可以以软件、固件、硬件或其任何的组合而实现。硬件可被实现为包括至少处理电路和存储器,其示例在下面提供。在实施例中,防御系统101可包括本文描述的所有检测和缓解机制,或甚至这些检测或缓解机制的部分列表。
[0093]
图4示出了根据实施例的示例性流程图400,示出了用于检测和缓解quic ddos攻击的方法。检测到的quic ddos攻击可以包括例如quic udp洪泛洪泛、quic http洪泛洪泛、quic连接洪泛洪泛等。该方法可以由检测器160执行。
[0094]
在s410,从指向受保护实体或来自受保护实体的入站和出站流量中提取流量特征。在实施例中,从例如由受保护实体收集的遥测中提取流量特征。流量特征包括基于速率的特征和速率不变特征,并且表示指向受保护实体的udp流量的行为。每种类型的quic ddos攻击可以使用不同的流量特征集合来检测。基于速率的流量特征的示例包括:每秒长报头分组的数量、每秒quic分组的数量和每秒quic字节的数量、每秒设置为“初始分组”的长报头分组的数量、每秒活动连接id的数量和每秒新活动连接id的数量。不变速率流量特
征的示例包括:平均quic分组大小、长报头比率、每活动连接id的字节和分组的平均数量、长报头比率以及在每活动连接id的字节的平均数量的增加和减少。以上论述了用于流量特征提取的各种示例实施例。
[0095]
在s420,针对每个提取的流量特征计算至少一个基线。可以在学习时段期间计算基线,学习时段可以被设置为预定义时间窗或被配置为当装集和收集足够的数据时结束。在平常时间期间建立基线或在平常时间装集数据,即当没有检测到攻击流量时。
[0096]
根据所公开的实施例,基于流量特征的样本连续地计算至少一个基线,以确定被检测的流量的基于速率的和不变速率特征的正常活动。如上所描述,可以针对每个流量特征计算两种类型的基线,短期和长期基线。
[0097]
在s430,在基于速率的流量特征和速率不变流量特征的基线化之后,与计算的基线的各种偏差将被检测为流量异常。在实施例中,异常检测通过在平常时间期间动态学习流量与其瞬时计算的基线的典型最大偏差来执行。其中每个流量特征的实时样本在一段时间内连续等于或大于最大偏差/与最大偏差的量超过基线的状态被视为异常。
[0098]
在实施例中,基线阈值可以如下确定:
[0099]
u(t)=y(t)+maxdev
[0100]
其中u(t)是异常阈值,y(t)是基线,并且maxdev是在平常时间期间观察到的流量特征的最大偏差,对应于观察到的流量特征的误报检测率的所需值。maxdev被认为是与瞬时基线的“合法”偏差。
[0101]
在学习周期和平常时间期间连续计算maxdev,作为各种流量特征从瞬时基线的实际合法偏差的测量值。针对短期基线和长期基线分别计算maxdev。上面讨论了计算maxdev值的示例。
[0102]
在s440,一旦计算了各种流量特征的基线,就将估计的流量遥测或瞬时实时流量特征值与基线进行比较,以确定是否存在异常。针对其相应的基线(短和长,或者单独地短或长)建立每个流量遥测。异常被检测为与短期或长期基线中的一个的偏差。当使用maxdev作为基线阈值时,将每个样本与基线阈值u(t)进行比较。当样本连续地超过阈值若干次时,生成警报,触发警报。
[0103]
在一个实施例中,异常可以如下被计算为与两个基于速率的基线中的一个的偏差:
[0104]
y[t]》y
baseline
+ρ*σ
[0105]
在实施例中,其中y[t]是当前样本,y
baseline
是短期或长期基线,σ是相应的方差,并且ρ是定义灵敏度的预配置的参数。仅在满足上述等式的异常的可配置的连续检测之后,才发出异常警报。在实施例中,可以将预定义数量(例如,5或10)的连续检测视为警报。
[0106]
在s450,基于异常指示(检测到的异常),确定任何种类的quic ddos攻击当前是否正在进行。如果是,则执行继续s460;否则,执行返回到s410。对于每个攻击类型,当对至少一个基于速率的流量特征和至少一个速率不变流量特征测量异常时,检测到攻击。
[0107]
例如,当在每秒长报头分组的数量特征和字节平均数量特征中检测到异常时,检测到quic udp洪泛攻击。可以利用上述用于检测quic udp洪泛攻击的任何特征。
[0108]
在s460处,在检测到quic ddos攻击时,触发至少一个缓解动作的执行。在实施例中,在s460处触发缓解动作可以包括向缓解器提供指令以执行缓解动作。这样的动作可以
包括生成警报、自动找到攻击签名并且利用这样的签名阻塞另外的分组、使客户端执行web挑战或quic挑战、将流量重定向到清理中心、阻塞流量、限制流量速率等或其组合。如上所提及,可以基于检测到的攻击的类型来选择缓解动作。
[0109]
图5是根据实施例实施的检测器160的示例框图。检测器160包括耦合到存储器515、存储装置520和网络接口540的处理电路510。在另一实施例中,检测器160的部件可以经由总线550通信地连接。
[0110]
处理电路510可以被实现为一个或多个硬件逻辑组件和电路。例如,但不限于,可以使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(field programmable gate array,fpga)、专用集成电路(application-specific integrated circuit,asic)、专用标准产品(application-specific standard products,assp)、片上系统(system-on-a-chip system,soc)、通用微处理器、微控制器、数字信号处理器(digital signal processor,dsp)等,或者可以执行计算或其它信息的操纵的任何其它硬件逻辑组件。
[0111]
存储器515可以是易失性的(例如,ram等)、非易失性的(例如,rom、闪存等)或其组合。在一种配置中,用于实现本文公开的一个或多个实施例的计算机可读指令可以存储在存储器520中。
[0112]
在另一实施例中,存储器515经配置以存储软件。软件应广泛地解释为意指任何类型的指令,无论是称为软件、固件、中间件、微代码、硬件描述语言还是其它。指令可包含代码(例如,呈源代码格式、二进制代码格式、可执行代码格式或任何其它合适的代码格式)。指令在由一或多个处理器执行时致使处理电路510执行本文所描述的各种过程。具体来说,指令在执行时致使处理电路510执行本文所描述的实施例。
[0113]
存储器520可以是磁存储器、光存储器等,并且可以例如被实现为闪存或其他存储器技术、cd-rom、数字通用盘(digital versatile disk,dvd)或可以用于存储所需信息的任何其他介质。存储器520可以包括如本文所述的工作流程方案。
[0114]
处理电路510被配置为检测和引起https洪泛攻击以及如本文所描述的任何加密ddos攻击的缓解。网络接口540允许检测器160与受保护实体和网络110(图1)通信。
[0115]
应当理解,本文所描述的实施例不限于图5所示的具体体系结构,并且在不脱离所公开的实施例的范围的情况下,可以等同地使用其他体系结构。还应当注意的是,检测器170可以根据图5所示的体系结构来构造。
[0116]
本文公开的各种实施例可以实现为硬件、固件、软件或其任意组合。此外,软件优选地实现为有形地体现在程序存储单元或包括部件的计算机可读介质上的应用程序,或者某些设备和/或设备的组合。应用程序可以上传到包括任何合适的架构的机器,并由该机器执行。优选地,该机器在具有诸如一个或多个中央处理单元(“cpu”)、存储器和输入/输出接口的硬件的计算机平台上实现。计算机平台还可以包括操作系统和微指令代码。本文描述的各种过程和功能可以是微指令代码的一部分或应用程序的一部分,或者其任意组合,其可以由cpu执行,无论这样的计算机或处理器是否被明确示出。此外,各种其它外围单元可以连接到计算机平台,诸如附加的数据存储单元和打印单元。此外,非暂时性计算机可读介质是除了易失传播信号之外的任何计算机可读介质。
[0117]
本文列举的所有示例和条件语言旨在用于教导目的,以帮助读者理解所公开的实施例的原理和发明人为促进现有技术贡献的概念,并且应被解释为不限于这样具体列举的
示例和条件。此外,本文列举所公开的实施例的原理、方面和实施例以及其具体示例的所有陈述旨在包括其结构和功能的等同物。另外,这样的等同物旨在包括当前已知的等同物以及将来开发的等同物,即,开发的执行相同功能的任何元件,而不管结构如何。
[0118]
如本文所用,后面跟着项目列表的短语“至少一个”是指可单独利用所列项目中的任一个,或可利用所列项目中的两个或更多个的任何组合。例如,如果系统被描述为包括“a、b和c中的至少一个”,则系统可包括单独的a;单独的b;单独的c;2a;2b;2c;3a;a和b的组合;b和c的组合;a、b和c的组合;2a和c的组合;a、3b和2c的组合;等等。
[0119]
应当理解,本文中使用诸如“第一”、“第二”等之类的指定对元件的任何引用一般不限制那些元件的数量或次序。相反,这些指定一般在本文中被用作区分两个或更多个元件或元件的实例的方便方法。因此,对第一和第二元件的引用不意味着在那里可以采用仅两个元件或者第一元件必须以某种方式在第二元件之前。而且,除非另外声明,否则元件集合包括一个或多个元件。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1