CN112153044B - 流量数据的检测方法及相关设备 - Google Patents
流量数据的检测方法及相关设备 Download PDFInfo
- Publication number
- CN112153044B CN112153044B CN202011009283.8A CN202011009283A CN112153044B CN 112153044 B CN112153044 B CN 112153044B CN 202011009283 A CN202011009283 A CN 202011009283A CN 112153044 B CN112153044 B CN 112153044B
- Authority
- CN
- China
- Prior art keywords
- source port
- target
- value
- residual
- time sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
Abstract
本公开实施例提供了一种流量数据的检测方法及装置、电子设备和存储介质。该方法包括:获取第一时长内的目标流量数据,目标流量数据包括目标源地址、目标目的地址、源端口号和时间戳;根据目标流量数据中的时间戳和源端口号,获得第一时长内各预设时间段内目标源地址和目标目的地址的源端口特征值;获得目标流量数据的特征数据时间序列,特征数据时间序列包括按序排列的各预设时间段对应的源端口特征值;对特征数据时间序列进行异常检测,获得目标流量数据中的异常流量数据,异常流量数据包括目标源地址中的可疑目标源地址。该方法能够识别出攻击者对目标机的攻击行为,确定出攻击者的目标源地址,可以降低误报率,提高流量数据检测的准确性。
Description
技术领域
本公开涉及计算机安全技术领域,具体而言,涉及一种流量数据的检测方法及装置、电子设备和计算机可读存储介质。
背景技术
随着计算机网络技术的飞速发展,社会的信息化程度不断提高,网络在给人们带来巨大的经济效益和社会效益的同时,也面临着日益严重的安全问题,针对网络的攻击层出不穷。攻击数量、种类越来越多,攻击越来越复杂,对依赖网络的用户危害也越来越大。
其中一种情况下,攻击者会向目标机发送多次连接,在多次连接过程中,攻击者会频繁地更换源端口号,向目标机植入木马或恶意程序,通过植入的木马或恶意程序,建立与目标机的连接,从而控制目标机。
相关技术中,主要通过设定源端口号的阈值对流量数据进行检测。例如,设定一分钟内源端口号的阈值为A,将流量数据中一分钟内源端口号的变化数量大于A的流量数据作为异常流量数据。由于阈值是人为设定的,且是静态的,不会根据流量数据的时间特征和应用场景而变化,会存在大量的误报和漏检的情况。
因此,需要一种新的流量数据的检测方法及装置、电子设备和计算机可读存储介质。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解。
发明内容
本公开实施例提供一种流量数据的检测方法及装置、电子设备和计算机可读存储介质,能够至少在一定程度上解决误报率高、漏检的问题,提高流量数据检测的准确性。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
本公开实施例提供一种流量数据的检测方法,该方法包括:获取第一时长内的目标流量数据,所述目标流量数据包括目标源地址、目标目的地址、源端口号和时间戳;根据所述目标流量数据中的时间戳和源端口号,获得所述第一时长内各预设时间段内所述目标源地址和所述目标目的地址的源端口特征值;获得所述目标流量数据的特征数据时间序列,所述特征数据时间序列包括按序排列的各预设时间段对应的源端口特征值;对所述特征数据时间序列进行异常检测,获得所述目标流量数据中的异常流量数据,所述异常流量数据包括所述目标源地址中的可疑目标源地址。
本公开实施例提供一种流量数据的检测装置,该装置包括:目标流量数据获取模块,用于获取目标流量数据,所述目标流量数据包括目标源地址、目标目的地址、源端口号和时间戳;源端口特征值获得模块,用于根据所述目标流量数据中的时间戳和源端口号,获得各预设时间段内所述目标源地址和所述目标目的地址的源端口特征值;特征数据时间序列获得模块,用于获得所述目标流量数据的特征数据时间序列,所述特征数据时间序列包括按序排列的各预设时间段对应的源端口特征值;异常检测模块,用于对所述特征数据时间序列进行异常检测,获得所述目标流量数据中的异常流量数据,所述异常流量数据包括异常目标源地址。
在本公开的一些示例性实施例中,异常检测模块包括:周期分量获得模块,用于获得所述特征数据时间序列的周期分量;第一中位数获得模块,用于获得所述特征数据时间序列的第一中位数;第一余项时间序列获得模块,用于根据所述特征数据时间序列、所述周期分量和所述第一中位数,获得第一余项时间序列,所述第一余项时间序列包括各源端口特征值对应的余项源端口特征值;第一余项时间序列检测模块,用于从所述第一余项时间序列检测获得所述余项源端口特征值中的异常余项源端口特征值;可疑目标源地址确定模块,用于确定所述异常余项源端口特征值对应的目标源地址为所述第一时长内的可疑目标源地址。
在本公开的一些示例性实施例中,所述异常余项源端口特征值包括第一异常余项源端口特征值;其中,第一余项时间序列检测模块包括:第一临界值确定模块,用于根据所述第一余项时间序列的第一数量和异常点阈值,确定第一临界值;第一偏离残差值确定模块,用于获得所述第一余项时间序列的第二中位数和第一绝对中位差,确定所述第一余项时间序列的第一偏离残差值;第一检验统计量确定模块,用于将所述第一偏离残差值的最大值确定为第一检验统计量;第一异常余项源端口特征值确定模块,用于若所述第一检验统计量大于所述第一临界值,则将所述第一检验统计量对应的余项源端口特征值确定为所述第一异常余项源端口特征值。
在本公开的一些示例性实施例中,所述异常余项源端口特征值还包括第二异常余项源端口特征值;其中,第一余项时间序列检测模块还包括:第二余项时间序列获得模块,用于从所述第一余项时间序列中删除所述第一异常余项源端口特征值,获得第二余项时间序列;第二临界值确定模块,用于根据所述第二余项时间序列的第二数量和所述异常点阈值,确定第二临界值;第二偏离残差值确定模块,用于获得所述第二余项时间序列的第三中位数和第二绝对中位差,确定所述第二余项时间序列的第二偏离残差值;第二检验统计量确定模块,用于将所述第二偏离残差值的最大值确定为第二检验统计量;第二异常余项源端口特征值确定模块,用于若所述第二检验统计量大于所述第二临界值,则将所述第二检验统计量对应的余项源端口特征值确定为所述第二异常余项源端口特征值。
在本公开的一些示例性实施例中,所述流量数据的检测装置还包括:可疑目标源地址获得模块,用于从所述第一时长内的可疑目标源地址中,获得第二时长内的所述可疑目标源地址,所述第一时长包括所述第二时长;异常余项源端口特征值获得模块,用于获得所述第二时长内的可疑目标源地址对应的各异常余项源端口特征值;异常源端口特征值确定模块,用于将所述第二时长内的各异常余项源端口特征值对应的源端口特征值确定为异常源端口特征值;异常偏离程度确定模块,用于根据各异常源端口特征值,确定所述可疑目标源地址的异常偏离程度。
在本公开的一些示例性实施例中,所述流量数据的检测装置还包括:归一化模块,用于对所述可疑目标源地址的异常偏离程度进行归一化,获得所述可疑目标源地址的异常分;显示模块,用于显示所述可疑目标源地址及其异常分、各异常源端口特征值、异常偏离程度中的至少一种。
在本公开的一些示例性实施例中,源端口特征值获得模块包括:源端口号获取模块,用于获取所述预设时间段内的所述目标源地址和所述目标目的地址对应的各源端口号;源端口特征值确定模块,用于将所述预设时间段内的所述目标源地址和所述目标目的地址对应的各源端口号的变化数量,确定为所述预设时间段内的所述目标源地址和所述目标目的地址对应的源端口特征值。
在本公开的一些示例性实施例中,目标流量数据获取模块包括:初始流量数据获取模块,用于获取所述第一时长内的初始流量数据;目标流量数据确定模块,用于确定采用目标传输协议且处于连接状态的初始流量数据为所述目标流量数据。
在本公开的一些示例性实施例中,所述目标传输协议包括第一传输协议或者第二传输协议;其中,所述流量数据的检测装置还包括:传输协议获取模块,用于获取所述可疑目标源地址采用的传输协议;可疑目标源地址过滤模块,用于若所述可疑目标源地址采用的传输协议为所述第一传输协议,则过滤所述可疑目标源地址;或者异常目标源地址确定模块,用于若所述可疑目标源地址采用的传输协议为所述第二传输协议,则确定所述可疑目标源地址为异常目标源地址。
在本公开的一些示例性实施例中,所述流量数据的检测装置还包括:白名单源地址获取模块,用于获取白名单源地址;白名单过滤模块,用于根据所述白名单源地址,对所述可疑目标源地址进行过滤。
根据本公开实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的流量数据的检测方法。
根据本公开实施例的一个方面,提供了一种电子设备,包括:至少一个处理器;存储装置,用于存储至少一个程序,当所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现如上述实施例中所述的流量数据的检测方法。
根据本公开的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中所述的流量数据的检测方法。
本公开实施方式提供的流量数据的检测方法,根据目标流量数据中的时间戳和源端口号,可以获得第一时长内各预设时间段内目标源地址和目标目的地址的源端口特征值,根据各预设时间段内的源端口特征值,可以获得目标流量数据的特征数据时间序列,对该特征数据时间序列进行异常检测,可以获得目标流量数据中的异常流量数据,其中,异常流量数据包括目标源地址中的可疑目标源地址。该方法采用时间序列对目标流量数据进行检测,可以根据目标流量数据在各预设时间段内的源端口特征值的规律,确定该目标流量数据是否为异常流量数据,避免了使用阈值进行判断导致的误报率高、漏检的问题,提高了流量数据检测的准确性。此外,该方法能够确定出可疑目标源地址,在后续对可疑目标源地址进行检测的过程中,有效缩小了可疑流量的待检测范围,提高了检测效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了可以应用本公开实施例的流量数据的检测方法或流量数据的检测装置的示例性系统架构的示意图;
图2示意性示出了根据本公开的一实施例的应用场景的示意图;
图3示意性示出了根据本公开的一实施例的流量数据的检测方法的流程图;
图4示出了图3中所示的步骤S340在一实施例中的处理过程示意图;
图5示出了图4中所示的步骤S344在一实施例中的处理过程示意图;
图6示出了图4中所示的步骤S344在一实施例中的处理过程示意图;
图7示意性示出了根据本公开的一实施例的流量数据的检测方法的流程图;
图8示意性示出了根据本公开的一实施例的流量数据的检测方法的流程图;
图9示意性示出了根据本公开的一实施例的流量数据的检测结果的示意图;
图10示意性示出了根据本公开的一实施例的流量数据的检测结果的示意图;
图11示意性示出了根据本公开的一实施例的流量数据的检测结果的示意图;
图12示出了图3中所示的步骤S320在一实施例中的处理过程示意图;
图13示出了图3中所示的步骤S310在一实施例中的处理过程示意图;
图14示出了图13中所示的步骤S312在一实施例中的处理过程示意图;
图15示意性示出了根据本公开的一实施例的流量数据的检测方法的流程图;
图16示意性示出了根据本公开的一实施例的流量数据的检测框架的示意图;
图17示意性示出了根据本公开的一实施例的流量数据的检测方法的流程图;
图18示意性示出了根据本公开的一实施例的配置检测场景的示意图;
图19示意性示出了根据本公开的一实施例的流量数据的检测装置的框图;
图20示出了适于用来实现本公开实施例的电子设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本说明书中,用语“一个”、“一”、“该”、“所述”和“至少一个”用以表示存在至少一个要素/组成部分/等;用语“包含”、“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”、“第二”和“第三”等仅作为标记使用,不是对其对象的数量限制。
首先对本公开实施例中涉及的部分术语进行说明。
第一时长:已过去的距离当前时间的一段时间,例如可以为已过去的距离当前时间最近的一周或者两周。
第二时长:第一时长包括第二时长,即第二时长处于第一时长的范围之内,第一时长比第二时长长。第一时长例如可以为距离当前时间最近的两周,第二时长例如可以为距离当前时间最近的一小时。
初始流量数据:例如从日志中提取的原始的、未经过数据处理的源端和目的端之间的流量数据,可以包括目标源地址、目标目的地址、源端口号、目的端口号、时间戳、协议、连接状态等。
目标流量数据:对初始流量数据进行过滤后获得的流量数据,例如可以通过初始流量数据采用的协议对初始流量数据进行过滤,获得目标流量数据。
异常流量数据:对目标流量数据进行异常检测获得的存在异常的流量数据,异常流量数据可以包括目标源地址中的可疑目标源地址。
目标源地址:源端的IP(Internet Protocol,网际互连协议)地址。
可疑目标源地址:在目标流量数据的检测中,若源端口号在预设时间段(可以根据实际场景进行设置)内频繁发生变化,可以认为该源端口号对应的目标源地址可能为存在异常的目标源地址,即可疑目标源地址。
目标目的地址:目的端的IP地址。
源端口号:源端的端口号。
时间戳:源端和目的端建立连接的时间。
源端口特征值:表示在同一目标源地址和目标目的地址对(以目标源地址和目标目的地址均为IP地址为例,可以简称为同一IP对)下,源端口号在每个预设时间段内的变化数量。
时间序列:将同一统计指标的数值按其发生的时间先后顺序排列而成的数列。
特征数据时间序列:将目标流量数据的各预设时间段对应的源端口特征值按照时间戳指示的时间顺序进行排列而成的数列。例如,特征数据时间序列可以为{Value1,Value2,Value3,Value4,……ValueN},其中,Value1表示第一分钟的源端口特征值,Value2表示第二分钟的源端口特征值,……,ValueN表示第N分钟的源端口特征值(例如可以以预设时间段为一分钟为例)。N为大于或等于1的正整数。
特征数据时间序列的周期分量:对特征数据时间序列进行分解,可以获得该特征数据时间序列的周期分量、趋势分量和余项分量。周期分量表示该特征数据时间序列的周期性特征,趋势分量表示该特征数据时间序列的整体涨落趋势,余项分量是该特征数据时间序列减去周期分量和趋势分量后的剩余部分。
第一余项时间序列:使用特征数据时间序列减去该特征数据时间序列的周期分量和该特征数据时间序列的第一中位数,获得的时间序列。第一余项时间序列包括各源端口特征值对应的余项源端口特征值。例如,特征数据时间序列为{Value1,Value2,Value3,Value4,……,ValueN},则第一余项时间序列可以表示为{Value1’,Value2’,Value3’,Value4’,……,ValueN’}。
第二余项时间序列:从第一余项时间序列中删除第一异常余项源端口特征值,获得第二余项时间序列。例如,第一余项时间序列为,{Value1’,Value2’,Value3’,Value4’,……,ValueN’},检测获得第一异常余项源端口特征值为Value3’,从第一余项时间序列中删除第一异常余项源端口特征值,获得第二余项时间序列为{Value1’,Value2’,Value4’,……ValueN’}。
余项源端口特征值:在第一余项时间序列中与各源端口特征值对应的特征值。
异常余项源端口特征值:对第一余项时间序列进行检测获得的异常的余项源端口特征值。异常余项源端口特征值包括第一异常余项源端口特征值和第二异常余项源端口特征值。
第一异常余项源端口特征值:对第一余项时间序列进行检测获得的异常的余项源端口特征值。
第二异常余项源端口特征值:对第二余项时间序列进行检测获得的异常的余项源端口特征值。
第一数量:第一余项时间序列中包含的余项源端口特征值个数。
第二数量:第二余项时间序列中包含的余项源端口特征值个数。
异常点阈值:第一余项时间序列中的异常点的个数阈值,可以根据实际需要设置。
中位数:按数值大小顺序排列的一组数据中居于中间位置的数。
第一中位数:根据特征数据时间序列中的源端口特征值的大小,对该特征数据时间序列中的源端口特征值进行排序,将中间位置的数作为该特征数据时间序列的第一中位数。
第二中位数:根据第一余项时间序列中的余项源端口特征值的大小,对该第一余项时间序列中的余项源端口特征值进行排序,将中间位置的数作为该第一余项时间序列的第二中位数。
第三中位数:根据第二余项时间序列中的余项源端口特征值的大小,对该第二余项时间序列中的余项源端口特征值进行排序,将中间位置的数作为该第二余项时间序列的第三中位数。
绝对中位差:用原数列中的各数据减去原数列的中位数后得到的新数列的绝对值的中位数。
第一绝对中位差:第一余项时间序列的绝对中位差,例如可以根据下式公式(3)获得。
第二绝对中位差:第二余项时间序列的绝对中位差,可以根据公式(6)获得。
偏离残差值:数列中的各数据与该数列的中位数的差的绝对值与该数量的绝对中位差的比值。
第一偏离残差值:第一余项时间序列的偏离残差值,可以根据公式(4)获得。
第二偏离残差值:第二余项时间序列的偏离残差值,可以根据公式(7)获得。
检验统计量:用于假设检验计算的统计量,可以根据实际情况设置。
第一检验统计量:第一偏离残差值中的最大值。
第二检验统计量:第二偏离残差值中的最大值。
临界值:在假设检验中,临界值是检验分布上的一个点,用来与检验统计量的实测值进行比较以确定是否拒绝原假设。
第一临界值:令公式(1)中的j=1,获得第一临界值。通过比较第一检验统计量和第一临界值的关系,可以判断该第一检验统计量对应的余项源端口特征值是否为异常余项源端口特征值。
第二临界值:令公式(1)中的j=2,获得第二临界值。通过比较第二检验统计量和第二临界值的关系,可以判断该第二检验统计量对应的余项源端口特征值是否为异常余项源端口特征值。
下面结合附图对本公开示例实施方式进行详细说明。
图1示出了可以应用本公开实施例的流量数据的检测方法或流量数据的检测装置的示例性系统架构的示意图。
如图1所示,该系统架构可以包括服务器101、网络102和终端设备103。网络102用以在终端设备103和服务器101之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
服务器101可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备103可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端设备103以及服务器101可以通过有线或无线通信方式进行直接或间接地连接,本公开在此不做限制。
服务器101可以是提供各种服务的服务器,例如对用户利用终端设备103所进行操作的装置提供支持的后台管理服务器。后台管理服务器可以对接收到的请求等数据进行分析等处理,并将处理结果反馈给终端设备。
终端设备103可例如将该终端设备103的初始流量数据发送给服务器101,服务器101可例如接收多个终端设备103发送的初始流量数据,服务器101可例如对接收到的初始流量数据进行处理,获得目标流量数据,服务器101可例如从目标流量数据中获取第一时长内的目标流量数据,该目标流量数据包括目标源地址、目标目的地址、源端口号和时间戳;服务器101可例如根据目标流量数据中的时间戳和源端口号,获得第一时长内各预设时间段内目标源地址和目标目的地址的源端口特征值;服务器101可例如获得目标流量数据的特征数据时间序列,特征数据时间序列包括按序排列的各预设时间段对应的源端口特征值;服务器101可例如对特征数据时间序列进行异常检测,获得目标流量数据中的异常流量数据,异常流量数据包括目标源地址中的可疑目标源地址。
服务器101可以将检测获得的可疑目标源地址发送给终端设备103,供用户在终端设备103中查看;服务器101也可以对可疑目标源地址进行处理,获得异常目标源地址,将异常目标源地址发送给终端设备103,供用户在终端设备103中查看。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的,服务器101可以是一个实体的服务器,还可以为多个服务器组成的服务器集群,还可以是云端服务器,根据实际需要,可以具有任意数目的终端设备、网络和服务器。
本公开实施例提供的流量数据的检测方法可以用于连续连接(ConsecutiveConnections)场景中。
图2示意性示出了根据本公开的一实施例的应用场景的示意图。
连续连接场景指的是被检测设备或者应用在端到端之间存在多个连接的场景,连续连接属于横向移动的阶段。
其中,被检测设备或者应用例如可以为图2所示的攻击者201和目标机202。端到端可以为源端和目的端,在图2中,攻击者201可以为源端,目标机202可以为目的端。
横向移动技术广泛应用于复杂的网络攻击中,特别是高级持续性威胁。攻击者可以使用这些技术访问受感染系统中的其他主机,并访问敏感资源(如邮箱,共享文件夹或凭证)。这些敏感资源可以用于渗透其他机器、权限提升或者窃取更有价值的凭证。通过横向移动攻击最终可以拿到域控权限,进而控制域环境下的机器。
如图2所示,在连续连接场景中,攻击者201会先对目标机202发送第一次连接,进行脆弱性试探,通常第一次连接为短连接。其中,短连接是指攻击者201和目标机202每进行一次操作,就建立一次连接,任务结束就中断连接。在保持第一次连接不断开的情况下,并在较短时间间隔内,攻击者201会针对同一目标机202发送第二次连接,第二次连接的源端口号与第一次连接的源端口号不同。例如,第一次连接的源端口号可以为src_port1,第二次连接的源端口号可以为src_port2。
攻击者201针对同一目标机202会进行后续攻击,比如上传payload(负载)或者shell(代码执行环境)脚本。其中上述第一次连接、第二次连接和后续攻击都属于连续连接阶段。攻击者201在连续连接阶段的目的是植入shell或者木马,建立与目标机202的连接,并将shell或者木马潜伏下来。木马或者shell启动时会与攻击者201持续保持连接,与正常的流量行为类似。特别的,攻击者201植入shell或者木马都会采用SSL(Secure SocketsLayer安全套接字协议),难以对内容进行检测。
可以通过本公开实施例提供的流量数据的检测方法,将频繁更换源端口号的流量数据检测出来,使得攻击者201在连续连接阶段被检测出来,避免后续的攻击行为。
本公开实施例提供的流量数据的检测方法也可以应用在云安全(CloudSecurity)技术领域。
云安全是指基于云计算商业模式应用的安全软件、硬件、用户、机构、安全云平台的总称。云安全融合了并行处理、网格计算、未知病毒行为判断等新兴技术和概念,通过对网络中软件或设备的行为进行异常检测,可以获得互联网中木马、恶意程序的数据信息,并将木马、恶意程序的数据信息发送给服务器,服务器可以根据本公开实施例提供的流量数据的检测方法对这些数据信息进行自动分析和处理。
将本公开实施例提供的流量数据的检测方法应用在云安全技术领域,可以保障云自身及云上各种应用的安全,例如云计算机系统安全、用户数据的安全存储与隔离、用户接入认证、信息传输安全、网络攻击防护、合规审计等。
图3示意性示出了根据本公开的一实施例的流量数据的检测方法的流程图。本公开实施例提供的方法可以由任意具备计算处理能力的电子设备执行,例如如图1中的终端设备103和/或服务器101。
如图3所示,本公开实施例提供的流量数据的检测方法可以包括以下步骤。
在步骤S310中,获取第一时长内的目标流量数据,该目标流量数据包括目标源地址、目标目的地址、源端口号和时间戳。
本公开实施例中,第一时长例如可以为已过去的距离当前时间最近的一周或者两周,可以根据实际需要设置,本公开对此不做限定,在下面的举例说明中,均以第一时长为已过去的距离当前时间最近的两周为例进行举例说明。
本公开实施例中,目标流量数据例如可以包括目标源地址、目标目的地址、源端口号、目的端口号、时间戳、协议、连接状态等。例如,目标源地址可以包括图2所示的攻击者201的IP地址,目标目的地址可以包括图2所示的目标机202的IP地址,源端口号可以包括攻击者201的端口号,目的端口号可以包括目标机202的端口号,时间戳可以表示攻击者201和目标机202建立连接的时间,协议可以表示攻击者301和目标机202之间使用的传输协议,连接状态可以表示攻击者201和目标机202的连接状态,例如可以为未连接、已连接(established)。
在步骤S320中,根据目标流量数据中的时间戳和源端口号,获得第一时长内各预设时间段内目标源地址和目标目的地址的源端口特征值。
本公开实施例中,预设时间段例如可以为一分钟或者两分钟,其可以根据实际需要设置,本公开对此不做限定。在下面的举例说明中,以一分钟为粒度切割第一时长,获得各预设时间段。
例如,可以在获取的目标流量数据中,选择目标源地址为A和目标目的地址为B的目标流量数据,根据目标流量数据中的时间戳,对两周内的目标流量数据进行处理,可以以一分钟为粒度,获得每一分钟内的目标源地址为A和目标目的地址为B(将目标源地址为A和目标目的地址为B作为Key(键))对应的各源端口号,对各源端口号进行去重计数处理,将去重计数处理后的结果作为每一分钟内目标源地址为A和目标目的地址为B的源端口特征值。
在步骤S330中,获得目标流量数据的特征数据时间序列,该特征数据时间序列包括按序排列的各预设时间段对应的源端口特征值。
本公开实施例中,可以将目标流量数据的各预设时间段对应的源端口特征值按照时间戳指示的时间顺序进行排列,获得目标流量数据的特征数据时间序列。
本公开实施例中,可以针对每一对目标源地址和目标目的地址,构建一个特征数据时间序列。
还是以预设时间段为一分钟为例,例如,第一分钟的源端口特征值为Value1,第二分钟的源端口特征值为Value2,第三分钟的源端口特征值为Value3,第四分钟的源端口特征值为Value4,……,第N分钟的源端口特征值为ValueN,其中N为大于1的正整数,则特征数据时间序列可以为{Value1,Value2,Value3,Value4,……ValueN}。
本公开实施例中,在获取到特征数据时间序列后,可以先判断该特征数据时间序列是否完整。若该特征数据时间序列不完整,可以对该特征数据时间序列中不完整的数据进行填充。
填充方法例如可以为:分别获取空缺位置左边和右边的非空数值,用这两个非空数值的平均数作为空缺位置的源端口特征值填入空缺位置。例如,假设特征数据时间序列为{Value1,Value2,Value3,,Value5},第四个源端口特征值空缺,则可以将Value3和Value5的平均值作为Value4填入空缺位置。本领域技术人员也可以采用其他方法来填充缺失的数据,本公开对此不做限制。
在步骤S340中,对特征数据时间序列进行异常检测,获得目标流量数据中的异常流量数据,异常流量数据包括目标源地址中的可疑目标源地址。
本公开实施例中,可以通过异常检测算法,对特征数据时间序列进行异常检测,获得该特征数据时间序列中的异常源端口特征值,可以将异常源端口特征值对应的目标源地址确定为可疑目标源地址,将包括可疑目标源地址的目标流量数据确定为异常流量数据。具体实现可以参照下述图4实施例的描述。
在检测出可疑目标源地址后,可以生成报警信息,告知用户该可疑目标源地址,便于用户追踪或采取后续措施。
本公开实施方式提供的流量数据的检测方法,根据目标流量数据中的时间戳和源端口号,可以获得第一时长内各预设时间段内目标源地址和目标目的地址的源端口特征值,根据各预设时间段内的源端口特征值,可以获得目标流量数据的特征数据时间序列,对该特征数据时间序列进行异常检测,可以获得目标流量数据中的异常流量数据,其中,异常流量数据包括目标源地址中的可疑目标源地址。该方法采用时间序列对目标流量数据进行检测,可以根据目标流量数据在各预设时间段内的源端口特征值的规律,确定该目标流量数据是否为异常流量数据,避免了使用阈值进行判断导致的误报率高、漏检的问题,提高了流量数据检测的准确性。此外,该方法能够确定出可疑目标源地址,在后续对可疑目标源地址进行检测的过程中,有效缩小了可疑流量的待检测范围,提高了检测效率。
本公开实施例中,可以先将特征数据时间序列进行分解,获得该特征数据时间序列的周期分量、趋势分量和余项分量,将该特征数据时间序列的中位数作为第一中位数,用该第一中位数替换该特征数据时间序列的趋势分量,根据该特征数据时间序列、该特征数据时间序列的周期分量和该第一中位数,得到该特征数据时间序列对应的余项时间序列(例如可以包括下文的第一余项时间序列和第二余项时间序列),余项时间序列中包括源端口特征值对应的余项源端口特征值。对余项时间序列进行检测,获得余项源端口特征值中的异常余项源端口特征值。
其中,对余项时间序列进行检测,具体可以通过以下公式获得临界值:
其中,上述公式中,k为异常点阈值,k为大于或等于1的正整数;n为特征数据时间序列中源端口特征值的个数,n为大于或等于1的正整数;λj为第j临界值,j为大于或等于1且小于或等于k的正整数,tp,n-j-1为自由度为n-j-1的t分布的第100*p百分位数,其中,p=1-α/2(n-j-1),α为显著水平,0≤α≤1。
本公开实施例中,获取余项时间序列的中位数和绝对中位差,根据对应余项时间序列的中位数和绝对中位差,计算对应余项时间序列的偏离残差值,将余项时间序列的偏离残差值中最大的偏离残差值作为对应余项时间序列的检验统计量。
比较对应余项时间序列的检验统计量和临界值的大小,若对应余项时间序列的检验统计量大于该临界值,则将对应余项时间序列的检验统计量对应的余项源端口特征值作为异常余项源端口特征值。
从余项时间序列中删除对应异常余项源端口特征值,获得新的余项时间序列,更新公式(1)获得新的临界值,重复上述步骤,对新的余项时间序列进行检测,直到检测出所有余项时间序列中的所有异常余项源端口特征值,所有余项时间序列中的异常余项源端口特征值可以为零个或至少一个。
下面假设余项时间序列中包括第一余项时间序列,第一余项时间序列更新后的余项时间序列为第二余项时间序列,本公开以此为例进行说明,但本公开并不限定于此。
图4示出了图3中所示的步骤S340在一实施例中的处理过程示意图。
如图4所示,本公开实施例中,上述步骤S340可以进一步包括以下步骤。
在步骤S341中,获得特征数据时间序列的周期分量。
例如可以根据STL(Seasonal and Trend decomposition using LOESS,采用LOESS(Locally weighted regression,局部加权回归)的时间序列周期量和趋势量的分解方法)对特征数据时间序列进行分解,获得该特征数据时间序列的周期分量、趋势分量和余项分量。
其中,周期分量可以表示该特征数据时间序列的周期性特征,趋势分量可以表示该特征数据时间序列的整体涨落趋势,余项分量是该特征数据时间序列减去周期分量和趋势分量后的剩余部分。
在步骤S342中,获得特征数据时间序列的第一中位数。
中位数不受数列中极大值或极小值的影响,可以更好地代表整个数列。
本公开实施例中,可以根据特征数据时间序列中的源端口特征值的大小,对该特征数据时间序列中的源端口特征值进行排序,将中间位置的数作为该特征数据时间序列的第一中位数。
例如可以用X表示该特征数据时间序列,用medium(X)表示该特征数据时间序列的第一中位数。
在步骤S343中,根据特征数据时间序列、周期分量和第一中位数,获得第一余项时间序列,该第一余项时间序列包括各源端口特征值对应的余项源端口特征值。
根据上述STL方法将特征数据时间序列分解为趋势分量、周期分量和余项分量后,在分解后的余项分量中,会存在部分假异常点。本公开实施例中,可以将趋势分量替换为该特征数据时间序列的第一中位数,使用该特征数据时间序列减去该周期分量和该特征数据时间序列的第一中位数,获得该特征数据时间序列的第一余项时间序列,可以避免这种假阳性的问题,从而降低流量数据检测的误报率。
即,第一余项时间序列可以通过以下公式获得:
Y=X-S-median(X) (2)
其中,上述公式中,Y为第一余项时间序列,X为特征数据时间序列,S为该特征数据时间序列的周期分量,medium(X)为该特征数据时间序列的第一中位数。
特征数据时间序列包括按时间顺序排列的各预设时间段对应的源端口特征值,则按公式(2)得到的第一余项时间序列中包括与各源端口特征值对应的余项源端口特征值Value’。
例如,假设特征数据时间序列为{Value1,Value2,Value3,Value4,……,ValueN},则第一余项时间序列可以表示为{Value1’,Value2’,Value3’,Value4’,……,ValueN’}。
在步骤S344中,从第一余项时间序列检测获得余项源端口特征值中的异常余项源端口特征值。
本公开实施例中,可以采用的异常检测算法包括但不限于ESD(ExtremeStudentized Deviate,极值学生化分布离差)算法、S-H-ESD(Seasonal Hybrid ESD,周期性混合ESD)算法、WT_CUSUM(小波变换+Cumulative Sum Control Chart,累积和)算法,Changepoints(拐点检测,中值滤波+均值漂移)算法等中的任意一种或者多种。
下面以通过S-H-ESD异常检测算法对第一余项时间序列进行检测为例进行说明。具体实现可以参照下图5和6实施例的描述。
由于第一余项时间序列数据具有周期性和趋势性的特点,因此异常检测不能将第一余项时间序列中孤立的余项源端口特征值(也可以称之为样本点)单独进行处理,本公开实施例中的数据流量的检测方法可以基于历史数据进行分析判断,历史数据例如可以为近两周的目标流量数据。
本公开实施例中,通过检测可以获得该第一余项时间序列中没有异常余项源端口特征值,或者该第一余项时间序列中具有一个或多个(两个以上)异常余项源端口特征值。例如,若第一余项时间序列中包括两个异常余项源端口特征值,则可以分别称之为第一异常余项源端口特征值和第二异常余项源端口特征值。
在步骤S345中,确定异常余项源端口特征值对应的目标源地址为第一时长内的可疑目标源地址。
若检测获得该第一余项时间序列具有一个或多个异常余项源端口特征值,则将异常余项源端口特征值对应的目标源地址确定为第一时长内的可疑目标源地址,或者,将该第一余项时间序列对应的目标源地址确定为第一时长内的可疑目标源地址。
图5示出了图4中所示的步骤S344在一实施例中的处理过程示意图。
如图5所示,本公开实施例中,上述步骤S344可以进一步包括以下步骤。本公开实施例中,假设第一余项时间序列包括异常余项源端口特征值,且该异常余项源端口特征值包括第一异常余项源端口特征值。
在步骤S3441中,根据第一余项时间序列的第一数量和异常点阈值,确定第一临界值。
本公开实施例中,第一余项时间序列的第一数量可以为第一余项时间序列中包含的余项源端口特征值个数,第一数量等于特征数据时间序列中源端口特征值的个数,即也可以用n表示。异常点阈值可以为第一余项时间序列中的异常点的个数阈值。可以直接设置异常点阈值,也可以通过设置异常点比例阈值,根据异常点比例阈值和第一数量的乘积确定异常点阈值。异常点比例阈值为第一余项时间序列中可能存在的异常点总个数占第一数量的比例。
例如,可以将异常点阈值设置为20个,或者,将异常点比例阈值设置为0.002,即,第一余项时间序列中可能存在的异常点总个数占第一余项时间序列的第一数量的比例为0.002,若第一数量为10000,则可以确定出异常点阈值为:10000×0.002=20个。
下面对通过S-H-ESD算法对第一余项时间序列进行检测的具体过程进行说明。
S-H-ESD算法是基于ESD进行优化的算法。ESD算法是基于GrubbsTest(格拉布斯测试)假设检验扩展到多个异常点检验的算法(Grubbs Test只能检验单个异常点)。原假设H0与备择假设H1可以为:
H0:第一余项时间序列中没有异常点;
H1:第一余项时间序列中有一个异常点。
本公开实施例中,可以通过公式(1),令j=1,α=0.05,获得第一临界值λ1。其中,α可以根据实际情况进行设置。
在步骤S3442中,获得第一余项时间序列的第二中位数和第一绝对中位差,确定第一余项时间序列的第一偏离残差值。
本公开实施例中,可以根据第一余项时间序列中的余项源端口特征值的大小,对该第一余项时间序列中的余项源端口特征值进行排序,将中间位置的数作为该第一余项时间序列的第二中位数。
仍以上述第一余项时间序列Y为例,可以用medium(Y)表示该第一余项时间序列的第二中位数。
本公开实施例中,第一绝对中位差可以通过以下公式获得:
MAD(Y)=median(|Yi-median(Y)|),1≤i≤n (3)
其中,上述公式中,MAD(Y)为第一余项时间序列Y的第一绝对中位差,Yi为第一余项时间序列Y的第i个余项源端口特征值,i为大于或等于1且小于或等于n的正整数。
本公开实施例中,第一偏离残差值可以通过以下公式获得:
其中,上述公式中,Ci为第一余项时间序列Y的第i个第一偏离残差值。
本公开实施例中,采用更具鲁棒性的第一余项时间序列的第二中位数和第一绝对中位差来代替第一余项时间序列的平均数和方差,来计算第一余项时间序列的第一偏离残差值,可以降低召回率,避免第一余项时间序列中个别异常点对第一余项时间序列的均值和方差的影响。
在步骤S3443中,将第一偏离残差值的最大值确定为第一检验统计量。
本公开实施例中,第一检验统计量可以通过以下公式获得:
C=max(Ci) (5)
从公式(5)中可以看出,第一检验统计量是第一余项时间序列中余项源端口特征值中最大的或者最小的余项源端口特征值,通过比较第一检验统计量和第一临界值的关系,可以确定出最大的或最小的余项源端口特征值是否为异常点。
本公开实施例中,将第一偏离残差值的最大值作为第一检验统计量,比较第一检验统计量C与第一临界值λ1的关系,若第一检验统计量C大于第一临界值λ1,执行步骤S3444;若第一检验统计量C小于或等于第一临界值λ1,则可以判定该第一余项时间序列中没有异常余项源端口特征值,该第一余项时间序列对应的目标源地址不是可疑目标源地址。
在步骤S3444中,若第一检验统计量大于第一临界值,则将第一检验统计量对应的余项源端口特征值确定为第一异常余项源端口特征值。
例如,假设第一余项时间序列为{Value1’,Value2’,Value3’,Value4’,……ValueN’},通过上述公式得到Value3’对应的第一偏离残差值最大,Value3’对应的第一检验统计量大于第一临界值,则将Value3’确定为第一异常余项源端口特征值,将第一余项时间序列对应的目标源地址确定为可疑目标源地址。
图6示出了图4中所示的步骤S344在一实施例中的处理过程示意图。
如图6所示,本公开实施例中,上述步骤S344还可以进一步包括以下步骤。本公开实施例中,假设第一余项时间序列中的异常余项源端口特征值还可以包括第二异常余项源端口特征值。
在步骤S3445中,从第一余项时间序列中删除第一异常余项源端口特征值,获得第二余项时间序列。
以上述第一余项时间序列为例,通过上述步骤得到第一异常余项源端口特征值为Value3’,则从第一余项时间序列{Value1’,Value2’,Value3’,Value4’,……ValueN’}中删除第一异常余项源端口特征值Value3’,获得第二余项时间序列为{Value1’,Value2’,Value4’,……ValueN’},该第二余项时间序列可以用Y’表示,第二余项时间序列Y’包含n-1个余项源端口特征值。
在步骤S3446中,根据第二余项时间序列的第二数量和异常点阈值,确定第二临界值。
本公开实施例中,第二余项时间序列的第二数量可以为第二余项时间序列中包含的余项源端口特征值个数,以上述第二余项时间序列Y’为例,该第二余项时间序列Y’的第二数量为n-1。
本公开实施例中,令公式(1)中的j=2,获得第二临界值λ2。
在步骤S3447中,获得第二余项时间序列的第三中位数和第二绝对中位差,确定第二余项时间序列的第二偏离残差值。
例如可以根据第二余项时间序列中的余项源端口特征值的大小,对该第二余项时间序列中的余项源端口特征值进行排序,将中间位置的数作为该第二余项时间序列的第三中位数。
本公开实施例中,第二绝对中位差可以通过以下公式获得:
MAD(Y’)=median(|Yi’-median(Y’)|),1≤i≤n-1 (6)
其中,上述公式中,MAD(Y’)为第二余项时间序列Y’的第二绝对中位差,Yi’为第二余项时间序列Y’的第i个余项源端口特征值,i为大于或等于1且小于或等于n-1的正整数。
本公开实施例中,第二偏离残差值可以通过以下公式获得:
其中,上述公式中,Ci’为第二余项时间序列Y’的第i个第二偏离残差值。
在步骤S3448中,将第二偏离残差值的最大值确定为第二检验统计量。
本公开实施例中,第二检验统计量可以通过以下公式获得:
C’=max(Ci’) (8)
比较第二检验统计量C’与第二临界值λ2的关系,若第二检验统计量C’大于第二临界值λ2,执行步骤S3449;若第二检验统计量C’小于或等于第二临界值λ2,则该第二余项时间序列中没有异常余项源端口特征值。
在步骤S3449中,若第二检验统计量大于第二临界值,则将第二检验统计量对应的余项源端口特征值确定为第二异常余项源端口特征值。
例如,第二余项时间序列为{Value1’,Value2’,Value4’,……ValueN’},通过上述公式得到Value4’对应的第二偏离残差值最大,Value4’对应的第二检验统计量大于第二临界值,则将Value4’确定为第二异常余项源端口特征值,则第二余项时间序列对应的第一余项时间序列具有Value3’、Value4’两个异常余项源端口特征值。
重复上述步骤,从第二余项时间序列中删除异常余项源端口特征值Value4’,获得第三异常余项时间序列,根据第三异常余项时间序列的第三数量和异常点阈值,获得第三临界值,根据第三余项时间序列的第四中位数和第三中位差,确定第三余项时间序列的第三偏离残差值,将第三偏离残差值的最大值作为第三检验统计量,比较第三检验统计量与第三临界值的关系,若第三检验统计量大于第三临界值,则将第三检验统计量对应的余项源端口特征值确定为第三异常余项源端口特征值;若第三检验统计量小于或等于第三临界值,则该第三余项时间序列中没有异常余项源端口特征值,直到找出第一余项时间序列中所有的异常余项源端口特征值。
图7示意性示出了根据本公开的一实施例的流量数据的检测方法的流程图。
如图7所示,与上述实施例的不同之处,在步骤S340之后,本公开实施例提供的方法还可以进一步包括以下步骤。
在步骤S710中,从第一时长内的可疑目标源地址中,获得第二时长内的可疑目标源地址,其中,第一时长包括第二时长。
第一时长例如可以为两周,第二时长例如可以为一小时。
本公开实施例中,第一时长包括第二时长,第一时长较长,第二时长较短,对第一时长内的目标流量数据进行检测,由于第一时长较长,获得的可疑目标源地址更为准确,在后续对可疑目标源地址进行过滤或分析的过程中,只针对第二时长内的可疑目标源地址进行,可以节约计算机资源,提高过滤或分析的效率。
对第一时长内的目标流量数据进行检测,获得的可疑目标源地址更为准确是因为:该检测结果,即可疑目标源地址的确定与第一时长内的目标流量数据的特征有关系,例如,若目标流量数据在第一时长内的各预设时间段内的源端口特征值均比较大,即目标源地址和目标目的地址之间经常存在多次连接,则当一个预设时间段内的源端口特征值比均值大得多的时候,才会被检测为异常源端口特征值;若目标流量数据在第一时长内的各预设时间段内的源端口特征值均很小,即目标源地址和目标目的地址之间基本不存在多次连接,则当一个预设时间段内的源端口特征值比较大时,就会被检测为异常源端口特征值。因此,基于较长的第一时长内的目标流量数据进行检测,获得的可疑目标源地址更为准确。
根据可疑目标源地址对应的时间戳,可以确定该可疑目标源地址是否在第二时长内。
在步骤S720中,获得第二时长内的可疑目标源地址对应的各异常余项源端口特征值。
根据第二时长内的可疑目标源地址,可以获得与第二时长内的可疑目标源地址对应的各异常余项源端口特征值。异常余项源端口特征值可以有一个或多个。
在步骤S730中,将第二时长内的各异常余项源端口特征值对应的源端口特征值确定为异常源端口特征值。
根据第二时长内的各异常余项源端口特征值,可以获得第二时长内的各异常余项源端口特征值对应的各源端口特征值,将第二时长内的各异常余项源端口特征值对应的各源端口特征值确定为异常源端口特征值。异常源端口特征值可以为一个或多个。
在步骤S740中,根据各异常源端口特征值,确定可疑目标源地址的异常偏离程度。
例如,可以根据可疑目标源地址的各异常源端口特征值的大小,获得各可疑目标源地址的异常偏离程度。异常偏离程度可以根据以下方法获得:将可疑目标源地址的各异常源端口特征值中最大的异常源端口特征值,作为该可疑目标源地址的异常偏离程度;异常偏离程度也可以根据以下方法获得:将可疑目标源地址的各异常源端口特征值中相加的和,作为该可疑目标源地址的异常偏离程度。
图8示意性示出了根据本公开的一实施例的流量数据的检测方法的流程图。
如图8所示,与上述实施例的不同之处,在步骤S740之后,本公开实施例提供的方法还可以进一步包括以下步骤。
在步骤S810中,对可疑目标源地址的异常偏离程度进行归一化,获得可疑目标源地址的异常分。
例如可以将异常偏离程度最大的可疑目标源地址的异常分设置为100分,对其他可疑目标源地址的异常偏离程度进行归一化,根据异常偏离程度和异常分的比值,确定各可疑目标源地址的异常分。
在步骤S820中,显示可疑目标源地址及其异常分、各异常源端口特征值、异常偏离程度中的至少一种。
例如可以将可疑目标源地址及其异常分显示在检测结果界面,供用户查看,也可以将可疑目标源地址及其各异常源端口特征值显示在检测结果界面,也可以将可疑目标源地址及其异常偏离程度显示在检测结果界面,也可以同时将可疑目标源地址及其异常分、各异常源端口特征值和异常偏离程度显示在检测结果界面。
图9示意性示出了根据本公开的一实施例的流量数据的检测结果的示意图。
如图9所示,横坐标为时间,纵坐标为异常源端口特征值。
从图9中可以看出,该可疑目标源地址于2019年11月11日22:37:00向目标目的地址进行了连续连接行为,一分钟内更换源端口号1587次,具有较高可疑性。
具体检测结果为:{"src_ip":"**.129.240.**","dest_ip":"**.129.50.**","timestamp":20191111223700,"value":1587}
其中,src_ip表示目标源端口,dest_ip表示目标目的端口,timestamp表示时间戳,value表示异常源端口特征值。
图10示意性示出了根据本公开的一实施例的流量数据的检测结果的示意图。
如图10所示,横坐标为时间,纵坐标为异常源端口特征值。
从图10中可以看出,该可疑目标源地址于2019年11月11日16:03:00向目标目的地址进行了连续连接行为,一分钟内更换源端口号18次,观察其历史数据十分稀疏,具有较高可疑性。
具体检测结果为:{"src_ip":"**.34.135.**","dest_ip":"**.130.31.**","timestamp":20191111160300,"value":18}
图11示意性示出了根据本公开的一实施例的流量数据的检测结果的示意图。
如图11所示,左侧为各目标源地址及其异常分,右侧为其中一个目标源地址的具体信息,右侧上部为该目标源地址对应的异常源端口特征值、均值、偏离程度和时间信息,右侧下部为该目标源地址对应的时间和异常源端口特征值的坐标图。
图12示出了图3中所示的步骤S320在一实施例中的处理过程示意图。
如图12所示,本公开实施例中,上述步骤S320可以进一步包括以下步骤。
在步骤S321中,获取预设时间段内的目标源地址和目标目的地址对应的各源端口号。
以预设时间段为一分钟为例,例如根据目标流量数据中的时间戳,获取每一分钟内的目标源地址相同且目标目的地址也相同的目标流量数据对应的各源端口号。
在步骤S322中,将预设时间段内的目标源地址和目标目的地址对应的各源端口号的变化数量,确定为预设时间段内的目标源地址和目标目的地址对应的源端口特征值。
对各源端口号进行去重计数处理,获得每一分钟内的源端口号的变化数量,将源端口号的变化数量作为每一分钟内目标源地址为和目标目的地址为的源端口特征值。
例如,Key为目标源地址A和目标目的地址B的IP对,假设目标源地址A在某一分钟内依次采用了源端口号1、源端口号2、源端口号1、源端口号3、源端口号2、源端口号4、源端口号5来建立与目标目的地址B之间的连接,去掉重复的源端口号1和源端口号2后,可以获得该Key在该一分钟内的端口特征值(Value)为5,可以表示源端口号变化了5次。
图13示出了图3中所示的步骤S310在一实施例中的处理过程示意图。
如图13所示,本公开实施例中,上述步骤S310可以进一步包括以下步骤。
在步骤S311中,获取第一时长内的初始流量数据。
初始流量数据例如可以包括目标源地址、目标目的地址、源端口号、目的端口号、时间戳、协议、连接状态等。
在步骤S312中,确定采用目标传输协议且处于连接状态的初始流量数据为目标流量数据。
例如可以根据初始流量数据采用的传输协议和连接状态,对初始流量数据进行过滤,获得目标流量数据。
目标传输协议例如可以为TCP(Transmission Control Protocol,传输控制协议)。
例如可以从初始流量数据中选取采用TCP协议的且连接状态为已连接的初始流量数据作为目标流量数据。
例如也可以根据初始流量数据的时间戳,选择需要检测的时间段内的初始流量数据作为目标流量数据。
在示例性实施例中,目标传输协议包括第一传输协议或者第二传输协议。
第一传输协议例如可以为FTP(File Transfer Protocol,文件传输协议),第二传输协议例如可以为TCP协议下除FTP协议以外的传输协议。
图14示出了图13中所示的步骤S312在一实施例中的处理过程示意图。
如图14所示,本公开实施例中,上述步骤S312可以进一步包括以下步骤。
在步骤S3121中,获取可疑目标源地址采用的传输协议。
在获得可疑目标源地址之后,可以通过协议过滤的方法,获得异常目标源地址。
可疑目标源地址采用的传输协议例如可以为FTP协议。
在FTP传输过程中,也会出现上述连续连接的行为,不能因此判定FTP就是异常连接,需要结合相应的业务场景来判断。例如公司内网已经不再用FTP协议进行文件传输,那么该连接行为就是异常的。若公司内网使用FTP协议进行文件传输,那么当获得的可疑目标源地址采用的传输协议为FTP协议时,应将该可疑目标源地址过滤,即该连接行为是正常的,该可疑目标源地址应为正常的目标源地址。
判断可疑目标源地址采用的传输协议为第一传输协议还是第二传输协议,若可疑目标源地址采用的传输协议为第一传输协议,执行步骤S3122;若可疑目标源地址采用的传输协议为第二传输协议,执行步骤S3123。
在步骤S3122中,若该可疑目标源地址采用的传输协议为第一传输协议,则过滤该可疑目标源地址。
例如,该可疑目标源地址采用的传输协议为FTP协议,则将该可疑目标源地址过滤掉,即该可疑目标源地址为正常的目标源地址。
在步骤S3123中,若该可疑目标源地址采用的传输协议为第二传输协议,则确定该可疑目标源地址为异常目标源地址。
例如,该可疑目标源地址采用的传输协议不是FTP协议,则将该可疑目标源地址确定为异常目标源地址。
本公开实施例中,通过协议过滤可疑目标源地址,可以根据具体的应用场景,确定异常目标源地址,提高了流量数据检测的准确性,降低了误报率。
图15示意性示出了根据本公开的一实施例的流量数据的检测方法的流程图。
如图15所示,与上述实施例的不同之处,本公开实施例提供的方法还可以进一步包括以下步骤。
在步骤S1510中,获取白名单源地址。
白名单源地址可以为预先设置好的。
例如,在Skype(通讯软件)启动时,会出现连续连接的行为,而该连续连接行为是正常的,因此,可以将Skype的目标源地址设置在白名单源地址中,当可疑目标源地址和Skype的目标源地址相同时,可以将该可疑目标源地址过滤掉,即该可疑目标源地址为正常的目标源地址。
在步骤S1520中,根据白名单源地址,对可疑目标源地址进行过滤。
若可疑目标源地址与白名单源地址相同,则可以将可疑目标源地址过滤掉。
图16示意性示出了根据本公开的一实施例的流量数据的检测框架的示意图。
如图16所示,本公开实施例提供的流量数据的检测框架可以包括:数据预处理层1610、特征提取层1620、算法层1630、策略层1640及归一化输出层1650。
其中,数据接入预处理层1610可以在检测任务启动后,读取流量日志,并进行预处理操作,其中,流量日志包括初始流量数据。预处理操作的主要目的是对初始流量数据进行过滤,将检测任务需要的数据送入到特征提取层,检测任务需要的数据例如可以为特定时间段内的采用目标传输协议的目标流量数据。
特征提取层1620可以在预处理操作完成后,对目标流量数据进行特征提取,获得目标流量数据的特征数据时间序列。
算法层1630中封装了多种异常检测算法,可以在特征提取层提取完特征后,对特征数据时间序列进行检测,获得目标流量数据中的异常流量数据,其中,异常流量数据包括可疑目标源地址。
策略层1640的主要目的是将人工经验放入策略中,来过滤算法层1630输出的检测结果,以提高整个检测的精度,策略层1640可以包括白名单过滤策略、协议过滤策略等。
归一化输出层1650的目的是将检测结果映射成产品页面所需要的展示形式,比如Event(事件)数据和可视化数据。
图17示意性示出了根据本公开的一实施例的流量数据的检测方法的流程图。
如图17所示,本公开实施例提供的方法可以进一步包括以下步骤。
在步骤S1710中,获取初始流量数据,并对初始流量数据进行预处理,获得目标流量数据。
本公开实施例获取的初始流量数据可以为内网到内网的流量数据、外网到外网的流量数据、内网到外网的流量数据或外网到内网的流量数据。
本公开实施例提供的流量数据的检测方法可以自动适配企业环境,即私有云环境,可以直接在企业网络环境下训练并检测。
私有云(Private Cloud)是将云基础设施与软硬件资源创建在防火墙内,以供机构或企业内各部门共享数据中心内的资源。创建私有云,除了硬件资源外,一般还有云设备(IaaS,Infrastructure as a Service,基础设施即服务)软件。
例如通过部分关键字过滤对初始流量数据进行预处理,从初始流量数据中获得特定时间段内的采用目标传输协议的目标流量数据。目标传输协议例如可以为TCP协议。
在步骤S1720中,对目标流量数据进行特征提取,获得目标流量数据的特征数据时间序列。
例如可以以一分钟为粒度,对目标流量数据进行特征提取,可以以目标源地址和目标目的地址的IP对为Key构建特征数据时间序列。若该特征数据时间序列不完整,可以对该特征数据时间序列中不完整的数据进行填充。该特征数据时间序列包括按时间顺序排列的每一分钟对应的源端口特征值。
在步骤S1730中,根据目标流量数据的特征数据时间序列,获得特征数据时间序列模型。
例如可以根据两周内的目标流量数据的特征数据时间序列,构建两周内的特征数据时间序列模型。
在步骤S1740中,对待检测时间段内的目标流量数据进行检测,获得目标流量数据中的异常流量数据,其中,异常流量数据包括可疑目标源地址。
待检测时间段例如可以为一小时,也可以根据需要设置。
可以根据算法层中封装的异常检测算法对待检测时间段内的目标流量数据进行检测,获得目标流量数据中的异常流量数据。
在步骤S1750中,对异常流量数据中的可疑目标源地址进行过滤,获得异常目标源地址。
例如可以通过白名单过滤或协议过滤对异常流量数据中的可疑目标源地址进行过滤,获得异常目标源地址。
在步骤S1760中,获得各异常目标源地址对应的异常偏离程度,对各异常目标源地址对应的异常偏离程度进行归一化,获得各异常目标源地址的异常分。
例如可以将各异常目标源地址对应的异常偏离程度和异常分写入数据库中,例如,MySQL(关系型数据库管理系统)、Kafka(开源流处理平台)、ES(Elastic Search,搜索服务器)。
在步骤S1770中,将异常目标源地址及其异常分、各异常源端口特征值、异常偏离程度中的至少一种显示在产品页面。
图18示意性示出了根据本公开的一实施例的配置检测场景的示意图。
本公开实施例提供的流量数据的检测方法可以应用在安全运营中心,安全运营中心可以是面向企业的安全大数据分析及可视化平台。安全运营中心可以针对企业面临的外部攻击和内部潜在风险进行深度检测,为企业提供及时的安全告警。该流量数据的检测方法可以对海量的流量数据进行多维度分析、及时预警,可以对威胁及时做出智能处置,实现企业全网安全态势可知、可见、可控的闭环。
本公开实施例提供的流量数据的检测方法可以应用在企业内部,用户可以根据封装好的各种算法来配置各模块。
如图18所示,左侧为封装好的各种算法模块,右侧为画布,用户可以拖动左侧的各算法模块,在右侧的画布中设置流量数据的检测方法的流程,用户将各算法模块连接起来之后,后台可以自动运行该流量数据的检测方法的流程,获得检测结果,检测结果可以为如图12所示。
图19示意性示出了根据本公开的一实施例的流量数据的检测装置的框图。如图19所示,本公开实施方式提供的流量数据的检测装置1900可以包括:目标流量数据获取模块1910、源端口特征值获得模块1920、特征数据时间序列获得模块1930以及异常检测模块1940。
其中,目标流量数据获取模块1910可以用于获取目标流量数据,所述目标流量数据包括目标源地址、目标目的地址、源端口号和时间戳;源端口特征值获得模块1920可以用于根据所述目标流量数据中的时间戳和源端口号,获得各预设时间段内所述目标源地址和所述目标目的地址的源端口特征值;特征数据时间序列获得模块1930可以用于获得所述目标流量数据的特征数据时间序列,所述特征数据时间序列包括按序排列的各预设时间段对应的源端口特征值;异常检测模块1940可以用于对所述特征数据时间序列进行异常检测,获得所述目标流量数据中的异常流量数据,所述异常流量数据包括异常目标源地址。
在示例性实施例中,异常检测模块1940可以包括:周期分量获得模块,可以用于获得所述特征数据时间序列的周期分量;第一中位数获得模块,可以用于获得所述特征数据时间序列的第一中位数;第一余项时间序列获得模块,可以用于根据所述特征数据时间序列、所述周期分量和所述第一中位数,获得第一余项时间序列,所述第一余项时间序列包括各源端口特征值对应的余项源端口特征值;第一余项时间序列检测模块,可以用于从所述第一余项时间序列检测获得所述余项源端口特征值中的异常余项源端口特征值;可疑目标源地址确定模块,可以用于确定所述异常余项源端口特征值对应的目标源地址为所述第一时长内的可疑目标源地址。
在示例性实施例中,所述异常余项源端口特征值包括第一异常余项源端口特征值;其中,第一余项时间序列检测模块可以包括:第一临界值确定模块,可以用于根据所述第一余项时间序列的第一数量和异常点阈值,确定第一临界值;第一偏离残差值确定模块,可以用于获得所述第一余项时间序列的第二中位数和第一绝对中位差,确定所述第一余项时间序列的第一偏离残差值;第一检验统计量确定模块,可以用于将所述第一偏离残差值的最大值确定为第一检验统计量;第一异常余项源端口特征值确定模块,可以用于若所述第一检验统计量大于所述第一临界值,则将所述第一检验统计量对应的余项源端口特征值确定为所述第一异常余项源端口特征值。
在示例性实施例中,所述异常余项源端口特征值还包括第二异常余项源端口特征值;其中,第一余项时间序列检测模块还可以包括:第二余项时间序列获得模块,可以用于从所述第一余项时间序列中删除所述第一异常余项源端口特征值,获得第二余项时间序列;第二临界值确定模块,可以用于根据所述第二余项时间序列的第二数量和所述异常点阈值,确定第二临界值;第二偏离残差值确定模块,可以用于获得所述第二余项时间序列的第三中位数和第二绝对中位差,确定所述第二余项时间序列的第二偏离残差值;第二检验统计量确定模块,可以用于将所述第二偏离残差值的最大值确定为第二检验统计量;第二异常余项源端口特征值确定模块,可以用于若所述第二检验统计量大于所述第二临界值,则将所述第二检验统计量对应的余项源端口特征值确定为所述第二异常余项源端口特征值。
在示例性实施例中,所述流量数据的检测装置1900还可以包括:可疑目标源地址获得模块,可以用于从所述第一时长内的可疑目标源地址中,获得第二时长内的所述可疑目标源地址,所述第一时长包括所述第二时长;异常余项源端口特征值获得模块,可以用于获得所述第二时长内的可疑目标源地址对应的各异常余项源端口特征值;异常源端口特征值确定模块,可以用于将所述第二时长内的各异常余项源端口特征值对应的源端口特征值确定为异常源端口特征值;异常偏离程度确定模块,可以用于根据各异常源端口特征值,确定所述可疑目标源地址的异常偏离程度。
在示例性实施例中,所述流量数据的检测装置1900还可以包括:归一化模块,可以用于对所述可疑目标源地址的异常偏离程度进行归一化,获得所述可疑目标源地址的异常分;显示模块,可以用于显示所述可疑目标源地址及其异常分、各异常源端口特征值、异常偏离程度中的至少一种。
在示例性实施例中,源端口特征值获得模块1920可以包括:源端口号获取模块,可以用于获取所述第一时长内的所述目标源地址和所述目标目的地址对应的各源端口号;源端口特征值确定模块,可以用于将所述第一时长内的所述目标源地址和所述目标目的地址对应的各源端口号的变化数量,确定为所述第一时长内的所述目标源地址和所述目标目的地址对应的源端口特征值。
在示例性实施例中,目标流量数据获取模块1910可以包括:初始流量数据获取模块,可以用于获取所述第一时长内的初始流量数据;目标流量数据确定模块,可以用于确定采用目标传输协议且处于连接状态的初始流量数据为所述目标流量数据。
在示例性实施例中,所述目标传输协议包括第一传输协议或者第二传输协议;其中,所述流量数据的检测装置1900还可以包括:传输协议获取模块,可以用于获取所述可疑目标源地址采用的传输协议;可疑目标源地址过滤模块,可以用于若所述可疑目标源地址采用的传输协议为所述第一传输协议,则过滤所述可疑目标源地址;或者异常目标源地址确定模块,可以用于若所述可疑目标源地址采用的传输协议为所述第二传输协议,则确定所述可疑目标源地址为异常目标源地址。
在示例性实施例中,所述流量数据的检测装置1900可以还包括:白名单源地址获取模块,可以用于获取白名单源地址;白名单过滤模块,可以用于根据所述白名单源地址,对所述可疑目标源地址进行过滤。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
图20示出了适于用来实现本公开实施例的电子设备的结构示意图。
需要说明的是,图20示出的电子设备2000仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图20所示,电子设备2000包括中央处理单元(CPU,Central Processing Unit)2001,其可以根据存储在只读存储器(ROM,Read-Only Memory)2002中的程序或者从储存部分2008加载到随机访问存储器(RAM,Random Access Memory)2003中的程序而执行各种适当的动作和处理。在RAM 2003中,还存储有系统操作所需的各种程序和数据。CPU2001、ROM2002以及RAM 2003通过总线2004彼此相连。输入/输出(input/output,I/O)接口2005也连接至总线2004。
以下部件连接至I/O接口2005:包括键盘、鼠标等的输入部分2006;包括诸如阴极射线管(CRT,Cathode Ray Tube)、液晶显示器(LCD,Liquid Crystal Display)等以及扬声器等的输出部分2007;包括硬盘等的储存部分2008;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分2009。通信部分2009经由诸如因特网的网络执行通信处理。驱动器2010也根据需要连接至I/O接口2005。可拆卸介质2011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器2010上,以便于从其上读出的计算机程序根据需要被安装入储存部分2008。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分2009从网络上被下载和安装,和/或从可拆卸介质2011被安装。在该计算机程序被中央处理单元(CPU)2001执行时,执行本公开的方法和/或装置中限定的各种功能。
需要说明的是,本公开所示的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM(Erasable Programmable Read Only Memory,可擦除可编程只读存储器)或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF(Radio Frequency,射频)等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的方法、装置和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。例如,所述的电子设备可以实现如图3或图4或图5或图6或图7或图8或图12或图13或图14或图15或图17所示的各个步骤。
根据本公开的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例的各种可选实现方式中提供的方法。
需要理解的是,在本公开附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (22)
1.一种流量数据的检测方法,其特征在于,包括:
获取第一时长内的目标流量数据,所述目标流量数据包括目标源地址、目标目的地址、源端口号和时间戳;
根据所述目标流量数据中的时间戳和源端口号,获得所述第一时长内各预设时间段内所述目标源地址和所述目标目的地址的源端口特征值;
获得所述目标流量数据的特征数据时间序列,所述特征数据时间序列包括按序排列的各预设时间段对应的源端口特征值,其中所述源端口特征值表示在同一目标源地址和目标目的地址对下,源端口号在每个预设时间段内的变化数量;
对所述特征数据时间序列进行异常检测,获得所述目标流量数据中的异常流量数据,所述异常流量数据包括所述目标源地址中的可疑目标源地址;
其中,对所述特征数据时间序列进行异常检测,获得所述目标流量数据中的异常流量数据,包括:
将所述特征数据时间序列进行分解,获得所述特征数据时间序列的周期分量、趋势分量和余项分量,将所述特征数据时间序列的中位数作为第一中位数,用所述第一中位数替换所述特征数据时间序列的趋势分量,其中所述周期分量表示所述特征数据时间序列的周期性特征;
根据所述特征数据时间序列、所述特征数据时间序列的周期分量和所述第一中位数,得到所述特征数据时间序列对应的余项时间序列,所述余项时间序列中包括源端口特征值对应的余项源端口特征值,对所述余项时间序列进行检测,获得所述余项源端口特征值中的异常余项源端口特征值;
获取所述余项时间序列的中位数和绝对中位差,根据对应余项时间序列的中位数和绝对中位差,计算对应余项时间序列的偏离残差值,将所述余项时间序列的偏离残差值中最大的偏离残差值作为对应余项时间序列的检验统计量,其中所述偏离残差值表示所述余项时间序列中的各数据与所述余项时间序列的中位数的差的绝对值与所述余项时间序列的绝对中位差的比值;
比较对应余项时间序列的检验统计量和临界值的大小,若对应余项时间序列的检验统计量大于所述临界值,则将对应余项时间序列的检验统计量对应的余项源端口特征值作为异常余项源端口特征值。
2.根据权利要求1所述的方法,其特征在于,所述余项时间序列包括第一余项时间序列;其中,根据所述特征数据时间序列、所述特征数据时间序列的周期分量和所述第一中位数,得到所述特征数据时间序列对应的余项时间序列,包括:
根据所述特征数据时间序列、所述周期分量和所述第一中位数,获得所述第一余项时间序列,所述第一余项时间序列包括各源端口特征值对应的余项源端口特征值,其中所述余项源端口特征值表示在所述第一余项时间序列中与各源端口特征值对应的特征值;
其中,对所述余项时间序列进行检测,获得所述余项源端口特征值中的异常余项源端口特征值,包括:
从所述第一余项时间序列检测获得所述余项源端口特征值中的异常余项源端口特征值;
确定所述异常余项源端口特征值对应的目标源地址为所述第一时长内的可疑目标源地址。
3.根据权利要求2所述的方法,其特征在于,所述异常余项源端口特征值包括第一异常余项源端口特征值;其中,检测获得所述第一余项时间序列中的异常余项源端口特征值,包括:
根据所述第一余项时间序列的第一数量和异常点阈值,确定第一临界值;
获得所述第一余项时间序列的第二中位数和第一绝对中位差,确定所述第一余项时间序列的第一偏离残差值,其中所述第一偏离残差值表示所述第一余项时间序列中的各数据与所述第一余项时间序列的中位数的差的绝对值与所述第一余项时间序列的绝对中位差的比值;
将所述第一偏离残差值的最大值确定为第一检验统计量;
若所述第一检验统计量大于所述第一临界值,则将所述第一检验统计量对应的余项源端口特征值确定为所述第一异常余项源端口特征值。
4.根据权利要求3所述的方法,其特征在于,所述异常余项源端口特征值还包括第二异常余项源端口特征值;其中,检测获得所述第一余项时间序列中的异常余项源端口特征值,还包括:
从所述第一余项时间序列中删除所述第一异常余项源端口特征值,获得第二余项时间序列;
根据所述第二余项时间序列的第二数量和所述异常点阈值,确定第二临界值;
获得所述第二余项时间序列的第三中位数和第二绝对中位差,确定所述第二余项时间序列的第二偏离残差值,其中所述第二偏离残差值表示所述第二余项时间序列中的各数据与所述第二余项时间序列的中位数的差的绝对值与所述第二余项时间序列的绝对中位差的比值;
将所述第二偏离残差值的最大值确定为第二检验统计量;
若所述第二检验统计量大于所述第二临界值,则将所述第二检验统计量对应的余项源端口特征值确定为所述第二异常余项源端口特征值。
5.根据权利要求2至4任一项所述的方法,其特征在于,还包括:
从所述第一时长内的可疑目标源地址中,获得第二时长内的所述可疑目标源地址,所述第一时长包括所述第二时长;
获得所述第二时长内的可疑目标源地址对应的各异常余项源端口特征值;
将所述第二时长内的各异常余项源端口特征值对应的源端口特征值确定为异常源端口特征值;
根据各异常源端口特征值,确定所述可疑目标源地址的异常偏离程度。
6.根据权利要求5所述的方法,其特征在于,还包括:
对所述可疑目标源地址的异常偏离程度进行归一化,获得所述可疑目标源地址的异常分;
显示所述可疑目标源地址及其异常分、各异常源端口特征值、异常偏离程度中的至少一种。
7.根据权利要求1所述的方法,其特征在于,根据所述目标流量数据中的时间戳和源端口号,获得各预设时间段内所述目标源地址和所述目标目的地址的源端口特征值,包括:
获取所述预设时间段内的所述目标源地址和所述目标目的地址对应的各源端口号;
将所述预设时间段内的所述目标源地址和所述目标目的地址对应的各源端口号的变化数量,确定为所述预设时间段内的所述目标源地址和所述目标目的地址对应的源端口特征值。
8.根据权利要求1所述的方法,其特征在于,获取第一时长内的目标流量数据,包括:
获取所述第一时长内的初始流量数据;
确定采用目标传输协议且处于连接状态的初始流量数据为所述目标流量数据。
9.根据权利要求8所述的方法,其特征在于,所述目标传输协议包括第一传输协议或者第二传输协议;其中,所述方法还包括:
获取所述可疑目标源地址采用的传输协议;
若所述可疑目标源地址采用的传输协议为所述第一传输协议,则过滤所述可疑目标源地址;或者
若所述可疑目标源地址采用的传输协议为所述第二传输协议,则确定所述可疑目标源地址为异常目标源地址。
10.根据权利要求1或9所述的方法,其特征在于,还包括:
获取白名单源地址;
根据所述白名单源地址,对所述可疑目标源地址进行过滤。
11.一种流量数据的检测装置,其特征在于,包括:
目标流量数据获取模块,用于获取第一时长内的目标流量数据,所述目标流量数据包括目标源地址、目标目的地址、源端口号和时间戳;
源端口特征值获得模块,用于根据所述目标流量数据中的时间戳和源端口号,获得所述第一时长内各预设时间段内所述目标源地址和所述目标目的地址的源端口特征值,其中所述源端口特征值表示在同一目标源地址和目标目的地址对下,源端口号在每个预设时间段内的变化数量;
特征数据时间序列获得模块,用于获得所述目标流量数据的特征数据时间序列,所述特征数据时间序列包括按序排列的各预设时间段对应的源端口特征值;
异常检测模块,用于对所述特征数据时间序列进行异常检测,获得所述目标流量数据中的异常流量数据,所述异常流量数据包括所述目标源地址中的可疑目标源地址;
其中,所述异常检测模块用于将所述特征数据时间序列进行分解,获得所述特征数据时间序列的周期分量、趋势分量和余项分量,将所述特征数据时间序列的中位数作为第一中位数,用所述第一中位数替换所述特征数据时间序列的趋势分量,其中所述周期分量表示所述特征数据时间序列的周期性特征;根据所述特征数据时间序列、所述特征数据时间序列的周期分量和所述第一中位数,得到所述特征数据时间序列对应的余项时间序列,所述余项时间序列中包括源端口特征值对应的余项源端口特征值,对所述余项时间序列进行检测,获得所述余项源端口特征值中的异常余项源端口特征值;获取所述余项时间序列的中位数和绝对中位差,根据对应余项时间序列的中位数和绝对中位差,计算对应余项时间序列的偏离残差值,将所述余项时间序列的偏离残差值中最大的偏离残差值作为对应余项时间序列的检验统计量,其中所述偏离残差值表示所述余项时间序列中的各数据与所述余项时间序列的中位数的差的绝对值与所述余项时间序列的绝对中位差的比值;比较对应余项时间序列的检验统计量和临界值的大小,若对应余项时间序列的检验统计量大于所述临界值,则将对应余项时间序列的检验统计量对应的余项源端口特征值作为异常余项源端口特征值。
12.根据权利要求11所述的装置,其特征在于,所述余项时间序列包括第一余项时间序列;其中,所述异常检测模块包括:
第一余项时间序列获得模块,用于根据所述特征数据时间序列、所述周期分量和所述第一中位数,获得所述第一余项时间序列,所述第一余项时间序列包括各源端口特征值对应的余项源端口特征值,其中所述余项源端口特征值表示在所述第一余项时间序列中与各源端口特征值对应的特征值;
第一余项时间序列检测模块,用于从所述第一余项时间序列检测获得所述余项源端口特征值中的异常余项源端口特征值;
可疑目标源地址确定模块,用于确定所述异常余项源端口特征值对应的目标源地址为所述第一时长内的可疑目标源地址。
13.根据权利要求12所述的装置,其特征在于,所述异常余项源端口特征值包括第一异常余项源端口特征值;其中,所述第一余项时间序列检测模块包括:
第一临界值确定模块,用于根据所述第一余项时间序列的第一数量和异常点阈值,确定第一临界值;
第一偏离残差值确定模块,用于获得所述第一余项时间序列的第二中位数和第一绝对中位差,确定所述第一余项时间序列的第一偏离残差值,其中所述第一偏离残差值表示所述第一余项时间序列中的各数据与所述第一余项时间序列的中位数的差的绝对值与所述第一余项时间序列的绝对中位差的比值;
第一检验统计量确定模块,用于将所述第一偏离残差值的最大值确定为第一检验统计量;
第一异常余项源端口特征值确定模块,用于若所述第一检验统计量大于所述第一临界值,则将所述第一检验统计量对应的余项源端口特征值确定为所述第一异常余项源端口特征值。
14.根据权利要求13所述的装置,其特征在于,所述异常余项源端口特征值还包括第二异常余项源端口特征值;其中,所述第一余项时间序列检测模块还包括:
第二余项时间序列获得模块,用于从所述第一余项时间序列中删除所述第一异常余项源端口特征值,获得第二余项时间序列;
第二临界值确定模块,用于根据所述第二余项时间序列的第二数量和所述异常点阈值,确定第二临界值;
第二偏离残差值确定模块,用于获得所述第二余项时间序列的第三中位数和第二绝对中位差,确定所述第二余项时间序列的第二偏离残差值,其中所述第二偏离残差值表示所述第二余项时间序列中的各数据与所述第二余项时间序列的中位数的差的绝对值与所述第二余项时间序列的绝对中位差的比值;
第二检验统计量确定模块,用于将所述第二偏离残差值的最大值确定为第二检验统计量;
第二异常余项源端口特征值确定模块,用于若所述第二检验统计量大于所述第二临界值,则将所述第二检验统计量对应的余项源端口特征值确定为所述第二异常余项源端口特征值。
15.根据权利要求12至14任一项所述的装置,其特征在于,还包括:
可疑目标源地址获得模块,用于从所述第一时长内的可疑目标源地址中,获得第二时长内的所述可疑目标源地址,所述第一时长包括所述第二时长;
异常余项源端口特征值获得模块,用于获得所述第二时长内的可疑目标源地址对应的各异常余项源端口特征值;
异常源端口特征值确定模块,用于将所述第二时长内的各异常余项源端口特征值对应的源端口特征值确定为异常源端口特征值;
异常偏离程度确定模块,用于根据各异常源端口特征值,确定所述可疑目标源地址的异常偏离程度。
16.根据权利要求15所述的装置,其特征在于,还包括:
归一化模块,用于对所述可疑目标源地址的异常偏离程度进行归一化,获得所述可疑目标源地址的异常分;
显示模块,用于显示所述可疑目标源地址及其异常分、各异常源端口特征值、异常偏离程度中的至少一种。
17.根据权利要求11所述的装置,其特征在于,所述源端口特征值获得模块包括:
源端口号获取模块,用于获取所述预设时间段内的所述目标源地址和所述目标目的地址对应的各源端口号;
源端口特征值确定模块,用于将所述预设时间段内的所述目标源地址和所述目标目的地址对应的各源端口号的变化数量,确定为所述预设时间段内的所述目标源地址和所述目标目的地址对应的源端口特征值。
18.根据权利要求11所述的装置,其特征在于,所述目标流量数据获取模块包括:
初始流量数据获取模块,用于获取所述第一时长内的初始流量数据;
目标流量数据确定模块,用于确定采用目标传输协议且处于连接状态的初始流量数据为所述目标流量数据。
19.根据权利要求18所述的装置,其特征在于,所述目标传输协议包括第一传输协议或者第二传输协议;其中,所述装置还包括:
传输协议获取模块,用于获取所述可疑目标源地址采用的传输协议;
可疑目标源地址过滤模块,用于若所述可疑目标源地址采用的传输协议为所述第一传输协议,则过滤所述可疑目标源地址;或者
异常目标源地址确定模块,用于若所述可疑目标源地址采用的传输协议为所述第二传输协议,则确定所述可疑目标源地址为异常目标源地址。
20.根据权利要求11或19所述的装置,其特征在于,还包括:
白名单源地址获取模块,用于获取白名单源地址;
白名单过滤模块,用于根据所述白名单源地址,对所述可疑目标源地址进行过滤。
21.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至10中任一项所述的方法。
22.一种电子设备,其特征在于,包括:
至少一个处理器;
存储装置,用于存储至少一个程序,当所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现如权利要求1至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011009283.8A CN112153044B (zh) | 2020-09-23 | 2020-09-23 | 流量数据的检测方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011009283.8A CN112153044B (zh) | 2020-09-23 | 2020-09-23 | 流量数据的检测方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112153044A CN112153044A (zh) | 2020-12-29 |
CN112153044B true CN112153044B (zh) | 2021-11-12 |
Family
ID=73897815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011009283.8A Active CN112153044B (zh) | 2020-09-23 | 2020-09-23 | 流量数据的检测方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112153044B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113392412B (zh) * | 2021-05-11 | 2022-05-24 | 杭州趣链科技有限公司 | 数据接收方法、数据发送方法及电子设备 |
US11210155B1 (en) | 2021-06-09 | 2021-12-28 | International Business Machines Corporation | Performance data analysis to reduce false alerts in a hybrid cloud environment |
CN114285728B (zh) * | 2021-12-27 | 2024-02-02 | 中国电信股份有限公司 | 一种预测模型训练方法、流量预测方法、装置及存储介质 |
CN115134276B (zh) * | 2022-05-12 | 2023-12-08 | 亚信科技(成都)有限公司 | 一种挖矿流量检测方法及装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007125402A3 (en) * | 2006-04-27 | 2009-09-11 | Axalto Sa | A method for protecting local servers from denial-of-service attacks |
CN105491054A (zh) * | 2015-12-22 | 2016-04-13 | 网易(杭州)网络有限公司 | 恶意访问的判断方法、拦截方法与装置 |
CN109144820A (zh) * | 2018-08-31 | 2019-01-04 | 新华三信息安全技术有限公司 | 一种异常主机的检测方法及装置 |
CN109274673A (zh) * | 2018-09-26 | 2019-01-25 | 广东工业大学 | 一种网络流量异常检测和防御方法 |
CN109413095A (zh) * | 2018-11-29 | 2019-03-01 | 新华三大数据技术有限公司 | 防御攻击的方法及装置 |
CN109639628A (zh) * | 2018-10-26 | 2019-04-16 | 锐捷网络股份有限公司 | 私接行为检测方法、网络设备、系统及存储介质 |
CN109743333A (zh) * | 2019-02-27 | 2019-05-10 | 南京众智维信息科技有限公司 | 一种全方位分析企业网络安全漏洞的系统 |
CN109818793A (zh) * | 2019-01-30 | 2019-05-28 | 基本立子(北京)科技发展有限公司 | 针对物联网的设备类型识别及网络入侵检测方法 |
CN110266552A (zh) * | 2019-08-15 | 2019-09-20 | 华为技术有限公司 | 流量异常检测的方法、模型训练方法和装置 |
CN110290022A (zh) * | 2019-06-24 | 2019-09-27 | 中国人民解放军陆军工程大学 | 一种基于自适应聚类的未知应用层协议识别方法 |
CN111262832A (zh) * | 2020-01-08 | 2020-06-09 | 北京工业大学 | 云环境下融合信任和学习的DDoS攻击发现方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8127359B2 (en) * | 2003-04-11 | 2012-02-28 | Samir Gurunath Kelekar | Systems and methods for real-time network-based vulnerability assessment |
US7463590B2 (en) * | 2003-07-25 | 2008-12-09 | Reflex Security, Inc. | System and method for threat detection and response |
JP4626811B2 (ja) * | 2005-09-29 | 2011-02-09 | 日本電気株式会社 | ポートホッピング検出システム、ポートホッピング検出装置、ポートホッピング検出方法、及びプログラム |
CN106657066B (zh) * | 2016-12-23 | 2019-07-16 | 中国电子科技集团公司第三十研究所 | 一种网络管理平面地址的随机跳变方法及装置 |
CN108632224B (zh) * | 2017-03-23 | 2022-03-15 | 中兴通讯股份有限公司 | 一种apt攻击检测方法和装置 |
CN106850687A (zh) * | 2017-03-29 | 2017-06-13 | 北京百度网讯科技有限公司 | 用于检测网络攻击的方法和装置 |
TWI727213B (zh) * | 2018-10-08 | 2021-05-11 | 安碁資訊股份有限公司 | 偵測作業系統的異常操作的異常偵測的方法及裝置 |
CN110519290B (zh) * | 2019-09-03 | 2021-01-26 | 南京中孚信息技术有限公司 | 异常流量检测方法、装置及电子设备 |
CN111541655A (zh) * | 2020-04-08 | 2020-08-14 | 国家计算机网络与信息安全管理中心 | 网络异常流量检测方法、控制器及介质 |
CN111600859B (zh) * | 2020-05-08 | 2022-08-05 | 恒安嘉新(北京)科技股份公司 | 分布式拒绝服务攻击的检测方法、装置、设备及存储介质 |
-
2020
- 2020-09-23 CN CN202011009283.8A patent/CN112153044B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007125402A3 (en) * | 2006-04-27 | 2009-09-11 | Axalto Sa | A method for protecting local servers from denial-of-service attacks |
CN105491054A (zh) * | 2015-12-22 | 2016-04-13 | 网易(杭州)网络有限公司 | 恶意访问的判断方法、拦截方法与装置 |
CN109144820A (zh) * | 2018-08-31 | 2019-01-04 | 新华三信息安全技术有限公司 | 一种异常主机的检测方法及装置 |
CN109274673A (zh) * | 2018-09-26 | 2019-01-25 | 广东工业大学 | 一种网络流量异常检测和防御方法 |
CN109639628A (zh) * | 2018-10-26 | 2019-04-16 | 锐捷网络股份有限公司 | 私接行为检测方法、网络设备、系统及存储介质 |
CN109413095A (zh) * | 2018-11-29 | 2019-03-01 | 新华三大数据技术有限公司 | 防御攻击的方法及装置 |
CN109818793A (zh) * | 2019-01-30 | 2019-05-28 | 基本立子(北京)科技发展有限公司 | 针对物联网的设备类型识别及网络入侵检测方法 |
CN109743333A (zh) * | 2019-02-27 | 2019-05-10 | 南京众智维信息科技有限公司 | 一种全方位分析企业网络安全漏洞的系统 |
CN110290022A (zh) * | 2019-06-24 | 2019-09-27 | 中国人民解放军陆军工程大学 | 一种基于自适应聚类的未知应用层协议识别方法 |
CN110266552A (zh) * | 2019-08-15 | 2019-09-20 | 华为技术有限公司 | 流量异常检测的方法、模型训练方法和装置 |
CN111262832A (zh) * | 2020-01-08 | 2020-06-09 | 北京工业大学 | 云环境下融合信任和学习的DDoS攻击发现方法 |
Non-Patent Citations (3)
Title |
---|
Combining OpenFlow and sFlow for an effective and scalable anomaly detection and mitigation mechanism on SDN environments;K.Giotis;《Computer Networks》;20140407;全文 * |
基于NetFlow和sFlow网络流融合的异常检测方法研究;陈欣;《《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》》;20140415(第04期);全文 * |
实时网络流量异常检测算法研究和系统实现;林尚朕;《《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》》;20181015(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112153044A (zh) | 2020-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112153044B (zh) | 流量数据的检测方法及相关设备 | |
US10339309B1 (en) | System for identifying anomalies in an information system | |
CN111475804A (zh) | 一种告警预测方法及系统 | |
US10437996B1 (en) | Classifying software modules utilizing similarity-based queries | |
CN111931860A (zh) | 异常数据检测方法、装置、设备及存储介质 | |
CN112702342B (zh) | 网络事件处理方法、装置、电子设备及可读存储介质 | |
CN112822206B (zh) | 网络协同攻击行为的预测方法、装置以及电子设备 | |
US9961047B2 (en) | Network security management | |
CN115001934A (zh) | 一种工控安全风险分析系统及方法 | |
CN109344042A (zh) | 异常操作行为的识别方法、装置、设备及介质 | |
Fedorchenko et al. | Correlation of security events based on the analysis of structures of event types | |
CN115001753A (zh) | 一种关联告警的分析方法、装置、电子设备及存储介质 | |
US11122143B2 (en) | Comparison of behavioral populations for security and compliance monitoring | |
CN110598959A (zh) | 一种资产风险评估方法、装置、电子设备及存储介质 | |
CN114039837B (zh) | 告警数据处理方法、装置、系统、设备和存储介质 | |
Ehis | Optimization of Security Information and Event Management (SIEM) Infrastructures, and Events Correlation/Regression Analysis for Optimal Cyber Security Posture | |
Lu et al. | One intrusion detection method based on uniformed conditional dynamic mutual information | |
CN111651753A (zh) | 用户行为分析系统及方法 | |
Sharma | Cybercrimes and Digital Forensics in Internet of Things | |
US11914461B1 (en) | Organization segmentation for anomaly detection | |
CN114584391B (zh) | 异常流量处理策略的生成方法、装置、设备及存储介质 | |
CN115664726A (zh) | 一种恶意beacon通信的检测方法和装置 | |
WO2024058769A1 (en) | Organization segmentation for anomaly detection | |
CN117614643A (zh) | 一种威胁情报分析方法、系统、计算机设备及存储介质 | |
Ahmed | An application of containing order rough set for analyzing data of intrusion detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |