首页> 中国专利> 用于网络流量分析的方法、设备和系统

用于网络流量分析的方法、设备和系统

摘要

提供了一种用于网络流量分析的方法、设备和系统。该方法包括:获取当前时间间隔的流量数据;基于包括取模运算的哈希运算,在基于中国余数定理的可逆概要(CRT‑RS)中记录流量数据;基于当前时间间隔的流量数据与前一时间间隔的流量数据之间的变化,在CRT‑RS中检测异常桶;以及基于异常桶来恢复异常源地址关联信息,其中,取模运算的模数是从中国余数定理(CRT)中的模数中选择的,作为成对互质整数,并且CRT‑RS包括多个桶。检测步骤使用修改的多图累积和。

著录项

  • 公开/公告号CN112544059A

    专利类型发明专利

  • 公开/公告日2021-03-23

    原文格式PDF

  • 申请/专利权人 诺基亚通信公司;

    申请/专利号CN201880095982.3

  • 发明设计人 靖旭阳;闫峥;

    申请日2018-07-27

  • 分类号H04L29/08(20060101);

  • 代理机构11247 北京市中咨律师事务所;

  • 代理人杨晓光

  • 地址 芬兰埃斯波

  • 入库时间 2023-06-19 10:21:15

说明书

技术领域

本公开总体上涉及通信网络和应用的安全,并且更具体地,涉及用于网络流量分析的方法、设备和系统。

背景技术

作为互联网上的主要安全威胁的网络攻击已经引起了特别关注。网络的开放性和互连性以及协议和软件的安全脆弱性会导致多个且多级别的网络攻击。分布式拒绝服务(DDoS)泛洪攻击是互联网上的典型攻击之一。它旨在泛洪受害者并占用受害者的资源,以使得受害者无法为合法用户提供正常服务。

如何检测DDoS泛洪攻击是网络安全领域的热门话题。广泛用于检测DDoS泛洪攻击的方法包括统计方法、机器学习、以及基于知识的方法。随着网络规模的不断扩大,网络流量的不断增长给DDoS泛洪攻击的检测方法带来了极大的挑战。不完整的网络流量收集或对大规模网络流量的非实时处理将严重影响攻击检测的准确性和效率。此外,当前用于DDoS泛洪攻击的大多数检测方法是使用静态模型。

因此,需要改进对DDoS泛洪攻击的检测和缓解。

发明内容

为了克服上述问题并克服在阅读和理解现有技术时显而易见的限制,本公开提供了一种用于网络流量分析的方法、设备和系统。

根据本公开的第一方面,提出了一种用于网络流量分析的方法。该方法包括以下步骤:获取当前时间间隔的流量数据;基于包括取模运算的哈希运算,在基于中国余数定理的可逆概要(CRT-RS)中记录流量数据,其中,取模运算的模数是从中国余数定理(CRT)中的模数中选择的,作为成对互质整数,并且CRT-RS包括多个桶;基于当前时间间隔的流量数据与前一时间间隔的流量数据之间的变化,在CRT-RS中检测异常桶;以及基于异常桶来恢复异常源地址关联信息。

根据示例性实施例,流量数据包括至少一个数据分组,在CRT-RS中记录流量数据的步骤包括:从至少一个数据分组中导出至少一个成对项,其中,该成对项包括键和该键的关联值;以及在CRT-RS中记录至少一个成对项。

根据示例性实施例,键是从数据分组导出的源地址关联信息,并且是以下中的至少一个:源地址,源地址和端口的组合,源地址范围,以及数据分组的报头中的一个或多个字段。

根据示例性实施例,键的关联值是与键对应的数据分组的统计信息。

根据示例性实施例,关联值包括至少一个分量,分量是以下中的至少一个:与键对应的传输控制协议(TCP)分组数量;与键对应的用户数据报协议(UDP)分组数量;与键对应的互联网控制消息协议(ICMP)分组数量;与键对应的分组大小分布;以及与键对应的目的地地址分布。

根据示例性实施例,在CRT-RS中记录至少一个成对项包括:通过使用哈希运算来将至少一个键中的每个键映射到CRT-RS中的桶;将至少一个键中的每个键的关联值添加到CRT-RS中的对应桶的值。

根据示例性实施例,通过使用哈希运算来将至少一个键中的每个键映射到CRT-RS中的桶包括:对至少一个键中的每个键执行多个哈希运算,其中,每个哈希运算至少包括取模运算,并且取模运算的模数选自中国余数定理(CRT)中的模数,作为成对互质整数;以及基于哈希运算在多个哈希运算中的序列号和哈希运算的对应函数值,确定桶在CRT-RS中的位置。

根据示例性实施例,哈希运算在多个哈希运算中的序列号标示桶的行号,并且哈希运算的对应函数值标示桶的列号。

根据示例性实施例,哈希运算中的取模运算的模数以降序排列。

根据示例性实施例,基于由源地址关联信息指示的源地址数量来选择取模运算的模数。

根据示例性实施例,在基于中国余数定理的可逆概要中记录流量数据还包括:组合来自获取并记录流量数据的多个节点的CRT-RS中的对应桶的值。

根据示例性实施例,基于当前时间间隔的流量数据与前一时间间隔的流量数据之间的变化来检测CRT-RS中的异常桶包括:对于每个桶和关联值的每个分量,基于前一时间间隔的桶的累积和以及当前时间间隔的桶的值的变化,计算当前时间间隔的桶的值的累积和,其中,基于当前时间间隔的桶的值、当前时间间隔的桶的平均值、以及具有缩放因子的当前时间间隔的桶的标准偏差来计算当前时间间隔的桶的值的变化。

根据示例性实施例,基于当前时间间隔的桶的值和前一时间间隔的桶的平均值来计算当前时间间隔的桶的平均值,其中,当前时间间隔的桶的值和前一时间间隔的桶的平均值中的至少一个用权重系数来计算。

根据示例性实施例,基于当前时间间隔的桶的值、当前时间间隔的桶的平均值、以及前一时间间隔的桶的标准偏差,计算当前时间间隔的桶的标准偏差,其中,当前时间间隔的桶的值、当前时间间隔的桶的平均值和前一时间间隔的桶的标准偏差中的至少一个用权重系数来计算。

根据示例性实施例,基于当前时间间隔的流量数据与前一时间间隔的流量数据之间的变化来检测CRT-RS中的异常桶还包括:如果针对关联值的每个分量的当前时间间隔的桶的累积和超过第一阈值,则确定异常桶。

根据示例性实施例,第一阈值对于关联值的不同分量是不同的。

根据示例性实施例,基于当前时间间隔的流量数据与前一时间间隔的流量数据之间的变化来检测CRT-RS中的异常桶还包括:如果针对关联值的所有分量的桶的累积和的总和超过第二阈值,则确定异常桶。

根据示例性实施例,基于当前时间间隔的流量数据与前一时间间隔的流量数据之间的变化来检测CRT-RS中的异常桶还包括:对于所检测的异常桶的每个桶,将当前时间间隔的桶的累积和的值、当前时间间隔的桶的平均值、以及当前时间间隔的桶的标准偏差分别设置为前一时间间隔的桶的累积和的值、前一时间间隔的桶的平均值、以及前一时间间隔的桶的标准偏差。

根据示例性实施例,基于异常桶来恢复异常源地址关联信息包括:通过基于异常桶的位置求解哈希运算,恢复对应于异常桶的键;以及从键中获取异常源地址关联信息。

根据示例性实施例,基于异常桶来恢复异常源地址关联信息包括:在映射列表中记录与至少一个键中的每个键对应被映射的桶的位置;通过将异常桶的位置与映射列表中桶的位置进行匹配,恢复对应于异常桶的键。

根据示例性实施例,该方法还包括:将异常源地址关联信息添加到黑名单中。

根据示例性实施例,该方法还包括:将异常源地址关联信息添加到多个节点的黑名单中。

根据示例性实施例,该方法还包括:基于黑名单中的异常源地址关联信息,对流量数据的数据分组进行过滤。

根据本发明的第二方面,提出了一种用于网络流量分析的设备,并且该设备包括:获取单元,其被配置为获取当前时间间隔的流量数据;记录单元,其被配置为基于包括取模运算的哈希运算,在基于中国余数定理的可逆概要(CRT-RS)中记录流量数据,其中,取模运算的模数是从中国余数定理(CRT)中的模数中选择的,作为成对互质整数,并且CRT-RS包括多个桶;检测单元,其被配置为基于当前时间间隔的流量数据与前一时间间隔的流量数据之间的变化,在CRT-RS中检测异常桶;恢复单元,其被配置为基于异常桶来恢复异常源地址关联信息;以及存储单元,其被配置为存储CRT-RS。

根据示例性实施例,流量数据包括至少一个数据分组,记录单元还被配置为:从至少一个数据分组中导出至少一个成对项,其中,成对项包括键和该键的关联值;以及在CRT-RS中记录至少一个成对项。

根据示例性实施例,键是从数据分组导出的源地址关联信息。

根据示例性实施例,键是以下中的至少一个:源地址,源地址和端口的组合,源地址范围,以及数据分组的报头中的一个或多个字段。

根据示例性实施例,键的关联值是与键对应的数据分组的统计信息。

根据示例性实施例,关联值包括至少一个分量,分量是以下中的至少一个:与键对应的TCP分组数量;与键对应的UDP分组数量;与键对应的ICMP分组数量;与键对应的分组大小分布;以及与键对应的目的地地址分布。

根据示例性实施例,记录单元还被配置为:通过使用哈希运算来将至少一个键中的每个键映射到CRT-RS中的桶;将至少一个键中的每个键的关联值添加到CRT-RS中的对应桶的值。

根据示例性实施例,记录单元还被配置为:对至少一个键中的每个键执行多个哈希运算,其中,每个哈希运算至少包括取模运算,并且取模运算的模数选自中国余数定理(CRT)中的模数,作为成对互质整数;以及基于哈希运算在多个哈希运算中的序列号和哈希运算的对应函数值,确定桶在CRT-RS中的位置。

根据示例性实施例,哈希运算在多个哈希运算中的序列号标示桶的行号,并且哈希运算的对应函数值标示桶的列号。

根据示例性实施例,哈希运算中的取模运算的模数以降序排列。

根据示例性实施例,基于由源地址关联信息指示的源地址数量来选择取模运算的模数。

根据示例性实施例,检测单元被配置为:对于每个桶和关联值的每个分量,基于前一时间间隔的桶的累积和以及当前时间间隔的桶的值的变化,计算当前时间间隔的桶的值的累积和,其中,基于当前时间间隔的桶的值、当前时间间隔的桶的平均值、以及具有缩放因子的当前时间间隔的桶的标准偏差来计算当前时间间隔的桶的值的变化。

根据示例性实施例,基于当前时间间隔的桶的值和前一时间间隔的桶的平均值来计算当前时间间隔的桶的平均值,其中,当前时间间隔的桶的值和前一时间间隔的桶的平均值中的至少一个用权重系数来计算。

根据示例性实施例,基于当前时间间隔的桶的值、当前时间间隔的桶的平均值、以及前一时间间隔的桶的标准偏差,计算当前时间间隔的桶的标准偏差,其中,当前时间间隔的桶的值、当前时间间隔的桶的平均值、和前一时间间隔的桶的标准偏差中的至少一个用权重系数来计算。

根据示例性实施例,检测单元还被配置为:如果针对关联值的每个分量的当前时间间隔的桶的累积和超过第一阈值,则确定异常桶。

根据示例性实施例,第一阈值对于关联值的不同分量是不同的。

根据示例性实施例,检测单元还被配置为:如果针对关联值的所有分量的桶的累积和的总和超过第二阈值,则确定异常桶。

根据示例性实施例,检测单元还被配置为:对于所检测的异常桶的每个桶,将当前时间间隔的桶的累积和的值、当前时间间隔的桶的平均值、以及当前时间间隔的桶的标准偏差分别设置为前一时间间隔的桶的累积和的值、前一时间间隔的桶的平均值、以及前一时间间隔的桶的标准偏差。

根据示例性实施例,恢复单元还被配置为:通过基于异常桶的位置求解哈希运算,恢复对应于异常桶的键;以及从该键中获取异常源地址关联信息。

根据示例性实施例,恢复单元还被配置为:在映射列表中记录与至少一个键中的每个键对应被映射的桶的位置;通过将异常桶的位置与映射列表中桶的位置进行匹配,恢复对应于异常桶的键;并且存储单元还被配置为存储所述映射列表。

根据示例性实施例,存储单元还被配置为:存储用于存储异常源地址关联信息的黑名单。

根据示例性实施例,该设备还包括:过滤单元,其被配置为基于黑名单中的异常源地址关联信息,对流量数据的数据分组进行过滤。

根据本公开的第三方面,提出了一种用于网络流量分析的系统,该系统包括根据第一方面的多个设备。

根据示例性实施例,该系统还包括管理设备,该管理设备包括:管理单元,其被配置为组合来自多个设备的CRT-RS中的对应桶的值。

根据示例性实施例,管理单元还被配置为:将异常源地址关联信息添加到多个设备的黑名单中。

根据本公开的第四方面,提出了一种装置,该装置包括用于执行根据第一方面的方法的部件。

根据本公开的第五方面,提出了一种非暂时性计算机可读存储介质,该非暂时性计算机可读存储介质存储指令,该指令在由一个或多个处理器执行时使处理器执行根据第一方面的方法。

仅通过说明多个特定实施例和实施方式(包括执行本公开的最佳模式),本公开的其他方面、特征和优点将通过以下详细描述而显而易见。本公开还能够具有其他且不同的实施例,并且可以在各种显而易见的方面修改其若干细节,而所有这些都不脱离本公开的精神和范围。因此,附图和描述本质上应被认为是说明性的,而不是限制性的。

附图说明

在附图的图中通过示例而非限制的方式示出了本公开的示例性实施例:

图1示出根据本公开的示例性实施例的概要的图;

图2示出根据本公开的示例性实施例的CRT-RS的图;

图3示出根据本公开的示例性实施例的系统架构的框图;

图4示出根据本公开的示例性实施例的布隆(Bloom)过滤器的图;

图5示出根据本公开的示例性实施例的另一系统架构的框图;

图6示出根据本公开的示例性实施例的用于网络流量分析的方法的流程图;

图7示出根据本公开的另一示例性实施例的用于网络流量分析的方法的流程图;

图8示出根据本公开的示例性实施例的用于网络流量分析的设备的框图;

图9示出根据本公开的另一示例性实施例的用于网络流量分析的设备的框图;

图10示出根据本公开的示例性实施例的用于网络流量分析的系统的管理设备的框图;

图11示出可以在其上实现本公开的示例性实施例的计算机系统;以及

图12示出可用于实现本公开的示例性实施例的芯片组。

具体实施方式

本公开包括本文公开的任何新颖的特征或特征的组合或者其任何概括。当结合附图阅读时,鉴于前述描述,对本公开的前述示例性实施例的各种修改和改编对于相关领域的技术人员而言将变得显而易见。然而,任何和所有修改仍将落入本公开的非限制性和示例性实施例的范围内。

DDoS泛洪攻击可以以两种方式产生:直接泛洪攻击和间接泛洪攻击。在直接泛洪攻击(即网络/传输层和应用层DDoS泛洪攻击)中,攻击者通常假冒攻击数据分组的源IP地址,并将分组直接发送给受害者。在间接泛洪攻击(即分布式反射DoS(DRDoS)和链路泛洪攻击)的情况中,攻击者使用许多无辜的中间设备来间接泛洪受害者。

存在三种广泛用于检测DDoS泛洪攻击的方法。第一种是统计方法,该方法观察网络活动并生成表示正常网络行为的配置文件(profile)。通过测量从当前收集的网络流量中提取的配置文件与正常行为配置文件之间的相似性,该方法判断在网络中是否存在异常。第二种是机器学习,其通过训练大量数据来建立网络流量的判断标准,并使用该标准来分析和确定当前收集的流量是否异常。第三种是基于知识的方法,该方法将网络事件与预定义的攻击规则或攻击模式进行比较以检测网络攻击。

DDoS泛洪攻击已经成为网络安全中的严重问题。研究人员已提出了许多用于检测DDoS泛洪攻击的方法。以下是有关DDoS泛洪攻击检测的现有相关工作。

示例性解决方案考虑针对以特定目的地为目标的UDP泛洪攻击的两个检测特征:(i)针对具有随机目的地端口的非欺骗源地址的总目的地端口变化的计数,以及(ii)针对随机欺骗的源地址的源地址变化的计数。每个节点表示唯一源地址的KD树用于记录进入流量的信息。在每个时间间隔中,执行KD树的前序遍历,以计算目的地端口变化的计数和源地址变化的计数的熵。当两个熵超过预设阈值时,将发出警报以指示UDP泛洪攻击。另一种方法利用源地址和目的地地址来将分组聚合成流。基于源自同一僵尸网络的攻击分组具有相似大小的知识,研究人员计算每个流中分组大小分布的熵。分组大小越集中,则熵越低。通过测量正常流量和当前流量之间的熵偏差来检测DDoS泛洪攻击。一些研究人员通过将CKNN(具有相关分析的K最近邻流量分类)应用于流级别数据,提供了一种部署在数据中心的有效检测方法。他们用相同的5元组(即,源和目的地地址、源和目的地端口、以及协议类型)聚合来自数据中心网络的分组。每个流可以由一组统计特征来表示,例如流持续时间、流大小等。由于(由同一应用生成的)流之间的高度相关,因此,该方法可以通过用CKNN分类和相关分析检查流特征来检测攻击。另一解决方案讨论了五种熟练的SYN泛洪攻击,并提出了一种准确且快速的检测方法,称为SACK

一些研究人员发现,在DRDoS泛洪攻击中来自反射器的响应流的速率彼此之间具有线性关系,因为它们是由相同的攻击流量模拟的。它们将通过一台路由器发送给受害者的所有分组定义为流。斯皮尔曼等级相关系数被用于计算流量对之间的流相关系数,以区分攻击流量和合法流量。该方法利用DRDoS泛洪攻击流量的相似特性。在另一种方法中,从DNS查询流量中选择若干特征,例如,来自同一IP的分组间到达时间的平均值、每15秒IP的出现概率、最小、平均和最大分组大小等,DNS流量通过使用决策树、多层感知器、朴素贝叶斯和SVM被分类为正常和异常。使用诸如信息增益、增益比和卡方检验的属性选择算法来减少冗余特征。实验结果表明,决策树达到最高准确率99.3%。由同一僵尸网络生成的攻击分组在分组级别数据上具有高度相似性。其他研究人员提出了一种针对DNS放大泛洪攻击的反射器端检测方法。每单位时间提取三个特征,包括DNS请求分组的数量、DNS响应分组大小与DNS请求分组大小的比率、以及DNS响应分组的数量与DNS请求分组的数量的比率。然后,使用k均值算法来对正常集群和异常集群进行分类,以形成检测模式并计算参考点。基于检测模式,新数据是否正常是通过它与每组的参考点的距离来确定的。重新路由流量是检测链路泛洪攻击的可行方法。另一示例性解决方案制定了经由关系代数的链路泛洪攻击的检测方法。它表示僵尸与潜在目标之间的关联。流量以某种方式被连续地重新路由,以使得僵尸被迫持续参与链路泛洪事件。因此,僵尸表现出可疑行为并揭示其存在。还提出了一种协作式重新路由系统,该系统将合法流量重新路由到未拥塞链路,同时限制可用于在拥塞链路攻击流量的带宽。

有多种用于DDoS泛洪攻击的检测方法。但是,现有的研究很少考虑大规模网络流量所带来的影响,并满足自适应检测和协议独立性的检测要求。这些方法在DDoS泛洪攻击检测领域面临以下几个问题:

(1)缺少有效的网络流量压缩和融合方法。不断增长的网络流量要求检测方法必须具有处理大规模网络流量的能力,并同时确保高检测精度和高效。否则,在处理大规模网络流量时,检测方法将变得低效甚至无用。采用综述形式完整描述网络流量信息并准确定位异常流量的网络流量的有效压缩和融合可以极大地消除大规模网络流量对网络攻击检测带来的影响。但是,在文献中仍缺少可以高精度地压缩和融合大规模网络流量的对DDoS泛洪攻击的有效检测方法。

(2)缺少自适应和协议独立检测方法。大多数检测方法通常针对网络行为构建正常的配置文件,并基于正常配置文件与当前网络配置文件之间的偏差来检测入侵。但是,攻击者可以通过有意训练检测方法以使它逐渐将异常网络行为接受为正常来精心发起攻击。面对这样的攻击,很难定义什么类型的网络行为是正常的。如果正常网络行为的模式是错误的或不完整的,则检测方法将具有高的误报率。因此,检测方法应当适应当前网络行为的变化,而不是主要依赖于静态配置文件。此外,在各种网络协议的上下文中存在多种DDoS泛洪攻击。该方法无法预测何时以及哪种类型的攻击将发生。合格的检测方法应当是独立于协议地检测DDoS泛洪攻击。直接DDoS和间接DDoS泛洪攻击都有它们自己的攻击特性,并且可以利用多种协议来发起攻击。因此,期望一种独立于协议的方法来检测一类DDoS泛洪攻击,而不是检测特定的协议相关攻击。

由于上述缺陷,迫切需要通用的网络攻击检测方法,其具有处理大规模网络流量的能力,具有自适应检测的特性,并支持协议独立性。

本公开的示例性实施例提出了新颖的针对DDoS泛洪攻击的网络流量融合和分析方法、设备和系统。首先,为了具有全局网络流量信息,新的基于中国余数定理的可逆概要(CRT-RS)被设计以有效地压缩和融合网络流量。该概要基于CRT的模数来生成,因此,它是可逆的。基于CRT的可逆概要不仅可以有效地压缩和融合网络流量,而且还具有反向恢复异常源地址的能力。其次,使用修改的多图累积和(MM-CUSUM)算法的针对DDoS泛洪攻击的多维变化点检测方法被设计以监控CRT-RS所生成的流量数据记录上的突然变化。多图累积和意味着累积和是以表示流量数据的特性的向量的多个维度或分量来计算的。MM-CUSUM算法用于针对DDoS泛洪攻击的多维变化点检测,以监控流量记录上的突然变化。通过使用CRT-RS和MM-CUSUM算法来执行流量融合、分析和攻击检测,所提出的根据本公开的一些实施例的方法、设备和系统能够处理大规模网络流量、发现异常源地址、实现自适应检测、并支持协议独立性。

DDoS泛洪攻击通常用大量的攻击数据分组来泛洪受害者。因此,数据分组数量的急剧增加是DDoS泛洪攻击的指示。而且,当前的DDoS泛洪攻击通常是由僵尸网络发起的。每个被相同恶意程序感染的僵尸都生成采用相同格式的攻击数据分组。攻击数据分组共享许多相似的特性,例如分组大小、分组速率、目的地地址、目的地端口等。但是这些特性与合法分组有很大不同,以使得它们也可被用于检测例如DDoS泛洪攻击。

下面,首先简要说明本公开的理论背景。然后,根据本公开的示例性实施例,详细介绍新的基于中国余数定理(CRT-RS)的可逆概要。

用于汇总网络的流量数据的数据结构包括哈希值、位图、堆栈(pile)、字典树、概要(sketch)等。传统的概要是紧凑且恒定大小的数据结构,其通过使用哈希函数以随机地聚合流量来汇总网络流量。概要被广泛用于网络性能监控、网络管理、攻击检测和流量工程。在本公开的一些实施例中,从k个全域哈希函数的族中选择的哈希函数中的模数被CRT中的模数代替,并且采用数论中模块化系数描述的概念来保留余数。这样,新的CRT-RS不仅可以获取与传统的概要相同的容量,而且具有反向发现异常源地址的能力。因此,在网络流量收集过程中,CRT-RS有效地压缩和融合网络流量。在CRT-RS的每个桶中,构造了向量以记录流量信息。该向量中的每个维度是网络流量的统计信息,例如分组数量、分组大小分布、不同目的地地址的数量等。

首先,在本公开的示例性实施例中,用于网络流量分析的方法、设备和系统捕获来自网络的流量数据。流量数据可以包括多个数据分组。一些数据分组的目的地可以是用于网络流量分析的设备,其也被称为节点,然后,由设备或系统获取的数据分组可被称为所接收的数据分组,并且流量数据可被称为所接收的流量数据。其他数据分组的目的地可以不是用于网络流量分析的设备或节点,并且该设备仅转发数据分组,那么,由该设备或节点获取的数据分组可以被称为进入或到达数据分组,并且流量数据可被称为进入或到达流量数据。为了便于参考,在本说明书的上下文中,由设备或节点获取的用于网络流量分析的流量数据被称为进入或到达流量数据。

概要100是一种概率数据汇总技术,并且由H个大小为M的哈希表组成,其中M是正整数,如图1所示。哈希表意为包括H个哈希函数的哈希函数102组或族的函数值的表或图,其中H是正整数。进入网络流量数据被建模为包含键101和键101的关联值103的成对项,其中键101是源地址关联信息,诸如分组的大小、分组的数量、分组的分布等,值103可以是任何累积特征,例如,与键101对应的数据分组的统计信息。

在本公开的示例性实施例中,基于包括键101和键101的关联值103的成对项的定义,与相应的键101(即源地址关联信息)对应的多个成对项可以从流量数据导出并被记录在概要100中。通过记录从流量数据导出的成对项,流量数据信息被记录在概要中。

概要100的每一行i与独立的哈希函数h

其中,r是任意质数(例如,选择梅森(Mersenne)质数以用于快速实现),a

注意,哈希函数102的形式不限于在等式(1)中定义的k个全域哈希函数的族。其他哈希函数102也可以被用于将键101映射到概要100中。例如,哈希函数可以被选择为h

在传统的概要中,我们无法报告由于哈希函数的不可逆性而表现异常的键集合。这意味着传统的概要是不可逆的。为了解决这个问题,本公开的一些示例性实施例提出了基于中国余数定理的可逆概要(CRT-RS)200,如图2所示。与以上参考图1讨论的传统的概要100相比,H个哈希函数102中的哈希函数的模数,即在H行的每一行i中,被中国余数定理(CRT)中的模数代替,因此在CRT-RS 200的每一行获得不相等数量的桶204。新的包括取模运算的哈希函数202(其中取模运算的模数是从CRT中的模数中选择的)可被表示为以下等式(2):

其中,p

在一些实施例中,我们还可以在等式(2)中将r设置为非常大的任意质数,将k设置为2,将a设置为1,将b设置为0。因此,CRT-RS中被优化的哈希函数202非常简单但有效,如等式(3)中所定义:

hi(x)≡x mod p

在CRT-RS 200中,在行i中的列数量是p

在CRT-RS 200中,每个桶104可被表示为RS[i][j],i=(1,2,…,H),j=(0,1,2,…,p

(1)更新(UPDATE):在本公开的示例性实施例中,获取在时间间隔期间的到达流量数据,并将其建模为至少一个成对项,作为新的成对项。当新的成对项(键,值)到达以要被记录在CRT-RS中时,成对项的键将通过H个哈希函数{h

RS[i][h

基于等式(3),应注意,从该键映射的行i中的桶的列号,即h

(2)查询(QUERY):键的查询被定义如下:

QUERY(key)=median

其中,运算median

(3)组合(COMBINE):通过累积每个CRT-RS的每个桶中的值,可以将具有相同概要参数的多个CRT-RS组合成一个。在本公开的一些实施例中,用于网络流量分析的方法在包括至少一个设备或节点的系统(例如,分布式服务器系统)上执行,该至少一个设备或节点分别执行针对DDoS泛洪攻击的网络流量分析。每个节点获取在时间间隔期间的到达流量数据,并将流量数据记录到相应的CRT-RS中。中心节点或监控节点可以将所有的CRT-RS组合成一个CRT-RS,以从整体角度执行网络流量分析。被组合的CRT-RS可以用于下一个过程,并且有关DDoS泛洪攻击的信息是基于CRT-RS中的异常桶,诸如攻击数据分组的源地址。中心节点或监控节点可以是执行网络服务和/或网络流量分析的节点之一,或者可以是仅执行网络流量分析的单个节点。在一个实施例中,中心节点或监控节点可以像其他节点一样获取来自网络的流量数据,或者收集来自其他节点的CRT-RS而不收集流量数据。

例如,我们组合一组CRT-RS,{RS

其中,l是记录CRT-RS的节点的数量,并且l>0。

(4)恢复(RECOVER):CRT-RS的恢复函数旨在反向恢复表现异常的一组键。首先考虑最简单的场景。假设一个键表现异常,因此在CRT-RS的每一行中只有一个被标记为异常的桶,被标示为c

x≡c

基于CRT,x可以用以下等式(8)来确定:

其中,P=p

在一般情况下,假设w(w>1)个键表现异常,因此,在CRT-RS的每一行中有w个被标记为异常的桶。在本公开的一些实施例中,可以通过基于异常桶在CRT-RS中的位置求解哈希函数来恢复对应于这些异常桶的键。如果在最简单的场景中使用的类似恢复原理也被应用于键的恢复,则将获取来自不同行的异常桶的w

例如,在记录期间,关于从键到CRT-RS中的桶的映射的信息可被存储到映射列表中。映射列表可以至少包括与键对应映射的桶的位置信息,例如,桶在CRT-RS的每行中的列号,即,模块化系数描述。因此,当在每行中有许多被标记为异常的桶时,从第一行到最后一行由标志记录的模块化信息(列号)与所存储的已被哈希到映射列表中的CRT-RS中的所有键的模块化系数描述进行匹配。之后,可以基于所匹配的模块化系数描述,通过使用CRT来恢复所有的异常键,然后,可以从键导出异常源地址关联信息。这种方法比普通方法具有更少的计算负担,并将减少误报率。例如,表示模块化系数描述的标志也可以基于异常桶的列号来导出,,而不将标志存储在桶的值中。在一些实施例中,映射列表可被存储在单独的存储设备或与键或成对项相关联的相关存储字段中。

在恢复了异常源地址关联信息后,可以获取发送DDoS泛洪攻击的源地址或源地址组,其被称为异常源地址。异常源地址可被存储在黑名单中。在每个时间间隔中获取的流量数据可以包括来自新的异常源地址的攻击数据分组,然后,新的异常源地址被添加到黑名单中。在另一个实施例中,黑名单可以存储由从异常桶中恢复的异常键表示的异常源地址关联信息。基于黑名单,到达流量数据可以被过滤,以阻止属于执行DDoS泛洪攻击的源地址的数据分组。黑名单的查询将在下面详细讨论。

图3示出了根据本公开的示例性实施例的用于网络流量分析(特别是DDoS泛洪攻击检测和缓解)的方法、设备和系统的系统架构300。首先,在攻击缓解过程306期间,来自网络的流量数据301被布隆过滤器302进行过滤,以验证新到达流量数据301中的数据分组是否来自在黑名单305中存在的源地址或者源地址是否与由被存储在黑名单305中的异常源地址关联信息指示的异常源地址相匹配。如果数据分组是从异常源地址被发送的,则它们将被阻止,否则它们将被转发到攻击检测过程306。在攻击检测过程306期间,过滤后的流量数据被压缩并与前一时间间隔304的CRT-RS融合,以生成新的CRT-RS 303,即当前时间间隔的CRT-RS。然后,基于由CRT-RS 303生成的流量数据的统计信息,应用多维变化点检测方法来在CRT-RS 303的每一行中找出异常桶。变化点是统计中的概念,其表示在平稳分布过程中突然变化的点。通过利用CRT-RS的可逆特性,异常键被恢复并被添加到黑名单305中。下面介绍详细的过程。

根据本公开的示例性实施例的用于网络流量分析的方法利用DDoS泛洪攻击的基本特性来检测和缓解它们。在CRT-RS中,成对项的键被选择为源地址关联信息,目的是过滤来自由源地址关联信息指示的异常源地址或源地址组的攻击数据分组。源地址关联信息是关于被包括在流量数据中的至少一个数据分组的源地址或源地址组或范围的信息。例如,源地址关联信息可以是源地址、源地址和端口的组合、源地址范围、数据分组的报头中的一个或多个字段等、以及它们的任意组合。此外,只有当数据分组的任何部分中的一个或多个字段可被用于导出流量数据中数据分组的源地址时,才可以从该一个或多个字段中选择源地址关联信息。

成对项中键的关联值(即,被添加到CRT-RS的每行中的对应桶中的值)以及CRT-RS中的桶的值可被表示为value={value

根据示例性实施例,三个计数器被用于分别记录维度特征(1)至(3)。对于维度特征(4)和(5),例如,直方图可被用于计算分布,其中x坐标是分组大小/目的地地址,y坐标是数据分组数量。然后,在示例性实施例中,基于每个直方图来计算熵。关于流量数据的上述五个维度特征被用于检测DDoS泛洪攻击,因为它们反映了这种攻击的基本特性。值得注意的是,如果需要,CRT-RS可以涉及流量数据的更多维度特征,以支持攻击检测。

在本公开的一些实施例中,修改的多图累积和(MM-CUSUM)被用于在流量数据信息被记录在CRT-RS中后监视每个桶的突然变化。MM-CUSUM中的多图意味着累积和是基于成对项(键,值)中的值的多个维度的统计信息来计算的。按时间间隔获取到达流量数据,因此,在两个相邻时间间隔之间(例如,在前一时间间隔与当前时间间隔之间)监视CRT-RS的每个桶的突然变化。例如,在一个时间间隔中,可以在收集时间内收集流量数据并将其记录到CRT-RS中。在收集时间以后,用于网络流量分析的方法和设备可以通过使用MM-CUSUM算法来开始对CRT-RS中的异常桶的检测。

标示RS(n)是从在例如第n个时间间隔中收集的流量数据映射的流量数据信息。RS[i][j](n)是桶在CRT-RS的行i和列j中的值,其中i=(1,2,…,H),j=(0,1,…,p

其中,g=(1,2,3,4,5)是上述的维度特征数量,初始累积和M

在一些实施例中,均值

其中,α是可调整参数,例如,作为在计算平均值

注意,网络波动可以包括正常增加的流量数据,诸如在某些在线购物的场景中由于促销而导致的大量访问。设A

其中,由于维度特征1至3的统计信息是数据分组的数量,因此,τ1

在本公开的一些实施例中,也可以根据维度特征的重要性来将A

对于桶RS[i][j](n)的异常桶的最终决策是如等式(14)中所定义的A

其中,δ是用于所有维度特征的可调整阈值。对于键的关联值的统计信息的每个维度或分量,δ可被认为是第n个时间间隔的CRT-RS的每行和每列的桶的融合累积和的阈值。定义该判断标准的原因是,当DDoS泛洪攻击发生时,TCP/UDP/ICMP数据分组数量的急剧增加是攻击的指示符。因此,在等式(12)中设定:如果M

应当注意,如果存在DDoS泛洪攻击,则从自源于异常源地址或异常源地址组的数据分组导出的键映射的CRT-RS中的所有桶都具有当前时间间隔的异常累积和。在CRT-RS中每行和每列中的桶都应当以遍历的方式被检查,而不是仅检查部分桶,以避免攻击检测中的误判断。

值得注意的是,M

在定位了CRT-RS的每行中的异常桶之后,可以使用CRT-RS的恢复函数来反向计算指示异常源地址关联信息的键。例如,在CRT-RS的每行中的异常桶的列号(等式7中的c

所计算的异常键的异常源地址关联信息或由异常源地址关联信息指示的异常源地址被添加到黑名单中。通过查找新的到达流量数据的源地址是在黑名单中或与由黑名单中的异常源地址关联信息指示的异常源地址相匹配,对由黑名单验证的恶意流量数据进行过滤。

在示例性实施例中,布隆过滤器可用于快速查找黑名单。布隆过滤器是用于集合成员资格查询的节省空间的数据结构。它由所有初始值为零的m位的数组和范围为(0,1,2,…,m-1)的K个独立的哈希函数h

其他算法也可以用于查找黑名单。这些算法例如是二进制搜索、块搜索、二进制树查找等。

图5示出了根据本公开的一些实施例的用于针对DDoS泛洪攻击的网络流量分析的方法和设备的另一系统架构。用于网络流量分析的系统400包括:至少一个节点402,其中,每个节点402分别针对DDoS泛洪攻击执行网络流量分析;以及中心或监控节点403,其从总体角度执行网络流量分析。监控节点403可以从节点402中选择,然后它还具有以下功能:获取来自网络的到达流量数据401,将流量数据401记录到相应的CRT-RS 404中,以及基于黑名单而过滤来自异常源地址的数据分组。监控节点403也可以是执行在CRT-RS中检测异常桶并仅更新黑名单的功能的单独节点。例如,监控节点403收集来自其他节点402中的每一个或一部分的CRT-RS,并基于CRT-RS的组合函数来将CRT-RS组合成一个CRT-RS。然后,监控节点403通过使用上述的MM-CUSUM算法来在所组合的CRT-RS中检测异常桶,并将基于从异常桶恢复的键的异常源地址或异常源地址关联信息添加到监控节点403的黑名单405中。黑名单405可以被发送给节点402中的每一个或一部分,以更新这些节点402的黑名单,以使得每个节点402可以过滤新的到达流量数据中的异常数据分组。

根据本公开的一些实施例,提供了用于网络流量分析的方法。图6示出了说明该方法的示例性步骤的流程图。用于网络流量分析的方法包括以下步骤:

S610:获取当前时间间隔的流量数据;

S620:基于包括取模运算的哈希运算,在基于中国余数定理的可逆概要(CRT-RS)中记录流量数据,其中,取模运算的模数选自中国余数定理(CRT)中的模数,作为成对互质整数,并且CRT-RS包括多个桶;

S630:基于当前时间间隔的流量数据与前一时间间隔的流量数据之间的变化,在CRT-RS中检测异常桶;以及

S640:基于异常桶,恢复异常源地址关联信息。

具体地,流量数据可以包括至少一个数据分组,并且被建模为成对项(键,值),因此,步骤S620还可以包括:从至少一个数据分组中导出至少一个成对项的步骤,其中,成对项包括键和该键的关联值;以及在CRT-RS中记录至少一个成对项的步骤。在示例性实施例中,键表示从数据分组导出的源地址关联信息,并且是数据分组的源地址、源地址和端口的组合、源地址范围、以及数据分组的报头中的一个或多个字段中的至少一个。键的关联值是与键对应的数据分组的统计信息。值例如是包括多个分量的向量,每个分量是与键对应的TCP分组数量、与键对应的UDP分组数量、与键对应的ICMP分组数量、与键对应的分组大小分布、以及与键对应的目的地地址分布中的至少一个。

在CRT-RS中记录至少一个成对项的步骤可以包括:通过使用哈希运算来将至少一个键中的每个键映射到CRT-RS中的桶,以及将至少一个键中的每个键的关联值添加到CRT-RS中对应桶的值。映射可以进一步包括:对至少一个键中的每个键执行多个哈希运算的步骤,其中每个哈希运算至少包括取模运算,并且取模运算的模数可以从中国余数定理(CRT)中的模数选择,作为成对互质整数;以及基于哈希运算在多个哈希运算中的序列号和哈希运算的对应函数值来确定桶在CRT-RS中的位置的步骤。可以基于由源地址关联信息指示的多个源地址来选择取模运算的模数。根据示例性实施例,桶的位置由作为桶的行号的哈希运算在多个哈希运算中的序列号和作为桶的列号的哈希运算的对应函数值来标示。在基于中国余数定理的可逆概要中记录流量数据的步骤还可以包括:组合来自获取并记录流量数据的多个节点的CRT-RS中的对应桶的值。

步骤630可以进一步包括以下步骤:对于每个桶和关联值的每个分量,基于前一时间间隔的桶的累积和以及当前时间间隔的桶的值的变化,计算当前时间间隔的桶的累积和。此外,可以基于当前时间间隔的桶的值、当前时间间隔的桶的平均值、以及具有缩放因子的当前时间间隔的桶的标准偏差,计算当前时间间隔的桶的值的变化。根据示例性实施例,可以基于当前时间间隔的桶的值和前一时间间隔的桶的平均值,计算当前时间间隔的桶的平均值,其中,当前时间间隔的桶的值和前一时间间隔的桶的平均值中的至少一个可用权重系数来计算。可以基于当前时间间隔的桶的值、当前时间间隔的桶的平均值、以及前一时间间隔的桶的标准偏差,计算当前时间间隔的桶的标准偏差,其中,当前时间间隔的桶的值、当前时间间隔的桶的平均值、和前一时间间隔的桶的标准偏差中的至少一个用权重系数来计算。

在计算了桶的累积和之后,如果针对关联值的每个分量的当前时间间隔的桶的累积和超过第一阈值,则该方法可以进一步确定异常桶。第一阈值可以对于关联值的不同分量是不同的。例如,如果针对关联值的所有分量的桶的累积和的总和超过第二阈值,则该方法可以进一步确定异常桶。如果检测到异常桶,则该方法可以进一步将当前时间间隔的桶的累积和的值、当前时间间隔的桶的平均值、以及当前时间间隔的桶的标准偏差分别设置为前一时间间隔的桶的累积和的值、前一时间间隔的桶的平均值、以及前一时间间隔的桶的标准偏差。

步骤S640还可以包括以下步骤:通过基于异常桶的位置求解哈希运算,恢复对应于异常桶的键;以及从键中获取异常源地址关联信息。在示例性实施例中,步骤640可以包括:在映射列表中记录与至少一个键中的每个键对应被映射的桶的位置;以及通过将异常桶的位置与映射列表中桶的位置进行匹配,恢复对应于异常桶的键。这种恢复方式将减少计算量。

除了DDoS泛洪攻击检测之外,用于网络流量分析的方法还可以包括通过使用存储了异常源地址关联信息的黑名单和用于对执行攻击的异常源地址进行过滤的过滤器来缓解攻击的步骤。

图7示出了根据本公开的示例性实施例的用于网络流量分析的方法,尤其是用于DDoS泛洪攻击缓解。该方法包括以下步骤:

S710:判断数据分组的源地址是否与由黑名单中的异常源地址数据关联信息指示的源地址相匹配;

S720:如果步骤S710的结果为“否”,则获取当前时间间隔的流量数据,其中,在系统初始化中,由于黑名单为空,因此该方法可以直接进入S720;

S730:基于包括取模运算的哈希运算,在基于中国余数定理的可逆概要(CRT-RS)中记录流量数据,其中,取模运算的模数选自中国余数定理(CRT)中的模数,作为成对互质整数,并且CRT-RS包括多个桶;

S740:根据当前时间间隔的流量数据与前一时间间隔的流量数据之间的变化,在CRT-RS中检测异常桶;

S750:基于异常桶,恢复异常源地址关联信息;

S760:将异常源地址关联信息添加到黑名单中;

S770:如果步骤S710的结果为“是”,则基于黑名单中的异常源地址关联信息,对流量数据的数据分组进行过滤;

S780:获取当前时间间隔的流量数据,被过滤的流量数据的源地址与由黑名单中的异常源地址关联信息指示的源地址不匹配。

对于包括执行网络流量分析的多个节点的系统架构,与在单个节点或设备上的网络流量分析的方法的步骤相比,根据本公开的一些实施例的方法可以进一步包括:例如在DDoS泛洪攻击检测过程期间,组合来自获取并记录流量数据的多个节点的CRT-RS中的对应桶的值的步骤;以及例如在DDoS泛洪攻击缓解过程期间,将异常源地址关联信息添加到多个节点的黑名单中的步骤。

图8示出了根据本公开的示例性实施例的用于网络流量分析的设备,特别是用于DDoS泛洪攻击检测。设备800可以包括获取单元810、记录单元820、检测单元830、恢复单元840和存储单元850。获取单元810可被配置为获取当前时间间隔的流量数据。记录单元820可被配置为基于包括取模运算的哈希运算,在基于中国余数定理的可逆概要(CRT-RS)中记录流量数据,其中,取模运算的模数是从中国余数定理(CRT)的模数中选择的,作为成对互质整数,并且CRT-RS包括多个桶。然后,检测单元830可被配置为基于当前时间间隔的流量数据和前一时间间隔的流量数据之间的变化来在CRT-RS中检测异常桶。恢复单元840可被配置为基于异常桶来恢复异常源地址关联信息。CRT-RS的数据被存储在存储单元850中。每个单元810至840还可以包括存储器单元,以在这些单元的对应处理中存储相关信息。在一些实施例中,相关信息或其他数据(例如与MM-CUSUM算法有关的数据)也可被存储在存储单元850中。

流量数据可以包括至少一个数据分组。获取单元可以包括用于接收来自网络的流量数据的数据分组的通信接口。记录单元820还被配置为从至少一个数据分组导出至少一个成对项,并在CRT-RS中记录至少一个成对项。成对项可以包括键和该键的关联值。具体地,根据示例性实施例,键是从数据分组导出的源地址关联信息,并且可以是以下中的至少一个:源地址,源地址和端口的组合,源地址范围、以及数据分组的报头中的一个或多个字段。成对项中的键的关联值可以是与键对应的数据分组的统计信息,并且包括以下中的至少一个:与键对应的TCP分组数量、与键对应的UDP分组数量、与键对应的ICMP分组数量、与键对应的分组大小分布、以及与键对应的目的地地址分布。

记录单元820例如可以通过使用哈希运算将至少一个键中的每个键映射到CRT-RS中的桶并将至少一个键中的每个键的关联值添加到CRT-RS中对应桶的值相,将成对项记录到CRT-RS中。在映射过程中,记录单元820还可被配置为:对至少一个键中的每个键执行多个哈希运算,其中每个哈希运算至少包括取模运算,并且取模运算的模数选自中国余数定理(CRT)中的模数,作为成对互质整数;以及基于哈希运算在多个哈希运算中的序列号和哈希运算的对应函数值来确定桶在CRT-RS中的位置。例如,桶的位置可以由作为桶的行号的哈希运算在多个哈希运算中的序列号和作为桶的列号的哈希运算的对应函数值标示。在哈希函数的配置中,可以按升序或降序排列哈希运算中的取模运算的模数。关于源地址数量,在一些实施例中,基于由源地址关联信息指示的源地址数量来选择取模运算的模数。

在示例性实施例中,检测单元830可被配置为执行MM-CUSUM算法以执行攻击检测,例如针对每个桶和关联值的每个分量,基于前一时间间隔的桶的累积和以及当前时间间隔的桶的值的变化,计算当前时间间隔的桶的值的累积和,其中,基于当前时间间隔的桶的值、当前时间间隔的桶的平均值、以及具有缩放因子的当前时间间隔的桶的标准偏差来计算当前时间间隔的桶的值的变化。例如,可以基于当前时间间隔的桶的值和前一时间间隔的桶的平均值,计算当前时间间隔的桶的平均值,其中,当前时间间隔的桶的值和前一时间间隔的桶的平均值中的至少一个用权重系数来计算。然后,可以基于当前时间间隔的桶的值、当前时间间隔的桶的平均值、以及前一时间间隔的桶的标准偏差,计算当前时间间隔的桶的标准偏差,其中,当前时间间隔的桶的值、当前时间间隔的桶的平均值、和前一时间间隔的桶的标准偏差中的至少一个用权重系数来计算。

在计算了桶的累积和之后,检测单元830可以进一步被配置为:如果针对关联值的每个分量的当前时间间隔的桶的累积和超过第一阈值,则确定异常桶。在示例性实施例中,第一阈值对于关联值的不同分量是不同的。另外,可以通过确定针对关联值的所有分量的桶的累积和的总和是否超过第二阈值来检测异常桶。如果检测到异常桶,则检测单元830还被配置为对于所检测的异常桶中的每一个,将当前时间间隔的桶的累积和的值、当前时间间隔的桶的平均值、以及当前时间间隔的桶的标准偏差分别设置为前一时间间隔的桶的累积和的值、前一时间间隔的桶的平均值、以及前一时间间隔的桶的标准偏差。

在本公开的一些实施例中,在恢复过程期间,恢复单元840可被配置为:通过基于异常桶的位置求解哈希运算,恢复对应于异常桶的键;以及从键中获取异常源地址关联信息。该恢复过程可以通过简化方式来执行,例如,恢复单元840可被配置为:在映射列表中记录与至少一个键中的每个键对应被映射的桶的位置;以及通过将异常桶的位置与映射列表中桶的位置进行匹配,恢复对应于异常桶的键。映射列表可被存储在存储单元850中。

图9示出了根据本公开的示例性实施例的用于网络流量分析的设备,特别是用于DDoS泛洪攻击缓解。与图8中的设备800相比,图9中的设备900可以进一步包括过滤单元960,其被配置为基于黑名单中的异常源地址关联信息,对流量数据的数据分组进行过滤。诸如获取单元910、记录单元920、检测单元930和恢复单元940的其他单元被配置为执行如上所述的类似功能。与图8中的存储单元850相比,存储单元950可以具有附加功能,例如,存储用于存储异常源地址关联信息的黑名单。

根据本公开的一些实施例,提供了用于网络流量分析的系统。该系统可以包括多个如图8或9所示的设备。此外,该系统还可以包括如图10所示的管理设备1000。管理设备1000例如包括管理单元1010、检测单元1020、恢复单元1030、和存储单元1040。管理单元1010可被配置为组合来自多个图8或9的设备的CRT-RS中的对应桶的值。因此,管理单元1010可以包括通信接口以接收来自其他设备的CRT-RS并将更新的黑名单发送给这些设备。检测单元1020和恢复单元1030可被配置为执行与如图9所示的检测单元930和恢复单元940相似的功能。然后,存储单元1040可以存储所组合的CRT-RS和黑名单。与其他设备相比,根据本公开的示例性实施例,管理单元1010还可被配置为将异常源地址关联信息添加到多个设备的黑名单中,以使这些设备能够执行攻击缓解。

管理设备1000也可以从获取和记录流量数据的设备中选择。然后,管理设备1000可以包括如图9所示的所有单元以及如图10所示的管理单元1010。

基于上述特征,根据本公开示例性实施例的用于网络流量分析的方法、设备和系统提供了如下的至少一个优点:

适合于处理大规模网络流量:通过使用概要数据结构以将网络流量数据压缩并融合成紧凑且恒定大小的数据集,根据示例性实施例的解决方案能够通过得益于概要数据结构的先进性来有效地处理大规模流量数据。

新颖的可逆概要:根据一些实施例的用于网络流量分析的方法、设备和系统通过提出新颖的可逆概要(被称为CRT-RS)来解决传统的概要中的不可逆性问题。CRT-RS利用中国余数定理中的同余方程的解来反向计算键。因此,这些解决方案能够找到异常源地址,并能进一步缓解源自异常源地址的恶意流量数据。

自适应检测和协议独立:根据一些实施例的用于网络流量分析的方法、设备和系统是自适应且协议独立的,用于检测DDoS泛洪攻击。首先,该解决方案使用MM-CUSUM算法来监视网络流量随时间的突然变化,而不是预先构建网络活动的正常配置文件。这种设计可以使攻击检测适应最近的网络流量变化,而无需基于先前建立的静态配置文件进行判断。此外,该解决方案能够通过在检测过程中调整参数来检测一些精心设计的攻击。这种自适应特性使得解决方案更灵活和鲁棒,以应对更多的网络攻击。其次,该解决方案充分利用DDoS泛洪攻击的的导致数据分组数量急剧增加的基本攻击特性。有很多协议可以用来发起DDoS泛洪攻击。无法预测何时和何种类型的DDoS泛洪攻击将发生。协议独立的方法、设备和系统被高度预期用于作为整体来评估互联网安全。在根据本公开的示例性实施例提供的解决方案中,多维变化点检测方法被用于在CRT-RS的每行中找出异常桶。该设计可以支持在不同协议下处理异常攻击。所提供的解决方案是通用得解决方案,其可以基于具有高检测效率的统一可逆概要数据结构来组合不同的检测方法。因此,与其他现有检测方法相比,它具有很高的优势。

可扩展性:所设计的概要数据结构可被扩展以涉及用于DDoS泛洪攻击的更多维度特征。它也可被扩展以涉及某些特定的维度特征以检测其他网络攻击。因此,根据本公开的一些实施例的用于网络流量分析的方法、设备和系统不仅可以检测DDoS泛洪攻击,而且可被用于在检测过程中所使用的维度特征可被集成到概要数据结构中时检测其他攻击。从这个角度来看,这些解决方案可以以自适应、高效且协议独立的方式支持合成攻击检测。

图11示出了可以在其上实现本公开的示例性实施例的计算机系统1100。尽管计算机系统1100针对特定设备或装置进行了描述,但是可以预期,图11内的其他设备或装置(例如,网络单元、服务器等)可以部署所示的系统1100的硬件和组件。,计算机系统1100被设计并被编程(例如,通过计算机程序代码或指令)以用于如本文所述的在分布式网络中的分散信任评估,并且包括诸如总线1110的通信机制以用于在计算机系统1100的其他内部和外部组件之间传递信息。信息(也被称为数据)被表示为可测量现象的物理表达,通常是电压,但在其他实施例中包括诸如磁性、电磁、压力、化学、生物、分子、原子、亚原子和量子交互的现象。计算机系统1100或其一部分构成用于在虚拟化网络中执行安全和信任技术及解决方案中的一个或多个步骤的模块。

总线1110包括一个或多个并行的信息导体,以使得信息在被耦合到总线1110的设备之间被快速传输。用于处理信息的一个或多个处理器1102与总线1110耦合。

处理器1102执行对信息的一组操作,如与本文所述的在分布式网络中的分散信任评估有关的计算机程序代码所指定的。该计算机程序代码是提供用于处理器和/或计算机系统的操作以执行指定功能的指令的一组指令或语句。该代码例如可以用计算机编程语言编写,并被编译成处理器的本机指令集。代码也可以使用本机指令集(例如,机器语言)来被直接编写。该组操作包括从总线1110引入信息并将信息放置在总线1110上。该组操作通常还包括比较两个或更多个信息单元、对信息单元的位置移位、以及例如通过加法或乘法或逻辑运算(例如或(OR)、异或(XOR)、和与(AND))来组合两个或更多个信息单元。可以由处理器执行的一组操作中的每个操作被称为指令的信息(例如一个或多个数字的操作代码)表示给处理器。由处理器1102执行的操作序列,例如操作代码序列,构成处理器指令,也称为计算机系统指令或者简称为计算机指令。处理器可以单独或组合地被实现为机械、电气、磁性、光学、化学或量子组件。

计算机系统1100还包括被耦合到总线1110的存储器1104。诸如随机存取存储器(RAM)或其他动态存储设备之类的存储器1104存储信息,该信息包括用于如本文所描述的在分布式网络中的分散信任评估的处理器指令。动态存储器允许被存储在其中的信息被计算机系统1100改变。RAM允许被存储在被称为存储器地址的位置处的信息单元独立于在相邻地址处的信息来被存储和检索。处理器1102还使用存储器1104以在处理器指令的执行期间存储临时值。计算机系统1100还包括被耦合到总线1110的只读存储器(ROM)1106或其他静态存储设备,用于存储未被计算机系统1100改变的包括指令的静态信息。某一存储器由当断电时丢失被存储在其上的信息的易失性存储设备组成。非易失性(永久性)存储设备1108也被耦合到总线1110,诸如磁盘、光盘或闪存卡,用于存储即使当计算机系统1100被关闭或断电时也仍然存在的包括指令的信息。

信息(包括用于本文描述的在分布式网络中的分散信任评估的指令)从外部输入设备1112被提供给总线710以供处理器使用,该外部输入设备1112例如是包含由人类用户操作的字母数字键的键盘或传感器。主要用于与人交互的被耦合到总线1110的其他外部设备包括用于呈现文本或图像的显示设备1114(例如阴极射线管(CRT)或液晶显示器(LCD),或等离子屏幕或打印机)、以及用于控制在显示器1114上呈现的小光标图像的位置并发出与在显示器1114上呈现的图形元素相关联的命令的指示设备1116(例如鼠标或轨迹球或光标方向键或运动传感器)。在一些实施例中,例如,在其中计算机系统1100自动执行所有功能而无需人工输入的实施例中,外部输入设备1112、显示设备1114和指示设备1116中的一个或多个被省略。

在所示出的实施例中,诸如专用集成电路(ASIC)1120之类的专用硬件被耦合到总线1110。专用硬件被配置为出于专用目的而足够快地执行未被处理器1102执行的操作。专用IC的示例包括:用于生成用于显示器1114的图像的图形加速卡、用于对通过网络发送的消息进行加密和解密、语音识别的加密板、以及到特殊外部设备(例如重复执行可以在硬件中被更有效实现的某些复杂的操作序列的机械臂和医疗扫描设备)的接口。

计算机系统1100还包括被耦合到总线1110的通信接口1170的一个或多个实例。通信接口1170向以自己的处理器进行操作的各种外部设备(例如打印机、扫描仪和外部磁盘)提供单向或双向通信耦合。通常,耦合是通过网络链路进行的,该网络链路被连接到本地网络,并且具有自己的处理器的各种外部设备被连接到该本地网络。例如,通信接口1170可以是个人计算机上的并行端口或串行端口或通用串行总线(USB)端口。在一些实施例中,通信接口1170是集成服务数字网络(ISDN)卡或数字用户线(DSL)卡或电话调制解调器,其提供到对应类型的电话线的信息通信连接。在一些实施例中,通信接口1170是电缆调制解调器,该电缆调制解调器将总线1110上的信号转换成用于同轴电缆上的通信连接的信号或转换成用于光纤电缆上的通信连接的光信号。作为另一示例,通信接口1170可以是局域网(LAN)卡,以提供到诸如以太网之类的可兼容LAN的数据通信连接。也可以实现无线链路。对于无线链路,通信接口1170发送或接收或同时发送和接收电、声或电磁信号(包括红外和光信号),其携带信息流(例如数字数据)。例如,在无线手持设备(诸如像蜂窝电话的移动电话)中,通信接口1170包括称为无线电收发机的无线电频带电磁发射机和接收机。在某些实施例中,通信接口1170使得能够连接到用于如本文所述的在分布式网络中的分散信任评估的虚拟化网络。

如本文所使用的术语“计算机可读介质”是指参与向处理器1102提供信息(包括用于执行的指令)的任何介质。这样的介质可以采取许多形式,包括但不限于计算机可读存储介质(例如,非易失性介质、易失性介质)和传输介质。非暂时性介质(例如非易失性介质)包括例如光盘或磁盘(例如存储设备1108)。易失性介质包括例如动态存储器704。传输介质包括例如同轴电缆、铜缆电线、光导纤维、和在空间中传播而没有电线或电缆的载波(例如声波和电磁波,包括无线电波、光波和红外波)。信号包括通过传输介质传输的幅度、频率、相位、极化或其他物理特性的人为瞬态变化。计算机可读介质的常见形式包括例如软盘、柔性盘、硬盘、磁带、任何其他磁介质、CD-ROM、CDRW、DVD、任何其他光学介质、打孔卡、纸带、光学标记纸、带有孔图案或其他光学可识别标记的任何其他物理介质、RAM、PROM、EPROM、FLASH-EPROM、任何其他存储器芯片或盒、载波、或计算机可以从中读取的任何其他介质。本文使用术语计算机可读存储介质来指代除传输介质之外的任何计算机可读介质。

在一种或多种有形介质中编码的逻辑包括计算机可读存储介质上的处理器指令和专用硬件(例如ASIC 1120)中的一个或两个。

本公开的至少一些实施例与用于实现本文描述的一些或全部技术的计算机系统71100的使用有关。根据本公开的一个实施例,那些技术由计算机系统1100响应于处理器1102执行被包含在存储器1104中的一个或多个序列的一个或多个处理器指令来执行。这些指令也称为计算机指令、软件和程序代码,可以从诸如存储设备1108或网络链路之类的另一计算机可读介质被读入存储器1104中。在存储器1104中包含的指令序列的执行使处理器1102执行本文所述的一个或多个方法步骤。在替代实施例中,可以使用诸如ASIC 1120之类的硬件来代替软件或与之组合来实现本发明。因此,本发明的实施例不限于硬件和软件的任何特定组合,除非本文另有明确说明。

在网络链路和其他网络上通过通信接口1170传输的信号携带往返计算机系统1100的信息。计算机系统1100可以通过网络通过通信接口1170发送和接收信息(包括程序代码)。所接收的代码可以在被接收到时由处理器1102执行,或者可被存储在存储器1104中或被存储在存储设备1108或其他非易失性存储设备中以供以后执行,或被存储在两者。以这种方式,计算机系统1100可以获取采用载波上的信号的形式的应用程序代码。

图12示出了可以在其上实现本公开的实施例的计算机系统1200。尽管针对特定设备或装备描述了计算机系统1100,但是可以预期,图11内的其他设备或装置(例如,网络单元、服务器等)可以部署所示的系统1100的硬件和组件。计算机系统1100被设计并被编程(例如,通过计算机程序代码或指令)以用于如本文所述的在分布式网络中的分散信任评估,并且包括诸如总线1110之类的通信机制以用于在计算机系统1100的其他内部和外部组件之间传递信息。信息(也称为数据)被表示为可测量现象的物理表达,通常是电压,但在其他实施例中包括诸如磁性、电磁、压力、化学、生物、分子、原子、亚原子和量子交互的现象。计算机系统1100或其一部分构成用于在虚拟化网络中执行安全和信任技术及解决方案中的一个或多个步骤的模块。

总线1110包括一个或多个并行的信息导体,以使得信息在被耦合到总线1110的设备之间被快速传输。用于处理信息的一个或多个处理器1102与总线1110耦合。

处理器1102执行对信息的一组操作,如与本文所述的在分布式网络中的分散信任评估有关的计算机程序代码所指定的。该计算机程序代码是提供用于处理器和/或计算机系统的操作以执行指定功能的指令的一组指令或语句。该代码例如可以用计算机编程语言编写,并被编译成处理器的本机指令集。代码也可以使用本机指令集(例如,机器语言)来直接编写。该组操作包括从总线1110引入信息并将信息放置在总线1110上。该组操作通常还包括比较两个或更多个信息单元、对信息单元的位置移位、以及例如通过加法或乘法或逻辑运算(例如或(OR)、异或(XOR)、和与(AND))来组合两个或更多个信息单元。可以由处理器执行的一组操作中的每个操作被称为指令的信息(例如一个或多个数字的操作代码)表示给处理器。由处理器1102执行的操作序列,例如操作代码序列,构成处理器指令,也称为计算机系统指令或者简称为计算机指令。处理器可以单独或组合地被实现为机械、电气、磁性、光学、化学或量子组件。

计算机系统1100还包括被耦合到总线1110的存储器1104。诸如随机存取存储器(RAM)或其他动态存储设备之类的存储器1104存储信息,该信息包括用于如本文所描述的在分布式网络中的分散信任评估的处理器指令。动态存储器允许被存储在其中的信息被计算机系统1100改变。RAM允许被存储在被称为存储器地址的位置处的信息单元独立于在相邻地址处的信息来被存储和检索。处理器1102还使用存储器1104以在处理器指令的执行期间存储临时值。计算机系统1100还包括被耦合到总线1110的只读存储器(ROM)1106或其他静态存储设备,用于存储未被计算机系统1100改变的包括指令的静态信息。某一存储器由当断电时丢失被存储在其上的信息的易失性存储设备组成。非易失性(永久性)存储设备1108也被耦合到总线1110,例如磁盘、光盘或闪存卡,用于存储即使当计算机系统1100被关闭或断电时也仍然存在得包括指令的信息。

信息(包括用于本文描述的在分布式网络中的分散信任评估的指令)从外部输入设备1112被提供给总线710以供处理器使用,该外部输入设备1112例如是包含由人类用户操作的字母数字键的键盘或传感器。主要用于与人交互的被耦合到总线1110的其他外部设备包括用于呈现文本或图像的显示设备1114(例如阴极射线管(CRT)或液晶显示器(LCD)或等离子屏幕或打印机)、以及用于控制在显示器1114上呈现的小光标图像的位置并发出与在显示器1114上呈现的图形元素相关联的命令的指示设备1116(例如鼠标或轨迹球或光标方向键或运动传感器)。在一些实施例中,例如,在其中计算机系统1100自动执行所有功能而无需人工输入的实施例中,外部输入设备1112、显示设备1114和指示设备1116中的一个或多个被省略。

在示出的实施例中,诸如专用集成电路(ASIC)1120之类的专用硬件被耦合到总线1110。专用硬件被配置为出于专用目的而足够快地执行未被处理器1102执行的操作。专用IC的示例包括:用于生成用于显示器1114的图像的图形加速卡、用于对通过网络发送的消息进行加密和解密、语音识别的加密板、以及到特殊外部设备(例如重复执行可以在硬件中被更有效实现的某些复杂的操作序列的机械臂和医疗扫描设备)的接口。

计算机系统1100还包括被耦合到总线1110的通信接口1170的一个或多个实例。通信接口1170向以自己的处理器进行操作的各种外部设备(例如打印机、扫描仪和外部磁盘)提供单向或双向通信耦合。通常,耦合是通过网络链路进行的,该网络链路被连接到本地网络,并且具有自己处理器的各种外部设备被连接到该本地网络。例如,通信接口1170可以是个人计算机上的并行端口或串行端口或通用串行总线(USB)端口。在一些实施例中,通信接口1170是集成服务数字网络(ISDN)卡或数字用户线(DSL)卡或电话调制解调器,其提供到对应类型的电话线的信息通信连接。在一些实施例中,通信接口1170是电缆调制解调器,该电缆调制解调器将总线1110上的信号转换成用于同轴电缆上的通信连接的信号或转换成用于光纤电缆上的通信连接的光信号。作为另一示例,通信接口1170可以是局域网(LAN)卡,以提供到诸如以太网之类的可兼容LAN的数据通信连接。也可以实现无线链路。对于无线链路,通信接口1170发送或接收或同时发送和接收电、声或电磁信号(包括红外和光信号),其携带信息流(例如数字数据)。例如,在无线手持设备(诸如像蜂窝电话的移动电话)中,通信接口1170包括称为无线电收发机的无线电频带电磁发射机和接收机。在某些实施例中,如本文所述,通信接口1170使得能够连接到用于如本文所述的在分布式网络中的分散信任评估的虚拟化网络。

如本文所使用的术语“计算机可读介质”是指参与向处理器1102提供信息(包括用于执行的指令)的任何介质。这样的介质可以采取许多形式,包括但不限于计算机可读存储介质(例如,非易失性介质、易失性介质)和传输介质。非暂时性介质(例如非易失性介质)包括例如光盘或磁盘(例如存储设备1108)。易失性介质包括例如动态存储器704。传输介质包括例如同轴电缆、铜缆电线、光导纤维、和在空间中传播而没有电线或电缆的载波(例如声波和电磁波,包括无线电波、光波和红外波)。信号包括通过传输介质传输的幅度、频率、相位、极化或其他物理特性的人为瞬态变化。计算机可读介质的常见形式包括例如软盘、柔性盘、硬盘、磁带、任何其他磁介质、CD-ROM、CDRW、DVD、任何其他光学介质、打孔卡、纸带、光学标记纸、带有孔图案或其他光学可识别标记的任何其他物理介质、RAM、PROM、EPROM、FLASH-EPROM、任何其他存储器芯片或盒、载波、或计算机可以从中读取的任何其他介质。本文使用术语计算机可读存储介质来指代除传输介质之外的任何计算机可读介质。

在一种或多种有形介质中编码的逻辑包括计算机可读存储介质上的处理器指令和专用硬件(例如ASIC 1120)中的一个或两个。

本公开的至少一些实施例与用于实现本文描述的一些或全部技术的计算机系统71100的使用有关。根据本公开的一个实施例,那些技术由计算机系统1100响应于处理器1102执行被包含在存储器1104中的一个或多个序列的一个或多个处理器指令来执行。这些指令也称为计算机指令、软件和程序代码,可以从诸如存储设备1108或网络链路之类的另一计算机可读介质被读入存储器1104中。在存储器1104中包含的指令序列的执行使处理器1102执行本文所述的一个或多个方法步骤。在替代实施例中,可以使用诸如ASIC 1120之类的硬件来代替软件或与之组合来实现本发明。因此,本发明的实施例不限于硬件和软件的任何特定组合,除非本文另有明确说明。

在网络链路和其他网络上通过通信接口1170传输的信号携带往返计算机系统1100的信息。计算机系统1100可以通过网络通过通信接口1170发送和接收信息(包括程序代码)。所接收的代码可以在被接收到时由处理器1102执行,或者可被存储在存储器1104中或被存储在存储设备1108中或其他非易失性存储设备中以供以后执行,或被存储在两者。以这种方式,计算机系统1100可以获取采用载波上的信号的形式的应用程序代码。

图12示出了可以在其上实现本公开的实施例的芯片组1200。芯片组1200被编程为如本文所述的在分布式网络中的分散信任评估,并且包括例如被合并在一个或多个物理封装(例如,芯片)中的关于图11描述的处理器和存储器组件。举例来说,物理封装包括一种或多种材料、部件和/或电线在结构组件(例如,基板)上的布置,以提供一种或多种特性,例如物理强度、尺寸保持、和/或电交互的限制。预期在某些实施例中,可以在单个芯片中实现芯片组。芯片组1200或其一部分构成用于执行在同一通信会话中执行多种形式的通信的一个或多个步骤的部件。

在一个实施例中,芯片组1200包括诸如总线1201之类的通信机制,用于在芯片组1200的各个组件之间传递信息。处理器1203具有到总线1201的连接,以执行被存储在例如存储器1205中的指令和处理信息。处理器1203可以包括一个或多个处理核,每个核被配置为独立执行。多核处理器使得能够在单个物理封装内进行多处理。多核处理器的示例包括两个、四个、八个或更多数量的处理核。替代地或另外地,处理器803可以包括经由总线801串联配置的一个或多个微处理器,以使能指令的独立执行、流水线化、和多线程化。处理器1203还可以带有一个或多个专用组件以执行某些处理功能和任务,例如一个或多个数字信号处理器(DSP)1207或一个或多个专用集成电路(ASIC)1209。DSP1207通常被配置为独立于处理器1203而实时处理真实世界信号(例如,声音)。类似地,ASIC 1209可被配置为执行通用处理器不容易执行的专用功能。有助于执行本文描述的发明功能的其他专用部件包括一个或多个现场可编程门阵列(FPGA)(未示出)、一个或多个控制器(未示出)、或一个或多个其他专用计算机芯片。

处理器1203和所附组件具有经由总线1201到存储器1205的连接。存储器1205包括动态存储器(例如,RAM、磁盘、可写光盘等)和静态存储器(例如,ROM、CD-ROM等),用于存储可执行指令,这些可执行指令在被执行时执行本文所述的发明性步骤,以在同一通信会话中执行多种形式的通信。存储器1205还存储与发明步骤的执行相关联或由其生成的数据。

本公开包括本文明确公开的任何新颖特征或特征组合或其任何概括。当结合附图阅读时,鉴于前述描述,对本公开的前述示例性实施例的各种修改和调适对于相关领域的技术人员而言将变得显而易见。然而,任何和所有修改仍将落入本公开的非限制性和示例性实施例的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号