通信管理方法及相关联设备与流程

文档序号:32299725发布日期:2022-11-23 07:54阅读:29来源:国知局
通信管理方法及相关联设备与流程

1.本发明涉及一般电信领域。
2.更具体地,本发明涉及一种机制,用于在检测到网络攻击的情况下,促进在ip(互联网协议)网络内操作的安全服务的管理和操作。这样的服务可以是例如入侵或网络攻击检测服务、用于经由防火墙过滤流的服务、地址转换(或用于网络地址转换的nat)服务等。
3.本发明尤其适用于拒绝服务(dos)网络攻击或ddos(分布式dos)网络攻击。dos攻击可以被定义为试图使计算域的资源(例如网络或计算资源)对其用户不可用。


背景技术:

4.ddos攻击的规模正变得越来越大,并且可能损害数十万用户装备(固定或移动终端、连接对象、服务器、网络资源、路由器(例如cpe(代表“客户驻地装备”))、stb(代表“机顶盒”)数字解码器、服务实例(或“服务功能”)等),这些设备反过来可能被用作中继来放大这些攻击的有害力量。通过指示的方式,赛门铁克公司在其2019年的年度报告中记录了每天有近24000个嵌入移动终端的应用被这样的攻击阻止,2016年至2017年间针对连接对象的攻击增加了600%,并且2016年至2017年间的攻击流量量增加,2016年占全球网络流量的5%,而2017年为7.8%。
5.ddos攻击也变得越来越频繁和激烈。此外,就其规模(攻击的流量量、攻击的幅度等)及其危害范围(以单台机器为目标,或通过以公司局域网、运营商网络等为目标从而针对多台机器)而言,它们的范围很广。这些攻击的目标或用于传播这些攻击的中继也极为不同:固定或移动终端、连接的对象、服务器、网络资源等。
6.为了保护其计算资源免受这样的攻击,许多公司订购了dps(代表“ddos保护服务”)保护服务的产品。当dps保护服务已经订购了访问提供商时,访问提供商通常出现在进入和/或离开由dps服务监视和保护的计算域的流量所采用的路径上。然而,在传入和/或传出流量加密的情况下,这样的dps服务的任务可能被证明是困难的。现在,加密有所增加,尤其是随着特别是某些常用的应用对quic传输协议的使用越来越多,这些应用比如是mozilla或google等公司提供的用于访问互联网网站的浏览器。这种增加反映出希望确保其通信和在所述通信期间交换的数据的保密性的用户的主要关切。
7.众所周知,quic协议是基于udp(用户数据报协议)协议的协议。quic协议的目标尤其是减少建立tcp(传输控制协议)连接时通常观察到的等待时间(从而允许更快地交换数据),并允许更好地适应支持通信的路径上的中间实体(例如,防火墙、nat)的存在。例如,j.iyengar等人在题为“quic:a udp-based multiplexed and secure transport[quic:基于udp的多路复用和安全传输]”,draft-ietf-quic-transport,2019的ietf文件中描述了quic协议。
[0008]
根据quic协议,不仅在通信期间交换的有效载荷数据被加密,而且大多数通信控制信息(在quic协议的上下文中也通常被称为“连接”)也被加密。以未加密形式发送的quic信息是有限的,如图1所展示的,该图示出了短报头quic数据分组的结构。
[0009]
这样的分组包括公共(即未加密的)报头1,该报头包括三个元素:包括各种标志|0|1|s|r|c|k|p|p|的第一字节1-1,对应于允许分组被路由的连接标识符(cid)的第二元素1-2,以及包含分组编号的第三元素1-3。该分组还包括加密部分2,该加密部分尤其包含由该分组传输的有效载荷数据、以及各种连接控制信息,例如关于所支持的信道数量的信息、关于连接迁移的信息、关于连接标识符改变的信息等。
[0010]
此外,由于quic协议是基于udp传输协议的,quic分组不会披露对计算域入口处的流量过滤有用的任何信息,例如连接的开始和结束信息、确认等。
[0011]
因此,dps服务很难确定去往用户装备的quic流量是否合法(也就是说,是在quic分组的预期接收方的同意下接收的)或者是否可疑。因此,quic协议特别容易受到ddos攻击,尤其是反射攻击和身份盗窃攻击。
[0012]
解决这个问题的一种方法可以是在访问提供商的网络内部署“代理”,负责以对用户透明的方式截取他们的quic通信的特性数据,并分析这些特性,以确定通过他们传输的流量是合法的(换句话说,是用户同意的)还是可疑的(也就是说可能与网络攻击相关联)。为此,每个代理应该保持与通信中涉及的每个设备的连接,但无需向他们明确指出这一点。
[0013]
然而,这样的方法似乎不太可行。
[0014]
事实上,这样的代理将在用户不知情且未经他们明确同意的情况下实施,即使这会危及他们通信的保密性并可能损害他们的个人数据。
[0015]
此外,这种方法将引入新的攻击媒介,正如z.durumeric等人在2017年的ndss发表的题为“the security impact of https interception[https截取的安全影响]”的文章中强调的那样,根据该文章,对加密通信的截取使其更容易受到攻击。
[0016]
每个代理还必须维护它所维护的每个连接的状态,从而需要大量资源(网络、cpu等)。因此,在发生故障(也称为spof(“单点故障”))时,它事实上构成了特别敏感和关键的元素。
[0017]
此外,在quic通信的发端的设备可以是多接口的(也就是说,具有经由一个或多个网络为它们提供连接性的多个访问接口),从而建立采用多条路径或者相反仅采用一条路径的通信。位于其中一条路径上的代理看不到与这样的多接口设备相关联的全局流量。
[0018]
因此,需要一种机制,该机制能够提高计算域的安全性,从而提高其用户通信的安全性(包括当这些通信是基于比如quic等加密传输协议时),并且能够在不危及这些通信的保密性或损害用户的个人数据的情况下做到这一点。


技术实现要素:

[0019]
根据第一方面,本发明通过提出一种用于管理网络的第一设备根据给定传输协议进行的通信的方法来解决这种需求,该方法由该第一设备实施并且包括在检测到网络攻击之后,在该第一设备上启用与该网络的至少一个实体的协作以减轻该网络攻击的步骤,该协作包括在该第一设备根据给定传输协议经由该网络进行的至少一次所述通信期间,由该第一设备执行至少一个确定的动作,该动作被称为协作动作。
[0020]
相关地,本发明还涉及一种属于网络的第一设备,该第一设备包括启用模块,该启用模块在检测到网络攻击之后被触发,并且被配置成在该第一设备上启用与该网络的至少一个实体的协作以减轻该网络攻击,该启用模块被配置成在该协作期间,在该第一设备根
据给定传输协议经由该网络进行的至少一次通信期间,执行至少一个确定的动作,该动作被称为协作动作。
[0021]
对第一设备或网络的实体的性质没有附加任何限制。第一设备可以是网络向其提供连接性的用户装备(充当客户端或服务器),比如终端、服务器、网关等,但第一设备也可以是实际网络基础设施中有助于管理网络内的通信的装备,比如路由器。同样,网络的实体可以是网络中能够参与管理检测到的网络攻击的任何装备,例如实施入侵检测和/或攻击减轻功能(例如dps服务)、防火墙功能、nat功能的装备或者甚至是网络控制器。第一设备和网络的实体可以由同一个管理实体负责。这通常是公司网络内的实施情况。
[0022]
此外,本发明优选地适用于quic传输协议,但是它也可以被实施用于可能出现与上述针对quic协议的问题类似的问题(例如,不能访问通信控制信息,在分组中没有明确的同意信号等)的其他传输协议。
[0023]
因此,本发明提出,当检测到网络攻击时,请求或促使经由网络进行通信的设备(本发明意义内的“第一设备”)与网络的一个或多个实体的协作,以减轻网络攻击。因此,参与通信的所有设备或仅其中一些设备可能被请求与网络协作。
[0024]
这种协作包括执行一个或多个特定动作,这些动作通常可能取决于用于建立通信的传输协议及其特性,这些动作旨在促进负责减轻网络攻击的网络实体的任务,以将合法流量(也就是说,设备的用户同意的流量)与可能归属于攻击的可疑流量区分开。
[0025]
对于根据给定传输协议进行的通信,这样的动作(在本说明书的剩余部分中称为协作动作)可以例如是:
[0026]
·
披露与该通信相关的控制信息;
[0027]
·
冻结在通信期间使用的通信标识符(或连接标识符)的迁移;或者
[0028]
·
在通信期间停用对所讨论的传输协议的使用。
[0029]
这些示例性动作优选地适用于quic协议的上下文,对于quic协议,与通信相关的控制信息被加密并且网络的实体不可访问。借助这样的动作,减轻正在进行的网络攻击所涉及的实体能够更好地看到去往第一设备或由第一设备发送的全局流量,并且能够通过分析该流量来更容易地确定它是合法的还是与攻击相关联,并且相应地采取适当的动作。
[0030]
此外,非常有利的是,这些动作使得能够维护通信的保密性,因为最多是通信控制信息被披露或保持不变,从而允许网络的实体更容易地将在彼此之间交换的数据流与这些流的发端或目的地的设备相关联。
[0031]
与网络单方面阻止使用所考虑的传输协议的解决方案相比,本发明通过协作动作还提供了一种在性能方面不那么激进且更有效的解决方案。这有利地使得能够维护用户的同意和利益,特别是能够显著提高用户所感知的连接服务的质量。例如,在quic协议的框架内,一些服务或一些应用完全依赖于对该协议的使用;网络永久阻止使用quic协议将导致用户被剥夺这些服务和应用,并将违背互联网的中立原则。
[0032]
此外,借助本发明,设备避免了在建立其通信期间经历长时间的延迟,该延迟与网络根据quic协议对通信的单边过滤有关(该延迟源于设备观察到由于网络执行的过滤而未能根据quic协议建立其通信所花费的时间)。相反,在本发明的框架内,协作动作由设备本身启用,包括(暂时)停用对quic协议的使用。
[0033]
此外,应注意,这些示例性动作(以及更一般地,由本发明所激发的协作框架内的
设备执行的动作)不一定旨在帮助网络的特定实体。根据这些示例,第一设备不必为了协作而将特定消息发到特定实体,而是置于通信路径上的所有或一些网络实体可以从中受益。
[0034]
当然,这些示例性动作仅仅是通过指示的方式给出的,并且可以将其他动作设想为变体,这取决于所考虑的传输协议。此外,根据本发明启用的协作还可以包括执行动作的组合,例如披露控制信息并冻结通信标识符的迁移。
[0035]
因此,本发明提出的协作有利地使得能够通过更容易地针对有风险的通信来提高在网络内采取的减轻努力的有效性。它还使得能够避免在检测到网络攻击后通信突然中断。
[0036]
此外,本发明使得能够将(“第一”)通信设备与攻击管理相关联。这些通信设备是保持对所实施的协作动作的控制的那些通信设备(也就是说,在其通信期间执行这些协作动作的那些通信设备),即使它们可能是与攻击减轻所涉及的网络实体相关联地被选择的或是由这些网络实体建议的。因此,本发明提供了关于由网络执行的处理操作的透明性。
[0037]
在本发明的一个特定实施例中,所述至少一个协作动作由第一设备在确定的持续时间内执行。
[0038]
该持续时间可以默认定义,或者由网络或第一设备固定,并且如果必要的话,例如只要网络攻击正在进行,就可以重新调整或延长。因此,这确保了如此实施的协作的特殊性,从而维护用户的利益。这样的预防措施允许第一设备控制它在协作期间共享的信息,并避免网络滥用这种协作。
[0039]
在一个特定实施例中,所述至少一个协作动作的执行持续时间被选择为大于60分钟。事实上,研究表明,绝大多数最近的攻击持续了一个小时以上,其中一小部分持续了12个小时以上,甚至超过一天。
[0040]
应注意,在一个特定实施例中,还可能限制能够由第一设备启用的与网络的协作的数量。例如,可以设想每24小时只允许启用本发明提出的一次协作,以避免某些网络滥用。
[0041]
在一个特定实施例中,启用步骤是通过从网络的所述至少一个实体接收到提出所述协作的消息来触发的。
[0042]
换句话说,协作可以是由减轻正在进行的攻击所涉及的网络实体发起的,例如因为该实体在鉴定源自或去往第一设备的流量时遇到困难(同意还是可疑)。
[0043]
作为变体,可以在本地、即在第一设备上决定协作,例如因为第一设备已经被通知存在网络攻击或已经检测到网络攻击,或者因为在通信期间它的一个通信者已经请求它这么做。
[0044]
因此,本发明的实施方式特别灵活。
[0045]
在本发明的一个特定实施例中,该用于管理通信的方法还包括向参与根据所述给定传输协议与所述第一设备进行的至少一次所述通信的至少一个第二设备发送信息消息的步骤,该信息消息向所述第二设备通知由该第一设备执行所述至少一个协作动作。
[0046]
由此,第一设备通知其通信者它希望或已经同意与网络实体协作进行其所有或一些通信的事实,尤其是涉及被如此通知的第二设备的那些通信。因此,对于受该协作影响的通信中所涉及的每个设备,该协作是完全透明地实施的。
[0047]
第一设备对所述至少一个协作动作的执行也可以以从第二设备接收到同意为条
件。
[0048]
然而,应注意,根据设想的协作动作及其执行条件,通知通信者并获得其同意可以是可选的。
[0049]
在一个特定实施例中,由第一设备向第二设备发送的信息消息包括所述协作动作的至少一个执行条件。
[0050]
这样的执行条件例如是协作动作的执行持续时间,或者所述协作动作所应用于的通信或应用(例如应用该协作的方向,也就是说,第一设备到第二设备和/或第二设备到第一设备)等。
[0051]
鉴于上述情况,本发明为了实施通信设备与网络实体之间的协作,不仅依赖于通信设备本身(本发明意义内的第一设备和第二设备),还依赖于受益于该协作的网络实体。
[0052]
因此,根据第二方面,本发明还在于一种用于与网络的第一设备通信的方法,该方法由第二设备实施并且包括:
[0053]
·
从该第一设备接收信息消息的步骤,该信息消息向该第二设备通知在根据给定传输协议与该第二设备进行的至少一次通信期间由该第一设备执行至少一个确定的动作,所述动作被称为协作动作并允许与该网络的至少一个实体协作,以减轻网络攻击;
[0054]
·
如果所述第二设备接受执行所述协作动作,则向该第一设备通知其同意的步骤。
[0055]
相关地,本发明还涉及一种设备,称为第二设备,该设备包括用于与网络的第一设备通信的通信模块,该通信模块被配置成:
[0056]
·
从该第一设备接收信息消息,该信息消息向该第二设备通知在根据给定传输协议与该第二设备进行的至少一次通信期间由该第一设备执行至少一个确定的动作,所述动作被称为协作动作并允许与所述网络的至少一个实体协作,以减轻网络攻击;
[0057]
·
如果所述第二设备接受执行所述协作动作,则向该第一设备通知其同意。
[0058]
该通信方法和该第二设备受益于与根据本发明的管理方法和第一设备相同的上述优点。
[0059]
在该通信方法和该管理方法的一个特定实施例中,在第一设备与第二设备之间根据给定传输协议进行的所述通信期间交换的至少一个数据分组包括至少一个报头,该至少一个报头以未加密形式指示用于该通信的至少一项控制信息,该至少一项控制信息来自:
[0060]
·
该通信的建立状态;
[0061]
·
第一设备或第二设备同意在该通信期间发送和/或接收数据分组;以及
[0062]
·
第一设备或第二设备同意或不同意该通信。
[0063]
这种不同的控制信息向网络的实体提供有效载荷数据,该有效载荷数据能够被用来(因为它是以未加密形式提供的)提高安全性并更有效地减轻正在进行的网络攻击。
[0064]
在第一设备与第二设备之间交换的分组的报头中存在该控制信息有利地使得能够不增加在网络上交换的信令。在quic协议的上下文中,该信息可以被编码在例如quic分组的短报头或长报头的保留字段中。然而,作为变体,该控制信息可以在专门为此目的提供的专用消息中发送。
[0065]
应注意,传统上,当设备不同意通信时,所述设备通常被配置成忽略该通信。向网络的实体发送反映设备不同意通信的控制信息,可以启用网络中负责过滤与该通信相关的
所有流的功能。这在被破坏的设备例如在其不知情的情况下向其他设备发送流的情况下可能是有利的。
[0066]
如上所述,根据第三方面,本发明还在于一种用于由网络的实体与该网络的至少一个设备进行通信的方法,所述方法包括:在所述实体不能确定去往或源自所述设备的数据流是否与网络攻击相关联之后,由所述实体向所述设备发送提出设备协作以减轻所述网络攻击的消息的步骤,所述协作包括在所述设备根据给定传输协议经由所述网络进行的至少一次通信期间,由该设备执行至少一个确定的动作,该动作被称为协作动作。
[0067]
相关地,本发明还涉及一种属于网络的实体,该实体包括通信模块,该通信模块由所述实体不能确定去往或源自该网络的(第一)设备的数据流是否与网络攻击相关联而触发,该通信模块被配置成向所述设备发送提出设备协作以减轻所述网络攻击的消息,所述协作包括在所述设备根据给定传输协议经由该网络进行的至少一次通信期间,由该设备执行至少一个确定的动作,该动作被称为协作动作。
[0068]
该用于由网络的实体进行通信的方法和该网络的实体受益于与根据本发明的管理方法、第一设备、用于由第二设备进行通信的方法和第二设备相同的上述优点。
[0069]
在一个特定实施例中,该用于由网络的实体进行通信的方法还包括接收至少一项信息的步骤,该至少一项信息标识去往所述设备并被所述设备同意的至少一个流,或者标识去往所述设备并被所述设备认为是与网络攻击相关联的流的至少一个流。
[0070]
该实施例允许第一设备独立于或不独立于其正在进行的通信与网络的实体共享关于其本地拥有的合法流或相反的可疑流的知识。
[0071]
例如,可以以如下方式提供该信息:
[0072]
·
在阻止命令(“丢弃”或“速率限制”)中提供,以便通过所述实体来阻止被该设备认为是与网络攻击相关联的流的所述至少一个流;或者
[0073]
·
在授权命令(“接受”)中提供,以便授权被该设备同意的所述至少一个流的路由。
[0074]
此外,该实施例使得能够在网络的实体处容易且快速地启用用于过滤第一设备上游的攻击流的机制。
[0075]
在一个特定实施例中,该用于由网络的实体进行通信的方法还包括向所述设备发送请求以授权将在所述请求中标识的至少一个数据流路由到所述设备的步骤。
[0076]
该实施例允许网络的实体请求第一设备的明确同意,以向其路由与其通信相关的流。
[0077]
在一个特定实施例中,该用于由网络的实体进行通信的方法还包括:
[0078]
·
接收在所述通信期间交换的至少一个数据分组的步骤,该至少一个数据分组包括至少一个报头,在该至少一个报头中以未加密形式指示了用于所述通信的至少一项控制信息,该至少一项控制信息来自所述通信的建立状态、所述设备同意在所述通信期间发送和/或接收数据分组、以及所述设备同意或不同意所述通信;以及
[0079]
·
使用所述至少一项控制信息来减轻该网络攻击的步骤。
[0080]
在本发明的一个特定实施例中,通信方法和管理方法由计算机实施。
[0081]
本发明还在于一种在记录介质上的计算机程序,该程序能够在计算机中或者更一般地在根据本发明的第一设备中实施,并且包括被设计成实施如上文描述的管理方法的指
令。
[0082]
本发明还在于一种在记录介质上的计算机程序,该程序能够在计算机中或者更一般地在根据本发明的第二设备中实施,并且包括被设计成实施如上文描述的用于由第二设备进行通信的方法的指令。
[0083]
本发明还在于一种在记录介质上的计算机程序,该程序能够在计算机中或者更一般地在根据本发明的网络的实体中实施,并且包括被设计成实施如上文描述的用于由网络的实体进行通信的方法的指令。
[0084]
这些程序中的每个程序可以使用任何编程语言,并且可以是源代码、目标代码、或在源代码与目标代码之间的中间代码的形式,如呈部分编译的形式、或呈任何其他期望的形式。
[0085]
本发明还在于一种计算机可读信息介质或记录介质,该信息介质或记录介质包括如上所述的计算机程序指令。
[0086]
该信息介质或记录介质可以是能够存储程序的任何实体或设备。例如,该介质可以包括存储装置,如rom(例如,cd-rom或微电子电路rom),或者磁记录装置(例如,硬盘或闪速存储器)。
[0087]
此外,该信息介质或记录介质可以是如电信号或光信号等可传输介质,其可以经由电缆或光缆、通过无线电链路、通过无线光链路或通过其他装置被路由。
[0088]
根据本发明的程序可以特别地从比如互联网等网络下载。
[0089]
作为替代案,该信息介质或记录介质可以是其中结合了程序的集成电路,该电路被设计成用于执行根据本发明的通信方法或管理方法或者在执行根据本发明的通信方法或管理方法时使用。
[0090]
根据第四方面,本发明涉及一种系统,该系统包括:
[0091]
·
至少一个根据本发明的网络的第一设备;
[0092]
·
能够与该第一设备通信的至少一个第二设备;以及
[0093]
·
该网络的至少一个实体;
[0094]
所述第一设备被配置成在检测到网络攻击之后,在与该第二设备的至少一次通信期间执行至少一个确定的动作,以与所述至少一个实体协作,从而减轻所述网络攻击。
[0095]
在一个特定实施例中,第二设备和/或网络的实体是根据本发明的。
[0096]
该系统受益于与根据本发明的通信方法和管理方法、第一设备和第二设备以及网络的实体相同的上述优点。
[0097]
在其他实施例中,还可以设想根据本发明的通信方法和管理方法、第一设备和第二设备、网络的实体和系统具有所有或一些上述特征的组合。
附图说明
[0098]
本发明的其他特征和优点将在以下参考附图所给出的描述中显现出来,这些附图展示了本发明的决不是限制性的一个示例性实施例。在附图中:
[0099]
[图1]已经描述过的图1示出了短报头quic数据分组的结构;
[0100]
[图2]图2在其环境中示出了在一个特定实施例中的根据本发明的系统;
[0101]
[图3]图3示意性地示出了属于图2系统的根据本发明的设备和网络实体的硬件架
构;
[0102]
[图4]图4以流程图的形式展示了如在一个特定实施例中由图2的系统的网络实体实施的根据本发明的通信方法的主要步骤;
[0103]
[图5]图5以流程图的形式示出了如在一个特定实施例中由图2的系统的设备之一实施的根据本发明的用于管理通信的方法的主要步骤;
[0104]
[图6]图6以流程图的形式示出了如在一个特定实施例中由图2的系统的另一个设备实施的根据本发明的通信方法的主要步骤;
[0105]
[图7]图7示出了在本发明的一个特定实施例中修改quic数据分组的短报头以允许披露控制信息的一个示例;
[0106]
[图8]图8示出了在本发明的一个特定实施例中修改quic数据分组的长报头以允许披露控制信息的示例;以及
[0107]
[图9]图9示出了在本发明的一个特定实施例中使用由修改的quic数据分组报头携带的控制信息的两个示例。
具体实施方式
[0108]
图2在其环境中示出了根据本发明的在一个特定实施例中的系统3,该系统3使得能够在一个或多个通信设备与通信网络nw中的减轻正在进行的网络攻击所涉及的一个或多个实体之间建立协作,该网络攻击针对或可能影响由所述实体保护的资源。实施该协作是为了管理根据给定传输协议经由网络传输的通信,以便能够在装备(通信设备和网络的实体)之间共享某些信息,从而有助于减轻网络攻击。
[0109]
在这里描述的实施例中,所考虑的传输协议是基于udp协议的quic传输协议。然而,本发明当然适用于其他传输协议。
[0110]
应注意,为了简单起见,这里考虑单个网络nw;然而,所考虑的通信设备和/或网络实体可以连接到或属于不同的网络。
[0111]
对所考虑的通信设备的性质没有附加任何限制,这些通信设备可以是用户装备(客户端或服务器、终端、cpe(代表“客户驻地装备”)、数字解码器(或“机顶盒”)等)(网络nw向其提供连接性)、或网络nw的装备。“通信设备”在这里被理解为是指能够彼此建立通信(以下在quic协议的上下文中也称为连接)的设备。这里,这些通信设备不同于位于实际网络中的实体,这些实体位于通信设备之间的通信路径上,并且在这些路径上通信的设备之间交换的流量经由这些实体传输。
[0112]
同样,对网络nw的性质没有附加任何限制,该网络可以是固定或移动网络,而不论它属于哪一代(例如3g、4g、5g、6g)等。在这里描述的实施例中,假设网络nw实施quic传输协议。
[0113]
对于系统3正在努力减轻的正在进行的网络攻击的性质,以及该攻击所针对的计算资源和/或网络资源,也没有附加任何限制。例如,它可以是如上所述的ddos攻击,或者身份盗窃、勒索软件等攻击,其可能影响任何类型的资源,比如计算资源或内存资源、网络资源(例如ip地址、域名、ip前缀等)、与其他网络的互连链路等。
[0114]
在图2中设想的示例中,为了减轻由网络nw(由其直接地或者经由网络nw外部的实体)检测到的正在进行的网络攻击attack,系统3依赖于两个通信设备4和5以及网络的实体
6,这里网络的实体6提供dps服务,以防止网络攻击并保护网络nw的资源。应注意,网络攻击attack不一定直接针对网络nw中受dps实体6或通信设备4和5保护的资源。如上所述,网络攻击attack所针对的资源可以是任何类型的:连接到设备4和5的装备(如果这些装备例如是cpe的话)、嵌入在设备4和5中的应用、由dps实体6保护的所有或一些资源等。例如,可能的情况是,由dps实体6和/或设备4和5保护的资源不是攻击的直接目标,而是充当其中继,或者使得其能够到达攻击的目标。
[0115]
还应注意,本发明适用于网络的其他实体6,这些实体能够实施除了防止网络攻击的功能之外的功能,并且在减轻正在进行的网络攻击中发挥直接或间接的作用。本发明通常适用于位于网络nw中的任何实体,并且被配置成对经由该网络路由的流量执行处理操作,比如减轻、过滤(例如防火墙)或者甚至流量分类(例如pcef(策略和计费执行功能))等处理操作。
[0116]
在这里描述的实施例中,设备4和5以及网络的实体6都是根据本发明的,并且具有计算机7的硬件架构,如图3中示意性所示。设备4和5在这里被配置成有时分别充当本发明意义内的第一设备和第二设备。应注意,它们可能以这种方式起作用,这取决于它们是否是建立通信的发端和/或通信的预期接收方。
[0117]
设备4和5以及网络的实体6尤其包括处理器8、随机存取存储器9、只读存储器10、非易失性存储器11以及允许它们尤其是彼此通信的通信装置12。这些通信装置12基于有线或无线通信接口,这本身是已知的,在此不再详细描述。此外,在这里描述的实施例中,通信装置12被配置成实施quic传输协议,并且根据quic协议发送和接收数据流。每个流包括一个或多个quic数据分组,每个quic分组本身可能包括一个或多个quic帧。quic帧可以是控制帧(例如用于关闭quic连接的connection_close帧)或数据帧(例如stream帧)。
[0118]
计算机7的只读存储器10构成了根据本发明的记录介质,其能够被处理器8读取,并且在其上记录了根据本发明的一个或多个计算机程序。
[0119]
更具体地,设备4和5中的每一个的只读存储器10包括两个计算机程序prog4和prog5的记录。
[0120]
程序prog4定义了本发明意义内的第一设备的功能模块,这些功能模块依赖或控制计算机7的上述硬件元件8至12。在检测到网络攻击attack后触发的这些模块在这里描述的实施例(见图2)中尤其包括:
[0121]
·
启用模块4a,该启用模块被配置成在第一设备上启用与网络nw的至少一个实体(并且尤其是与dps实体6)的协作,以减轻网络攻击attack。该启用模块4a被配置成在该协作期间,在第一设备根据给定传输协议(这里考虑的示例中为quic)经由网络nw进行的至少一次通信期间,执行至少一个确定的动作,该动作被称为协作动作;
[0122]
·
发送/接收模块4b,该发送/接收模块被配置成向网络nw的其他通信设备发送消息和从其接收消息。下文更详细地描述了这样的消息。
[0123]
程序prog5定义了本发明意义内的第二设备的功能模块,这些功能模块依赖或控制计算机7的上述硬件元件8至12。在检测到网络攻击attack后触发的这些模块在这里描述的实施例(参见图2)中尤其包括发送/接收模块(或更一般地,通信模块)5a,该发送/接收模块被配置成:
[0124]
·
从另一个通信设备(本发明意义内的第一设备)接收信息消息,该信息消息向第
二设备通知在根据给定传输协议(这里设想的示例中为quic)与第二设备进行的至少一次通信期间由第一设备执行至少一个确定的协作动作;并且
[0125]
·
如果所述第二设备接受执行该协作动作,则向第一设备通知其同意。
[0126]
应注意,设备4和5中的每一个依次可以是本发明意义内的第一设备和第二设备,发送/接收模块4b和5a可以一起组合在单个模块内,该单个模块被适当地配置成执行模块4b和5a中的每一个的功能。
[0127]
dps实体6的只读存储器10包括计算机程序prog6的记录。该程序prog6定义了dps实体6的功能模块,这些功能模块依赖或控制计算机7的上述硬件元件8至12。在检测到网络攻击attack后触发的这些模块在这里描述的实施例(见图2)中尤其包括:
[0128]
·
网络攻击检测模块6a,用于检测针对受dps实体6保护的资源的网络攻击。该模块6a配备有用于分析经由dps实体6传输的流量以及由连接到网络nw和/或在网络nw外部的第三方装备反馈给它的信息(在适用的情况下)的装置;
[0129]
·
网络攻击减轻模块6b,用于减轻由模块6a检测到的网络攻击;以及
[0130]
·
通信模块6c,这里该通信模块在检测到dps实体6(尤其是其模块6a)不能确定去往或源自网络nw的设备的数据流是否与它已经检测到的网络攻击(例如这里是与网络攻击attack)相关联时被触发,该通信模块被配置成向该设备发送向其提出协作以减轻所述网络攻击的消息,该协作包括在该设备根据给定传输协议(这里设想的示例中为quic协议)经由网络nw进行的至少一次通信期间,由该设备执行至少一个确定的协作动作。
[0131]
现在将参考图4至图6给出关于在这里描述的实施例中如何实施设备4和5与网络的dps实体6之间的协作,以减轻正在进行的网络攻击(也就是说试图处理它并吸收它或者至少减少其后果)(这里具体是网络攻击attack)的描述。图4示出了根据本发明的通信方法的主要步骤,在这里描述的实施例中,该方法由网络nw的dps实体6实施。图5示出了根据本发明的用于管理通信的方法的主要步骤,在这里描述的实施例中,该方法由通信设备4在其通信期间、特别是与通信设备5的通信期间实施。图6示出了根据本发明的通信方法的主要步骤,在这里描述的实施例中,该方法由通信设备5实施。
[0132]
对于检测网络攻击attack的方式(由dps实体6直接检测,由网络nw外部的向dps实体6通知这一情况的实体检测,由通信设备等检测)或网络攻击针对哪些资源没有附加任何限制。这里假设它可能影响受dps实体6保护的资源(如上所述,通过使用受dps实体6保护的资源作为攻击中继或到达其他资源而直接或间接地影响),并因此触发对它的干预以减轻它。
[0133]
参考图4,在这里设想的示例中,在检测到网络攻击attack(步骤e10)之后,dps实体6经由其模块6a来分析经由网络nw交换并经由该dps实体传输的流量(步骤e20)。这里特别假设dps实体6位于网络nw中处于设备4的通信所采用的路径上,这些通信在这里是根据如上所述的quic传输协议建立的。对于这些通信的性质没有附加任何限制:它们可以是语音、多媒体数据传输等单边或双边的通信。这些通信导致设备4经由网络nw发送和/或接收数据流,每个数据流包括一组quic数据分组。根据quic协议,这些数据分组是加密的:由ietf定义的quic协议不仅对包含在这些分组中的有效载荷数据进行加密,而且还对连接控制信息(或通信控制信息,连接是指根据quic协议进行的通信)进行加密,但少量的所述信息(例如连接标识符)除外,如已经参考图1所评论的。
[0134]
因此,dps实体6在这里经由其模块6a连续分析去往设备4和源自设备4(为了简单起见,下文中称为“与设备4相关联”)的流量(也就是数据流),以确定其是否受到网络攻击attack的影响(测试步骤e30)。它以本身已知的方式执行此操作,例如通过检查该流量是否来自已知的攻击目标、是否表现出可疑的特征(例如超过本地链路的容量,在给定时间段内分配给设备4的连接数大于在该时间段内通常观察到的平均值或大于阈值,到设备4的“雏形”连接数大于阈值,雏形连接对应于由远程通信设备初始化的连接,但没有完成对确认该连接所需的消息的发送,所考虑的阈值是基于对攻击attack的了解而固定的)等。应注意,在该分析期间,dps实体6的模块6a依赖于其评估的统计数据,或者依赖于其从能够收集这些统计数据的其他实体接收的统计数据,这些统计数据基于其拥有的关于与设备4相关联的流量的“公共”数据。它例如依赖于在去往或源自设备4的quic数据分组中以未加密形式传送的连接(或通信)标识符,依赖于由与用于管理设备、网络的snmp(简单网络管理协议)协议的启用相关联的计数器收集的流量统计数据,依赖于由与netconf(网络配置)协议的启用相关联的计数器提供的流量统计数据等。
[0135]
如果在该分析期间,dps实体6能够鉴定该流量,也就是说判定它是否与攻击相关联(测试步骤e30中的响应“是”),则dps实体6根据该鉴定适当地处理该流量(步骤e40)。因此:
[0136]
·
如果它确定流量与攻击attack关联,则它经由其减轻模块6b触发一个或多个动作来减轻网络攻击attack。这样的减轻动作本身是已知的,并且当然取决于网络攻击attack的性质、其程度、与设备4相关联的流量被感染的方式等。这样的动作可以包括例如阻止攻击流量(“丢弃”)、通知网络nw的其他实体以便重新引导合法流量、动态地建立旨在破坏攻击流量特性的分组的流量接收器、建立旨在吸引攻击流量的“蜜罐”以更容易地将攻击流量重新引导到流量接收器或者向主管当局编制“滥用”文件(特别是对于身份盗窃的情况)等;
[0137]
·
如果它确定流量是合法的(“干净的”),它会将该流量路由到其预期接收方。
[0138]
假设在该分析期间的给定时间,dps实体6检测到它不具有确定源自或去往设备4的流量是否与网络攻击attack相关联所需的信息(测试步骤e30中的响应“否”)。例如,该流量表现出如上所述的可疑特征,但是dps实体6不能基于这些特征来判定它是“合法”流量还是与网络攻击attack相关联。
[0139]
根据本发明,dps实体6然后请求设备4切换到协作模式(步骤e50)。为此,在这里描述的实施例中,dps实体6经由其通信模块6c向设备4发送提出该设备的协作的消息,以减轻网络攻击attack(步骤e60)。根据本发明,这种协作包括设备4执行一个或多个确定的动作,这些动作被称为协作动作。
[0140]
更具体地,在这里设想的示例中,由dps实体6向设备4发送的消息是quic控制帧,这里例如称为comit(代表“协作减轻”),并且包括以下元素:
[0141]
·“寿命”参数,其指示由dps实体6提出的协作的持续时间;在该期限结束时,设备4可以自动停用该协作。这里假设在每个设备4上为该参数定义了默认值(例如大于或等于60分钟的值),使得,如果在comit帧中没有明确指示“寿命”参数的值,则设备4考虑的协作的持续时间被固定为至少等于该默认值;
[0142]
·“strategy_id”参数,其指示dps实体6提议设备4执行以帮助它减轻网络攻击
attack的一个或多个协作动作。这些动作可以是各种类型的,并且尤其包括披露设备4的通信控制信息、停用对加密传输协议(这里是quic)的使用、或者甚至在设备4的通信期间冻结通信标识符的迁移(使得dps实体6能够更容易地将数据流与同一次通信相关联等)。因此,例如,在quic协议的上下文中,“strategy_id”参数可以取以下值:
[0143]-0x0:指定通信(连接)控制信息的披露;
[0144]-0x1:指定在通信期间停用quic传输协议;
[0145]-0x2:指定在通信期间冻结连接标识符(cid);
[0146]-0x3:指定冻结连接标识符和通信控制信息。
[0147]
当然,这个动作列表不是穷举的,并且可以设想其他动作。还可以设想由网络的dps实体6提出的多个协作动作(参见上面给出的示例中的代码0x3)。还可以考虑,在comit帧中没有包含明确的“strategy_id”参数的情况下,旨在由设备4应用一个或多个默认协作动作,具体是例如对应于这里的代码0x3的动作。
[0148]
参考图5,在接收到comit帧时(步骤f10),在这里描述的实施例中,设备4具有接受或拒绝由dps实体6请求的协作的选项(测试步骤f20)。即使协作是由dps实体6发起的,设备4也由此有利地可以自由地拒绝dps实体要求它执行的协作动作。然而,在另一个实施例中,可以设想comit帧具有在设备4上启用协作的结果,而不需要该设备的明确同意。
[0149]
如果设备4拒绝协作(测试步骤f20中的响应“否”),则它向dps实体6通知这一情况或忽略该消息(步骤f30)。
[0150]
如果设备4接受协作(测试步骤f20中的响应“是”),则设备4将包含在comit帧中的信息(dps实体6的地址、协作的持续时间、动作等)保存在例如其非易失性存储器中,并向dps实体6发送协作确认消息(步骤f40)。然后,经由设备4的启用模块4a在该设备内启用协作,其最小持续时间等于“寿命”参数中指示的持续时间。应注意,如果必要的话,该持续时间可以延长,例如如果网络攻击attack在“寿命”持续时间到期时没有被吸收,则由dps实体6自发延长。
[0151]
作为变体,comit帧不包含“寿命”参数,没有定义默认值,并且可以无限期地启用协作,直到从dps实体6接收到结束该协作的消息。
[0152]
在设备4启用协作导致设备4执行由dps实体6在comit帧中提出的协作动作。
[0153]
此外,在该协作期间,鉴于设备4拥有关于其通信的本地知识,其还可以请求dps实体6或网络nw的另一个实体,以向其通知该设备同意的数据流和/或该设备认为可疑(换句话说,与网络攻击相关联,特别是与网络攻击attack相关联)的数据流。这可以在由设备4建立的任何通信之外发生。
[0154]
为此目的,在这里描述的实施例中,设备4向dps实体6发送消息,该消息包括标识去往设备4并被其同意的至少一个流的信息,或者标识去往设备4并被其认为是与网络攻击相关联的流的至少一个流的信息。这里,该消息采用以下命令之一的形式,每个命令能够例如与专用quic控制帧相关联:
[0155]
·
称为“discard_all”的命令,用于通过dps实体6阻止(过滤)到设备4的所有传入通信;
[0156]
·
称为“discard_all/except:accept_list(flow_id)”的命令,用于通过dps实体6阻止(过滤)除了由列表accept_list(flow_id)中提供的数据流标识符flow_id所标识的
那些之外的所有到设备4的传入通信。数据流标识符可以用连接标识符(cid)或用于标识所讨论的数据流的其他信息填充,比如源地址、源端口等;
[0157]
·
称为“accept_all”的命令,用于授权由dps实体6将所有活动的传入通信路由到设备4;
[0158]
·
被称为“accept_all/except:discard_list(flow_id)”的命令,用于授权由dps实体6将除了由列表“discard_list(flow_id)”中提供的数据流标识符flow_id所标识的那些之外的所有活动的传入通信路由到设备4。
[0159]
在另一个实施例中,dps实体6本身可以请求设备4以询问其明确授权,以将一个或多个通信(或者类似地,一个或多个数据流)路由到该设备。为此,它可以向该设备发送例如quic控制帧形式的消息(这里被称为consent_check),包括以下参数:
[0160]
·“flow_id”参数,其指示至少一个通信(或连接)的标识符,如上所指示的,该标识符可能是连接标识符、源地址、源端口等;
[0161]
·“幻随机数”参数,其包括随机生成的标识符,该标识符的目的是允许dps实体6将consent_check帧与设备4发送的对该帧的响应相关联。
[0162]
不论实施何种变体(“discard/accept”命令或consent_check消息),dps实体6都在其非易失性存储器中存储与设备4一致的过滤或路由规则,并从那时起将这些规则应用于去往设备4的传入通信。
[0163]
现在将描述设备4如何执行由dps实体6请求的、并且如在这里设想的实施例中的comit帧中所描述的一个或多个协作动作。这些动作可以在设备4与其他通信设备的活动的或未来的quic通信的框架内执行,并且依赖于在这些通信期间发送quic分组,这些分组包含可能帮助dps实体6减轻网络攻击attack的信息。
[0164]
作为变体或补充,该信息可以由设备4在设备4根据quic协议进行的通信之外经由为此目的提供的专用消息(或quic帧)发送给dps实体6。这些消息可以去往dps实体6,或者在网络中在为此目的提供的预定地址上广播,并且例如由网络nw的安全性中涉及的实体共享(例如为此目的保留的ip多播地址,并且该地址对应于所讨论的网络nw的实体已经订购的多播组)。
[0165]
这样的预防措施允许设备4控制它与网络共享的信息,并避免该网络在有限的持续时间内滥用向其披露的信息。
[0166]
协作动作可以由设备4在其所有或一些通信期间执行。因此,在一个实施例中,设备4可以决定它决定对其应用协作动作的通信。
[0167]
在这里描述的实施例中,在执行协作动作之前,在已经同意与网络nw的dps实体6协作的设备4与该设备的通信者(换句话说,已经与该设备建立了通信的设备)之间实施协商阶段,在该阶段期间该设备计划执行协作动作(步骤f50)。这里,设备4执行协作动作以该协商阶段的成功(测试步骤f60中的响应“是”)为条件:换句话说,只有在得到其通信者的批准的情况下或在其通信者批准的条件下,设备4才在其通信期间执行协作动作。结果,可能出现的情况是,设备4仅与它的一些通信者应用协作动作。
[0168]
例如,这里假设这样的协商阶段是由设备4与设备5实施的。图6示出了在该协商阶段期间由设备5实施的主要步骤。这些步骤在根据本发明的由设备5实施的通信方法的框架内执行。
[0169]
更具体地,在这里描述的实施例中,在协商阶段,设备4向设备5发送消息,该消息向它通知在与设备5的通信期间执行一个或多个协作动作。该信息消息由设备5经由其发送/接收模块5a接收。它在这里采用quic帧的形式,根据quic协议的原则进行加密。在这里描述的实施例中,由设备4发送的信息消息取决于由设备4执行的协作动作(取决于动作的不同帧),并且包括协作动作的一个或多个执行条件。
[0170]
因此,例如,如果由设备4执行的协作动作是披露关于设备4的通信的控制信息,则由设备4发送的信息消息是quic帧(这里称为control_reveal)并且尤其包括以下参数,以指定披露控制信息的执行条件:
[0171]
·“寿命”参数,与在comit帧中一样,指示由设备4实施的协作的持续时间。如果在control_reveal帧中没有设置“寿命”参数,则可以设想由设备4应用默认值,例如大于或等于60分钟;以及
[0172]
·“方向”参数,指示受设备4实施的协作动作影响的通信方向。例如,该参数可以取以下值:
[0173]-0x0:只有由设备4发送的数据分组受到控制信息披露的影响;
[0174]-0x1:只有由远程设备5发送的数据分组受到控制信息披露的影响;
[0175]-0x2:设备4和设备5发送的所有数据分组都受到控制信息披露的影响。在control_reveal帧中没有为“方向”参数指定值的情况下,这里认为这是默认应用的选项。
[0176]
当然,这些参数仅作为示例给出,并且可以指定其他执行条件。例如,只有共享同一个给定目的地地址、同一个给定源地址、同一个源或目的地端口号或这些标准的组合并由设备4(或分别为设备5)发送的分组才会受到控制信息披露等的影响。
[0177]
设备5然后可以接受或拒绝(例如通过忽略control_reveal消息,步骤g40)由设备4实施的协作(测试步骤g20)。作为变体,可以在两个设备之间触发协作动作的一个或多个执行条件的协商。协作的接受或拒绝会结束协商阶段。
[0178]
这里假设设备5接受协作(在测试步骤g20中的响应“是”,在步骤f60中的响应“是”),并且协作动作的执行包括披露其与设备4的通信的控制信息。然后,设备5向设备4发送确认消息以向后者通知其同意(步骤g30)。该确认消息由设备4经由其发送/接收模块4b接收。
[0179]
应注意,两个设备4和5可以被dps实体6或网络nw的不同实体独立地要求以进行协作,或者甚至如果这两个设备属于不同的网络,则被它们各自网络的不同实体要求以进行协作。例如,如果设备4和5已经分别接受了这样的协作,则它们可以通过同一个通信分别向彼此发送quic control_reveal帧。
[0180]
刚刚描述的协商阶段是针对设备4的现有quic通信(或连接)而执行的,换句话说,是针对已经建立的通信而执行的。针对设备4的未来quic通信(也就是说,在已经接收/检测到触发事件之后建立的那些通信),也可以执行类似的协商阶段。
[0181]
为此,当设备4向远程设备(例如向设备5)发送建立quic通信的请求时,它使用其中披露了通信控制信息的quic帧。它还在该建立请求期间发送control_reveal帧,以向设备5通知协作动作的执行条件(例如持续时间、方向)。设备5对control_reveal帧的处理与上面针对正在进行的通信所描述处理的相同。因此,应注意,对于未来通信的处理,协商是次要的,并且不反对在通信建立请求中披露通信控制信息。
[0182]
当协商阶段的结果是远程设备(上述示例中的设备5)接受协作时,设备4因此可以在其与设备5的通信期间,在由“寿命”参数定义且符合与设备5协商的执行条件的持续时间内,继续披露与这些通信相关的控制信息(图5中的步骤f70)。
[0183]
在这里描述的实施例中,通信控制信息在由设备4发送和/或接收的quic数据分组的公共报头中披露。位于这些quic数据分组传输所经由的网络nw中的功能(典型地,这里设想的示例中为dps实体6)由此能够访问由设备4(和/或其通信者)披露的控制信息。
[0184]
更具体地,在这里描述的实施例中,本发明人提出修改目前在quic协议中定义的quic分组的报头的公共部分,以便以未加密形式明确地指示通信控制信息。这样的信息例如是:
[0185]
·
该通信的建立状态;
[0186]
·
通信中所涉及的设备中的一个和/或另一个(在这里设想的示例中为设备4和5)同意在通信期间发送和/或接收数据分组;以及
[0187]
·
通信中所涉及的设备中的一个和/或另一个(在这里设想的示例中为设备4和5)同意或不同意所述通信。
[0188]
图7展示了对quic分组的短报头的这样的修改的一个示例。在该示例中,短报头的第一个字节(参见图1所示的字节1-1)的(保留)标志c被设置为“1”,以指示quic分组包含新的字段(这里被称为“公共控制状态”),该字段反映各种通信控制信息(在当前的现有技术中,保留标志c通常被设置为0;如果它被设置为1,则被忽略)。“公共控制状态”字段可以例如用以下值填充:
[0189]
·
0x0:用于指示当前正在建立通信(或连接);
[0190]
·
0x1:用于指示设备4同意从远程设备(这里设想的示例中为设备5)接收数据分组;
[0191]
·
0x2:用于指示设备4同意发送和接收数据分组;
[0192]
·
0x3:用于指示在设备4和5相互同意的情况下建立的通信;以及
[0193]
·
0x4:用于指示不同意的通信。
[0194]
应注意,在现有技术中,设备不同意的通信通常被忽略。相反,本发明人提出有利地使用该信息,并将其提请网络nw的一个或多个功能(例如这里的dps实体6)注意,这些功能然后可以负责过滤与设备4不同意的该通信相关的所有流(或者甚至与和远程设备5建立的所有通信相关的流)。
[0195]
当然可以设想其他值作为变体,以向减轻网络攻击attack所涉及的网络实体提供其他通信控制信息。然而,应注意,披露通信控制子状态(例如新信道或stream的创建或关闭、quic分组的重传等)似乎是没有用的,该信息不能被这样的网络实体预先使用。
[0196]
如图8所展示的,作为变体,也可以设想将长报头修改为包括新的“公共控制状态”字段。对于分组initial(由图8b展示)和0-rtt(由图8a展示),该字段设置为“0x0”。该变体的优点是允许网络功能提前检测以协作模式建立的连接。所述功能因此可以将标识符cid(源和目的地)存储在存储器中,以便于将同一个quic通信的发送的分组与接收的分组特性相关联。
[0197]
应注意,为了避免使用在设备4与dps实体6之间实施的协作将反射攻击引入网络nw,可以配置在经由dps实体6传输的通信中所涉及的通信设备,使得它们不会发送超过三
个披露该通信的控制信息的quic分组。
[0198]
图9示出了网络的实体(例如这里的dps实体6)对在设备4与5之间交换的quic分组的报头中披露的控制信息的示例性使用,以减轻网络攻击。
[0199]
参考图9a,在设备4的发端,同意协作通信的特征在于dps实体6观察到以下元素:
[0200]
·
从设备4向设备5发送(quic1)quic通信初始化消息:在该消息中,标志c被设置为1,并且“公共控制状态”字段(或图中的pcs)被设置为pcs=0x0(或0)。设备4的连接标识符(scid或源cid)被设置为val4,而远程设备5的连接标识符(dcid)被设置为0;
[0201]
·
由设备5向设备4发送(quic 2)quic消息,其中标志c被设置为1,并且“公共控制状态”字段被设置为pcs=0x1(反映发送或接收同意信息);
[0202]
·
由设备4向设备5发送(quic 3)quic消息,其中标志c被设置为1,并且“公共控制状态”字段被设置为pcs=0x2(反映分组发送和接收同意信息);
[0203]
·
由设备5向设备4、以及由设备4向设备5发送(quic4)和(quic5)quic消息,其中标志c被设置为1,并且“公共控制状态”字段被设置为pcs=0x03(反映在相互同意的情况下建立的通信)。
[0204]
对于由设备5发起建立的通信,可以描述类似的交换。
[0205]
如果没有在两个设备之间交换同意消息(对应于设置为0x3的“公共控制状态”字段),或者如果设备4没有明确指示其同意接收流量作为与设备5建立的通信的一部分,则位于设备4与5之间发生的交换的路径上的dps实体6能够检测到去往或源自设备4的流量中的异常。
[0206]
如果检测到这样的异常,则dps实体6可以决定将所述通信的数据分组重新引导到用于处理这些数据分组的清理中心或者阻止这些数据分组。
[0207]
根据图9b中所展示的另一个示例,在已经从设备5接收到各种数据分组(发送(quic6)和(quic7))之后,设备4可以发送“公共控制状态”字段被设置为pcs=0x4的quic消息(发送(quic8))。该消息被dps实体6截取,该dps实体从中提取通信控制信息然后删除该消息。该通信的所有分组或者甚至从设备5接收的所有通信的分组然后被dps实体6阻止并被拒绝(拒绝发送(quic9)和(quic10))。这些过滤器可以在特定期限到期后被移除。应注意,优选地,由dps实体6截取的消息不被路由到设备5,以避免所述设备使用它来更改其攻击策略。
[0208]
关于这两个示例,很明显,在quic协议的框架内披露控制信息有利地允许dps实体6更好地将设备4同意的流量与攻击的流量区分开,并采取适当和有效的动作以减轻攻击。
[0209]
如上所述,除了披露通信控制信息之外,dps实体6还可以向设备4(以及在适用的情况下,向设备5)提出其他协作动作,并且尤其是在由设备4建立的通信期间冻结通信标识符的迁移(对应于由dps实体6向设备4发送的comit帧中设置为0x2的“strategy_id”参数)。
[0210]
对于这个动作,也可以设想在设备4接受由dps实体6提出的协作之后,在设备4与5之间实施协商阶段。
[0211]
以本身已知的方式,quic协议为通信设备提供了在它们的通信期间改变它们用来表征所述通信的通信标识符(在quic协议的上下文中更通常被称为连接标识符或cid)的可能性。这种改变(也被称为“连接标识符的迁移”)通常经由交换为此目的提供的quic帧来执行,并且帧的内容被加密,特别是通信要迁移到的连接标识符,使得网络的实体不可能在通
信设备迁移之后使用的通信的新连接标识符与迁移之前使用的先前连接标识符之间建立联系。本发明提供了在确定的持续时间内冻结与通信相关的连接标识符的迁移的可能性,该持续时间可以等于在comit帧中提供的“寿命”参数的值,或者作为变体,对应于通信将持续的时间。
[0212]
通过在quic通信的持续时间内保持相同的连接标识符,简化了比如dps实体6等网络功能对该通信的数据分组特性的分类,因为这使得能够将在同一个通信期间发送的分组与接收的分组相关联。因此,当一个或多个减轻动作正在进行时,唯一地标识同一个通信。dps实体6对分组的分析(以确定它们是属于设备4同意的流量还是攻击流量)从而被大大简化。
[0213]
至于控制信息的披露,在应用冻结与其正在进行的通信相关的连接标识符的迁移之前,设备4可以发起与其通信者(这里尤其是与设备5)的协商阶段(图5的步骤f50,图6的步骤g10和g20)。
[0214]
为此,设备4向设备5发送消息,该消息向后者通知它计划执行对连接标识符的冻结。该消息在这里采取被称为freeze_cid的加密quic帧的形式,并且尤其包括“寿命”参数,该参数指示设备4计划在其与设备5通信期间维持唯一连接标识符cid的持续时间。优选地,将“寿命”持续时间选择为使得连接标识符cid在整个通信过程中保持相同(应注意,因此,用于维持连接标识符cid的“寿命”持续时间不一定对应于由dps实体6在comit消息中提供的协作的启用持续时间。特别地,它可以小于在comit消息中提供的持续时间)。
[0215]
作为变体,freeze_cid帧可以包含其他参数。因此,以本领域技术人员已知的方式,连接标识符cid包括两部分,源连接标识符或scid以及目的地连接标识符或dcid。作为执行条件,freeze_cid帧可以指示由协作动作推荐的维护所应用的部分。
[0216]
在“寿命”持续时间结束时,在设备4上自动停用协作。然后,如果需要,设备4可以根据本领域技术人员已知的常规quic协议机制,使用已知的quic帧new_connection_id和retire_connection_id来生成新的连接标识符并迁移连接标识符。
[0217]
远程设备5可以分别通过用确认消息ack进行响应(步骤g30)或者通过忽略freeze_cid消息(步骤g40),来分别接受(测试步骤g20中的响应“是”)或者拒绝(测试步骤g20中的响应“否”)对连接标识符的冻结。
[0218]
一旦成功完成协商阶段,两个设备4和5维护一个且仅一个连接标识符cid,这里该连接标识符由设备4生成的连接标识符和设备5生成的连接标识符形成(根据在通信期间交换的消息的方向,交替充当scid和dcid)(步骤g50和f70)。
[0219]
应注意,当dps实体6在其comit消息中提出多个协作动作的组合时(例如,将“strategy_id”参数设置为0x3以请求冻结连接标识符并披露控制信息),也可以实施与刚刚针对比如披露控制信息并冻结连接标识符等协作动作所描述的协商阶段相似或相同的协商阶段。在这种情况下,在协商阶段,远程设备5可以接受或拒绝这些协作动作中的一个或多个。
[0220]
如上所述,对于设备4,另一个可能的协作动作可以包括停用quic传输协议来建立其通信,以及使用除了quic之外的传输协议(例如tcp传输协议)来建立其未来的通信(也就是说在已经接收/检测到触发事件之后建立的通信)。至于其他协作动作,可以在设备4与其通信者之间实施预先协商,以确保所述通信者接受停用quic协议。
[0221]
在接受了由dps实体6提出的协作之后,并且在适用的情况下,如果其通信者同意,则只要协作是活动的,设备4就使用tcp协议来建立其新的通信。在协作结束时(换句话说,在“寿命”持续时间结束时),设备4可以重新使用quic协议来建立与其通信者的通信。
[0222]
刚刚提到的协作动作本身并不是限制性的。它们优选地应用在quic协议的框架内,但是不限于该协议。此外,当然可以设想其他协作动作,作为刚刚引用和描述的那些动作的变体或补充。
[0223]
此外,在这里描述的实施例中,设备4与网络nw(更具体地说与dps实体6)的协作的触发是由dps实体6发起的。作为变体,协作可以由设备4本身触发。在这种情况下,设备4不从网络接收明确的消息,而是依赖于它在本地观察到的事件(例如检测到攻击)或者由远程设备或第三方实体(在网络外部或不在网络外部)向其报告的事件。
[0224]
在该实施例中,默认情况下,协作涉及设备4经由网络nw进行的所有quic通信。然而,设备4可以在任何时候决定仅对其通信的子集启用该协作,例如根据由其通信者或用于路由通信数据的网络所报告的事件的性质来决定。
[0225]
此外,应注意,在这里描述的实施例中,设备4仅连接到单个网络nw,并且仅由单个网络功能(具体地说是dps实体6)请求。作为变体,同一个设备可以连接到多个不同的网络,并决定启用与这些网络的一个或多个不同实体的协作。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1