CN113132301B - 异常数据汇集的检测方法、装置和计算机存储介质 - Google Patents
异常数据汇集的检测方法、装置和计算机存储介质 Download PDFInfo
- Publication number
- CN113132301B CN113132301B CN201911398267.XA CN201911398267A CN113132301B CN 113132301 B CN113132301 B CN 113132301B CN 201911398267 A CN201911398267 A CN 201911398267A CN 113132301 B CN113132301 B CN 113132301B
- Authority
- CN
- China
- Prior art keywords
- data
- sequence
- abnormal
- preset time
- abnormal data
- 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
Abstract
本申请提供一种异常数据汇集的检测方法、装置和计算机存储介质,获取网络设备的第一预设时间内的特征数据序列;特征数据序列的每一个特征数据均对应有时间戳;特征数据序列根据网络设备在第一预设时间内的数据传输记录生成;基于异常点检测算法检测特征数据序列,得到特征数据序列中的异常数据;根据异常数据的时间戳,确定网络设备的第二预设时间内的异常数据;其中,第二预设时间小于第一预设时间;根据第二预设时间内的异常数据,进行异常数据汇集检测。本方案利用异常点检测算法分析网络设备近期传输的数据量,从而制定动态的检测标准,因而能够更准确的检测出网络设备的异常数据汇集,避免误报或漏报。
Description
技术领域
本发明涉及网络安全技术领域,特别涉及以一种异常数据汇集的检测方法、装置和计算机存储介质。
背景技术
目前,社会生活的各个领域均与互联网紧密结合,相应的,确保接入互联网的网络设备的信息安全,防止网络设备的数据泄露就显得尤为重要。
网络设备发生数据泄露之前常出现异常数据汇集,这里的异常数据汇集是指,网络设备在短时间内传输(发送或下载)的数据量过大。因此,可以通过检测网络设备是否出现异常数据汇集预防数据泄露。
现有的检测方法是,检测网络设备最近一段时间传输的数据量,若网络设备最近传输的数据量大于阈值,就认为网络设备发生异常数据汇集。
然而,正常情况下,不同网络设备在不同的时间需要传输的数据量相差极大,现有的这种基于固定的阈值检测各个网络设备在任意时刻是否发生异常数据汇集的方法,显然无法准确的反映这种变化,容易出现误报,漏报等现象。
发明内容
基于上述现有技术的缺点,本申请提供一种异常数据汇集的检测方法、装置和计算机存储介质,以提高异常数据汇集检测的准确性。
本申请第一方面提供一种异常数据汇集的检测方法,包括:
获取网络设备的第一预设时间内的特征数据序列;其中,所述特征数据序列的每一个特征数据均对应有时间戳;所述特征数据序列根据所述网络设备在第一预设时间内的数据传输记录生成;
基于异常点检测算法检测所述特征数据序列,得到所述特征数据序列中的异常数据;
根据所述异常数据的时间戳,确定所述网络设备的第二预设时间内的异常数据;其中,所述第二预设时间小于所述第一预设时间;
根据所述第二预设时间内的异常数据,进行异常数据汇集检测。
可选的,所述用异常点检测算法检测所述特征数据序列,得到所述特征数据序列中的异常数据之前,还包括:
利用时间序列分解算法提取出所述特征数据序列的每一个特征数据的余项分量,得到所述特征数据序列的余项序列;
其中,所述用异常点检测算法检测所述特征数据序列,得到所述特征数据序列中的异常数据,包括:
用异常点检测算法检测所述特征数据序列的余项序列,得到所述特征数据序列中的异常数据。
可选的,所述获取网络设备的第一预设时间内的特征数据序列,包括:
实时监控所述网络设备基于预先指定的目标网络协议上传或下载的每一个数据包,并提取所述网络设备在第一预设时间内的上传或下载的每一个所述数据包携带的数据量和时间戳;
根据预设的检测周期,所述数据包携带的数据量,和所述数据包的时间戳,生成所述特征数据序列。
可选的,所述用异常点检测算法检测所述特征数据序列,得到所述特征数据序列中的异常数据,包括:
将所述特征数据序列作为待计算序列;
计算所述待计算序列,得到所述待计算序列的统计指标;其中所述统计指标包括:所述待计算序列的多个临界值,所述待计算序列的最大偏离残差,以及所述待计算序列的每一个特征数据的偏差;所述特征数据的偏差,等于所述特征数据和所述待计算序列包含的所有特征数据的平均值之间的偏差;所述临界值的数量是预设的正整数;
判断所述待计算序列的最大偏离残差,是否小于或等于所述待计算序列的每一个临界值;
若所述待计算序列的最大偏离残差大于所述待计算序列的任意一个临界值,将所述待计算序列中偏差最大的特征数据确定为异常数据,并且,将所述特征数据序列中除异常数据以外的特征数据确定为待计算序列,返回执行所述计算得到所述待计算序列的统计指标,直至所述待计算序列的最大偏离残差小于或等于所述待计算序列的每一个临界值。
可选的,所述根据所述第二预设时间内的异常数据,进行异常数据汇集检测,包括:
针对所述第二预设时间内的每一个异常数据,检测所述网络设备在所述异常数据对应的时间戳和所述异常数据的前一个特征数据对应的时间戳之间是否出现异常状态;其中,所述异常状态指代,所述网络设备在预设时间段内传输的数据量大于数据量阈值;所述预设时间段是所述异常数据对应的时间戳和前一个时间戳之间的时间段;
针对所述第二预设时间内的每一个异常数据,若所述网络设备在所述异常数据对应的时间戳和前一个时间戳之间未出现异常状态,则删除所述异常数据;
若所述第二预设时间内存在未被删除的所述异常数据,确定所述网络设备在所述第二预设时间内出现异常数据汇集。
可选的,所述根据所述第二预设时间内的异常数据,进行异常数据汇集检测之后,还包括:
输出所述第二预设时间内的异常数据和所述异常数据的详细信息;其中,所述异常数据的详细信息包括:所述异常数据的时间戳,在所述异常数据的时间戳和所述异常数据的前一个特征数据的时间戳之间与所述网络设备通信的设备的标识。
本申请第二方面提供一种异常数据汇集的检测装置,包括:
获取单元,用于获取网络设备的第一预设时间内的特征数据序列;其中,所述特征数据序列的每一个特征数据均对应有时间戳;所述特征数据序列根据所述网络设备在第一预设时间内的数据传输记录生成;
第一检测单元,用于用异常点检测算法检测所述特征数据序列,得到所述特征数据序列中的异常数据;
确定单元,根据所述异常数据的时间戳,确定所述网络设备的第二预设时间内的异常数据;其中,所述第二预设时间小于所述第一预设时间;
第二检测单元,用于根据所述第二预设时间内的异常数据,进行异常数据汇集检测。
可选的,还包括:
分解单元,用于利用时间序列分解算法提取出所述特征数据序列的每一个特征数据的余项分量,得到所述特征数据序列的余项序列;
其中,所述第一检测单元用异常点检测算法检测所述特征数据序列,得到所述特征数据序列中的异常数据时,具体用于:
用异常点检测算法检测所述特征数据序列的余项序列,得到所述特征数据序列中的异常数据。
可选的,所述获取单元获取网络设备的第一预设时间内的特征数据序列时,具体用于:
实时监控所述网络设备基于预先指定的目标网络协议上传或下载的每一个数据包,并提取所述网络设备在第一预设时间内的上传或下载的每一个所述数据包携带的数据量和时间戳;
根据预设的检测周期,所述数据包携带的数据量,和所述数据包的时间戳,生成所述特征数据序列。
本申请第三方面提供一种计算机存储介质,其特征在于,用于存储程序,所述程序被执行时,用于实现如本申请第一方面任意一项提供的异常数据汇集的检测方法。
本申请提供一种异常数据汇集的检测方法、装置和计算机存储介质,获取网络设备的第一预设时间内的特征数据序列;特征数据序列的每一个特征数据均对应有时间戳;特征数据序列根据网络设备在第一预设时间内的数据传输记录生成;基于异常点检测算法检测特征数据序列,得到特征数据序列中的异常数据;根据异常数据的时间戳,确定网络设备的第二预设时间内的异常数据;其中,第二预设时间小于第一预设时间;根据第二预设时间内的异常数据,进行异常数据汇集检测。本方案利用异常点检测算法分析网络设备近期传输的数据量,从而制定动态的检测标准,因而能够更准确的检测出网络设备的异常数据汇集,避免误报或漏报。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种异常数据汇集的检测方法的流程图;
图2为本申请实施例提供的一种告警信息的展示界面的示意图;
图3为本申请又一实施例提供的一种异常数据的详细信息的展示界面的示意图;
图4为本申请另一实施例提供的一种异常数据汇集的检测方法的流程图;
图5为本申请又一实施例提供的一种异常数据汇集的检测方法的流程图;
图6为本申请实施例提供的一种异常状态的示意图;
图7为本申请实施例提供的一种用异常点检测算法从特征数据序列中检测出异常数据的方法的流程图;
图8为本申请实施例提供的一种异常数据汇集的检测装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
某一网络设备在一定时间段内通过网络从其他若干个网络设备下载数据,或者向其他多个网络设备发送数据的行为,称为数据汇集。进一步的,若某一网络设备在一段时间内下载的数据量或者发送的数据量过大,就认为这一网络设备在这段时间内发生了异常数据汇集(也可以称为,可疑数据汇集)。在一些网络攻击行为中(例如,高级可持续威胁,又称Advanced Persistent Threat,简称APT),异常数据汇集是数据泄露的前一个阶段。因此,可以定期检测网络设备在最近一段时间内是否发生异常数据汇集,从而及时发现潜在的数据泄露的风险。
基于这一背景,本申请第一个实施例提供一种异常数据汇集的检测方法,请参考图1,该方法包括下述步骤:
S101、获取网络设备的第一预设时间内的特征数据序列。
其中,特征数据序列的每一个特征数据均对应有时间戳。
特征数据序列,是根据网络设备在第一预设时间内的数据传输记录生成的数据序列,具体的,特征数据序列中的每一个特征数据,可以用于表示网络设备在特征数据对应的时间戳和这个特征数据的前一个特征数据对应的时间戳之间所传输的数据量。
首先需要说明,这里的网络设备泛指任意一个接入互联网或者局域网的,需要进行异常数据汇集的检测的设备。
例如,一些组织(如企业,学校或科研院所等)往往会设置有仅限内部访问的局域网,局域网由组织内每个人的工作电脑,以及若干台服务器组成。需要对组织的局域网进行安全检查时,局域网内的个人电脑和服务器就是步骤S101所述的网络设备,用本申请任一实施例所提供的检测方法对局域网内的每一台网络设备进行检测,就可以确定局域网中是否存在发生异常数据汇集的网络设备,以及具体在什么时候发生,从而采取后续的防护措施。
第一预设时间,是从当前时刻开始往前计算的一段时间,第一预设时间的长度可以根据需要设定,例如,可以将第一预设时间的时长设置为两周,对应的,步骤S101中的特征数据序列,就是,根据网络设备在最近两周内的数据传输记录产生的特征数据序列。
特征数据序列中每个特征数据对应的时间戳,是按一定的检测周期将上述第一预设时间划分后得到若干个时间点,具体将多长的时间作为一个检测周期可以根据实际情况确定。换言之,第一预设时间内,特征数据序列中每两个相邻的特征数据对应的所对应的两个时间戳之间的差值,就等于一个检测周期。
例如,可以将1分钟作为一个检测周期,对应的,将第一预设时间划分为多个连续的视时长为1分钟的区间,每个区间的起始时刻和结束时刻就分别是两个时间戳。对于其中的任意一个时间戳,该时间戳对应的特征数据就表示,网络设备在这个时间戳,以及这个时间戳之前的一个时间戳之间的这一分钟内所传输的数据量。例如,对于12时1分0秒(12:01:00)这一时间戳,该时间戳对应的特征数据就表示网络设备在12:00:00至12:01:00所确定的这一检测周期内传输的数据量。
网络设备的特征数据序列,可以由网络设备上运行的监控进程实时监控网络设备所传输的数据包得到。可选的,这里的监控可以是监控网络设备基于任意网络协议传输的数据包,也可以只监控网络设备基于预先指定的目标网络协议(例如,可以将TCP协议和UDP协议指定为目标网络协议)传输的数据包。通过监控网络设备传输的数据包,可以得到网络设备传输每个数据包的时间戳,以及每个数据包的数据量。
在实时监控网络设备传输的每个数据包的基础上,以检测周期为1分钟为例,可以通过下述两种方式的任意一种获得特征数据序列:
第一种方式中,网络设备的监控进程启动后,将启动时刻作为初始时间戳,然后,每经过1分钟,将当前时刻作为一个时间戳,统计一次网络设备在最近一分钟内传输的数据包,将这些数据包的数据量求和就得到当前的时间戳对应的特征数据。对应的,在获取特征数据序列时,按特征数据对应的时间戳的先后,从当前时刻开始向前逐个从监控进程获取特征数据,直至达到上述第一预设时间为止,获取的这些特征数据按时间戳的先后排列就构成一个特征数据序列。
具体的,若第一预设时间是两周,则获取特征数据序列时,首先获取最接近当前时刻的时间戳的特征数据,然后在获取这个时间戳的前一个时间戳的特征数据,以此类推,直至获取和当前时刻之间的时长大于或等于两周的时间戳对应的特征数据为止,这些特征数据顺序排列就构成网络设备在最近两周的特征数据序列。
第二种方式中,监控进程只监控数据包,不进行定期统计。在执行步骤S101时,以当前时刻(记为T0)作为最后一个时间戳,统计当前时刻之前的1分钟(也就是T0-1min至T0这一时间段)内网络设备传输的数据包,将这些数据包的数据量求和,得到最后一个时间戳对应的特征数据,然后一分钟前的时刻(即T0-1min)作为一个时间戳,再统计这个时间戳之前的一分钟(即T0-2min至T0-1min这一时间段)内网络设备传输的数据包,得到T0-1min)这一时间戳对应的特征数据,以此类推,直至达到上述第一预设时间为止。
最后需要说明的是,前述网络设备传输的数据量,可以是网络设备从关联设备下载的数据量,也可以是网络设备向关联设备发送的数据量。这里的关联设备,可以是步骤S101中需要检测的网络设备所属的局域网内的所有设备,也可以是预先指定的局域网中的部分设备,还可以是预先指定的广域的互联网中的部分设备。
换言之,本实施例既可以实时监控网络设备从关联设备下载的数据包,从而检测网络设备在第一预设时间的各个检测周期内从关联设备下载的数据量是否过大;也可以实时监控网络设备向关联设备发送的数据包,从而检测网络设备在第一预设时间的各个检测周期内向关联设备发送的数据量是否过大。
S102、用异常点检测算法检测特征数据序列,得到特征数据序列中的异常数据。
其中,异常数据指代:对应的偏差大于除异常数据以外的每一个特征数据对应的偏差的特征数据。
特征数据对应的偏差,表示特征数据和特征数据序列的均值之间的偏差。
异常点检测算法,泛指一类用于从数据序列中检测出异常数据的算法。
一般的,异常数据是指,一个数据序列中与数据序列的均值偏差过大的数据,具体的,在本申请所述的异常数据序列中,若某一个特征数据经过检测被确定为异常数据,就表示网络设备在这个特征数据的时间戳和前一个时间戳之间的这一检测周期内传输的数据量和该网络设备在最近一段时间内平均每分钟传输的数据量之间的偏差过大,换言之,若某一特征数据被确定为异常数据,就说明网络设备在这个特征数据的时间戳和前一个时间戳之间的这一检测周期内可能出现异常数据汇集。
可以理解的,从特征数据序列中检测出异常数据的关键,在于异常数据检测标准,换言之,就是确定偏差达到什么程度才算是偏差过大。异常点检测算法,就可以认为是一种用于对特征数据序列进行统计,从而根据特征数据序列的特征确定异常数据检测标准,最终按此标准检测出序列中的异常数据的方法。
可选的,上述异常点检测算法可以是极端学生化偏离(Extreme StudentizedDeviate test,ESD)算法。ESD算法是对格鲁布斯假设检验(Grubbs Test)扩展到多异常值检验后得到的算法,ESD算法可以根据需要检测的数据序列估计出数据序列中的异常数据的数量M,然后,就可以将按每个数据的偏差的大小,在数据序列中从大到小的选取出M个数据,并将选出的这M个数据确定为异常数据。也就是说,ESD算法确定出的异常数据的检测标准可以理解为数据序列中的异常数据的数量M,然后按数据的偏差的从大到小将数据序列的前M个偏差较大的数据确定为异常数据。
ESD算法的基本原理是,假设被检测的数据序列符合特定的分布情况(例如,t分布),然后计算数据序列的统计指标,用统计指标判断数据序列是否满足这一特定的分布情况,若不满足,则更新数据序列,也就是将数据序列中偏差最大的数据确定为异常数据并从数据序列剔除,再计算更新后的数据序列的统计指标以验证更新后的数据序列是否满足前述分布情况,若不满足则再次更新,以此类推,直至某次更新后的数据序列满足前述分布情况为止。最后就相当于从数据序列中按数据的偏差从大到小的确定出前M个数据作为异常数据,M的取值则由数据序列的特征决定。
利用ESD算法检测异常数据的具体方法可以参考后续实施例。
可选的,步骤S102中也可以使用其他的异常点检测算法。
例如,也可以根据网络设备的第一预设时间内的特征数据序列,计算得到一个特征数据阈值,然后逐个将特征数据序列中的特征数据和这个特征数据阈值进行比较,将其中大于这个特征数据阈值的特征数据确定为异常数据。
S103、根据异常数据的时间戳,确定网络设备的第二预设时间内的异常数据。
其中,第二预设时间小于第一预设时间。例如,第二预设时间可以设置为最近的一小时。
对于步骤S102检测得到的任意一个异常数据,若该异常数据对应的时间戳位于第二预设时间内,则认为这个异常数据是第二预设时间内的异常数据,反之,若该异常数据对应的时间戳位于第二预设时间之外,则认为这个异常数据不是第二预设时间内的异常数据。
具体的,执行步骤S103时,可以针对步骤S102检测得到的每一个异常数据,判断该异常数据的时间戳是否位于第二预设时间内,若有至少一个异常数据的时间戳位于第二预设时间内,则认为第二预设时间内存在异常数据,反之,若步骤S102检测得到的所有异常数据的时间戳均不在第二预设时间内,或者步骤S102未从特征数据序列中检测出异常数据,则认为第二预设时间内不存在异常数据。
若第二预设时间内存在异常数据,执行步骤S104。
若第二预设时间内不存在异常数据,则本次检测结束。
为了确保本实施例提供的检测方法的准确性,特征数据序列对应的第一预设时间一般较长,如最近两周,或最近10天等,对应的基于第一预设时间内的特征数据序列检测得到的,也是第一预设时间内的所有异常数据。
然而,本实施例所提供的检测方法,一般用于在网络设备的运行的时间内按一定时间间隔反复执行,并且,为了确保检测结果的时效性,两次检测之间的时间间隔一般较短,例如,每1小时检测一次,或者,每30分钟检测一次。
这就导致,每次执行本实施例提供的检测方法时,检测得到的异常数据可能和前一次检测得到的异常数据存在重叠,也就是说本次检测得到的异常数据在前一次检测或前几次检测时可能已经检测发现。
另一方面,检测异常数据汇集的目的是为了预防可能在异常数据汇集之后发生的数据泄露,而发生异常数据汇集的时刻和相关联的数据泄露的发生时刻之间一般不会间隔过长的时间。因此,一般只需要考虑网络设备在最近的一段较短的时间内是否发生异常数据汇集即可,对于发生时间过早的异常数据汇集,可以不进行报警。
基于上述考虑,本实施例设置了一个短于特征数据序列所覆盖的第一预设时间的第二预设时间,在检测出第一预设时间内的所有异常数据后,进一步确定出第二预设时间内的异常数据,并且只利用第二预设时间内的异常数据进行异常数据汇集的检测,而不考虑第二预设时间之外的异常数据。
可选的,第二预设时间可以等于本实施例提供的检测方法被执行的时间间隔。具体的,若每隔一小时执行一次本方法,则上述第二预设时间可以设置为1小时,也可以比本方法被执行的时间间隔长,例如,将第二预设时间设置为两小时。当然,第二预设时间可以根据实际情况调整,并不限于上述例子。
S104、根据第二预设时间内的异常数据,进行异常数据汇集检测。
第一方面,步骤S104的具体执行过程可以是:
判断第二预设时间内是否有异常数据,若第二预设时间内有异常数据,那么就认为被检测的网络设备在第二预设时间内(具体的,在异常数据对应的时间戳和异常数据的前一个特征数据对应的时间戳之间)发生了异常数据汇集,于是输出告警信息,告警信息用于提示被检测的网络设备在第二预设时间内发生了异常数据汇集。若第二预设时间内没有异常数据,则认为被检测的网络设备在第二预设时间内未发生异常数据汇集。
第二方面,步骤S104的具体执行过程也可以是:判断第二预设时间内是否有异常数据,在判断出第二预设时间内存在异常数据后,根据一定的过滤规则对检测得到的异常数据进行筛选,若筛选后第二预设时间内仍存在异常数据,就确认网络设备在第二预设时间内发生了异常数据汇集,进而输出告警信息,若筛选后第二预设时间内不存在异常数据,则认为网络设备在第二预设时间内未发生异常数据汇集。
最后需要说明的是,本申请任一实施例所提供的检测方法,可以由需要检测的网络设备自身执行,也可以由用于监控多个需要检测的网络设备的一个安全中心执行。
例如,可以在一个企业的局域网中设置一个用于检测局域网内每一个网络设备的安全中心(安全中心可以是一个服务器或多个服务器组成的集群),安全中心按一定的执行间隔定期执行(例如,每小时执行一次,或者,每隔一分钟执行一次)本申请任一实施例所提供的检测方法,检测企业的局域网内的每一个网络设备在第二预设时间内是否有异常数据,若发现有第二预设时间内有异常数据,则输出告警信息。
图2就是一种可选的安全中心输出告警信息的界面示意图。其中,右侧的界面上方用于展示指定网络设备在过去一段时间内传输的数据量曲线(一般的,曲线的时间覆盖的时长等于特征数据序列所覆盖的时长,即前述第一预设时间),界面下方的每一行信息,就是安全中心执行一次本申请提供的检测方法后输出的告警信息,其中的时间表示执行检测的时间,源IP和目标IP则表示每次检测后发现在最近一小时内(即前述第二预设时间内)发生异常数据汇集的网络设备的IP,若检测发现的异常数据汇集是某个网络设备发送的数据量过大,则在源IP一栏显示该网络设备的IP地址,若检测发现的异常数据汇集是某个网络设备下载的数据量过大,则在目标IP一栏显示该网络设备的IP地址。
进一步的,在图2所示的界面中,用户可以点击每一条告警信息的“详情”按钮,使显示设备输出如图3所示的异常数据的详细信息展示界面,图3中的事件信息用于展示检测出来的异常数据的时间戳,以及发生异常数据汇集的网络设备在这些检测得到的异常数据所对应的检测周期内的数据传输记录,包括发生异常数据汇集的网络设备在检测周期内分别向哪些IP地址发送(或者从哪些IP地址下载)了数据,发送(或下载)的数据量等,以便于用户及时的采取进一步的排查和维护措施。异常数据对应的检测周期,指代异常数据的时间戳及其前一个时间戳所确定的一个时间段。
本申请提供一种异常数据汇集的检测方法,获取网络设备的第一预设时间内的特征数据序列;特征数据序列的每一个特征数据均对应有时间戳;特征数据序列根据网络设备在第一预设时间内的数据传输记录生成;基于异常点检测算法检测特征数据序列,得到特征数据序列中的异常数据;根据异常数据的时间戳,确定网络设备的第二预设时间内的异常数据;其中,第二预设时间小于第一预设时间;根据第二预设时间内的异常数据,进行异常数据汇集检测。
本实施例所提供的方法中,异常点检测算法能够根据需要检测的网络设备过去一段时间内的数据传输情况确定相匹配的异常数据检测标准,并根据网络设备的特征数据序列中检测出网络设备在第二预设时间内是否发生异常数据汇集。相对于现有的按指定的阈值判断各个时间段内传输的数据量是否超标的检测方法,本申请提供的方案能够自动分析并适配网络设备的历史传输情况,因而相对于现有的检测方法具有更高的准确度。
本申请第二个实施例还提供一种异常数据汇集的检测方法,请参考图4,该方法包括以下步骤:
S401、获取网络设备在第一预设时间内的特征数据序列。
S402、利用时间序列分解算法提取特征数据序列的每个特征数据的余项分量,得到特征数据序列的余项序列。
时间数据序列,指代将某一统计指标的数值按其发生的时间先后顺序排列而成的数据序列。本申请中采集网络设备在第一预设时间内的每两个相邻的时间戳之间所传输的数据量而构成的特征数据序列,就是一个时间数据序列。针对时间数据序列的周期性和趋势性的特点,检测时间序列中的异常数据时可以先对时间数据序列进行分解,然后再根据分解后的结果进行检测,从而提高检测结果的可信度。
时间序列分解算法指代一类现有的用于对时间数据序列进行分解的算法,这类算法一般可以将时间数据序列中的每个数据均分解为由时间数据序列的周期性决定的周期分量,由时间数据序列的长期趋势决定的趋势分量以及由不规则波动决定的余项分量,分解后的结果可以用下述公式(1)表示:
X=Rx+Sx+Tx……(1)
其中,X就表示时间数据序列中的任意一个原始数据,Rx表示分解这个原始数据得到的余项分量,Sx表示分解这个原始数据得到的周期分量,Tx表示分解这个原始数据得到的趋势分量。
可选的,本实施例中使用的时间序列分解算法可以是基于局部加权回归的季节和周期分解(Seasonal and Trend decompositionusing Loess,STL)算法。根据需要,STL算法可以将时间数据序列中的每个数据分解为周期分量,趋势分量和余项分量之和,也可以用时间数据序列的中位数替代趋势分量,将时间数据序列中的每个数据分解为周期分量,中位数和余项分量之和。
其中,在应用于异常点检测时,采用第二种分解方法可以在一定程度上减小误报率,因此,本实施例中采用STL算法的第二种分解方法,对应的,提取得到的网络设备的特征数据序列中每个特征数据的余项分量就可以表示为下述公式(2):
利用STL算法逐一计算待分解的特征数据序列中的每一个特征数据,就可以分解出每一个特征数据的余项分量,然后将这些余项分量按对应的特征数据在特征数据序列中的顺序组合就得到了特征数据序列的余项序列。
S403、用异常点检测算法检测特征数据序列的余项序列,得到特征数据序列中的异常数据。
可以理解的,异常数据汇集的检测,关键在于检测网络设备运行过程中可能出现的较大的不规则数据量波动,因此,可以只根据分解得到的特征数据序列的余项序列进行检测。
本实施例中,仍然用ESD算法进行检测。
ESD算法对特征数据序列的余项序列的检测原理和前述实施例中对特征数据序列的检测原理基本一致。假设被检测的余项序列符合特定的分布情况,然后计算余项序列的统计指标,用统计指标判断余项序列是否满足这一特定的分布情况,若不满足,则更新余项序列,也就是将余项序列中偏差最大的余项分量确定为异常分量并从余项序列剔除,再计算更新后的余项序列的统计指标以验证更新后的余项序列是否满足前述分布情况,若不满足则再次更新,以此类推,直至某次更新后的余项序列满足前述分布情况为止。
任意一个余项分量的偏差,就是这个余项分量和余项序列的均值的偏差。
最后,余项序列中被确定为异常分量的余项分量,其对应的特征数据,就是特征数据序列中的异常数据。
可以理解的,通过以上方法检测得到的特征数据序列中的异常数据均具备以下特征:
异常数据对应的余项分量的偏差,大于特征数据序列中除异常数据以外的每一个特征数据对应的余项分量的偏差。
例如,监控进程启动后统计某个网络设备在从第1分钟至第1000分钟这段时间内,每一分钟下载的数据量,构成一个包含1000个特征数据的特征数据序列,并从中逐个提取出1000个余项分量,按特征数据序列的顺序构成一个余项序列。通过步骤S403的检测发现余项序列的第50个余项分量是一个异常分量,那么,对应的特征数据序列的第50个特征数据就是特征数据序列中的异常数据,换言之,就是说网络设备在第50分钟下载的数据量过大,可能发生异常数据汇集。
S404、根据异常数据的时间戳,确定网络设备的第二预设时间内的异常数据。
S405、根据第二预设时间内的异常数据,进行异常数据汇集检测。
本实施例所提供的检测方法在进行异常点检测时,首先用时间序列分解算法从特征数据序列中分解出余项序列,然后根据余项序列检测出特征数据序列中的异常数据。网络设备运行的过程中可能会出现一些正常的流量波动(流量可以理解为网络设备在单位时间内传输的数据量),并且这些正常的流量波动一般具有一定的周期性。例如,对于企业局域网下属的网络设备,根据企业的工作安排,可能出现某些网络设备每周的一个特定时间段集中下载大量数据,一周内的其他时间下载少量数据的情况。这种情况下,若不用时间序列分解算法进行分解,就可能将集中下载数据的时间段识别为发生异常数据汇集的时间段,造成误报。
通过分解出特征数据序列中的周期分量,本实施例提供的方法可以排除这正常的流量波动的干扰,避免将正常的流量变化识别为异常数据汇集,进一步提高异常数据汇集检测的准确度。
本申请第三个实施例还提供一种异常数据汇集的检测方法,请参考图5,该方法包括如下步骤:
S501、获取网络设备在第一预设时间内的特征数据序列。
S502、利用时间序列分解算法提取特征数据序列的每个特征数据的余项分量,得到特征数据序列的余项序列。
S503、用异常点检测算法检测特征数据序列的余项序列,得到特征数据序列中的异常数据。
S504、根据异常数据的时间戳,确定网络设备的第二预设时间内的异常数据。
S505、按预设的过滤规则对第二预设时间内的异常数据进行筛选,得到筛选后的异常数据。
第二预设时间内的异常数据,指代,对应的时间戳位于第二预设时间内的异常数据。
结合前述例子,第一预设时间可以是最近两周,第二预设时间可以设置为最近一小时,因此,步骤S505可以理解为:
检测出最近两周内的所有异常数据后,可以从其中取出最近一小时内的异常数据,然后按预设的过滤规则筛选最近一小时内的异常数据,不满足过滤规则的异常数据剔除,满足过滤规则的异常数据保留。这里的剔除某个异常数据,是指,变更这个数据属性,不再将其标记为异常数据。
当然,若筛选前第二预设时间内就不存在异常数据,可以跳过本步骤,直接结束本次检测。
具体的,针对每一个异常数据,可以检测网络设备在这一异常数据的时间戳及其前一个时间戳之间是否出现异常状态,若网络设备在一个异常数据的时间戳及其前一个时间戳之间出现异常状态,则认为这一异常数据满足过滤规则,保留该异常数据,若网络设备在一个异常数据的时间戳及其前一个时间戳之间未出现异常状态,则认为这一异常数据不满足过滤规则,被检测的网络设备在这个异常数据的时间戳及其前一个时间戳之间未发生异常数据汇集,这个异常数据是误报,所以将该异常数据剔除。
异常状态的定义可以根据实际情况设置。本实施例中,异常状态可以定义为,网络设备在预先指定的判断时间间隔Δt内传输的数据总量大于或等于数据量阈值。
例如,可以将判断时间间隔设置为5秒,将数据量阈值设置为1MB。那么,以针对下载数据进行的检测为例,步骤S505的具体执行过程就是:
针对每一个异常数据,判断在这一异常数据的时间戳及其前一个时间戳之间,被检测的网络设备是否在任意5秒内从一个或多个关联设备处下载了总计1MB以上的数据,若存在上述情况,则保留这个异常数据,若不存在上述情况,则剔除这个异常数据。
具体可以参考图6所示的异常状态示意图。图6上下的两个矩形框分别表示两种具体的异常状态的表现形式。其中的dest_ip均表示被检测的网络设备的IP地址,用竖线分隔的每一小段虚线表示某个异常数据的时间戳及其前一个时间戳之间的一秒,虚线上方的数值表示被检测的网络设备在这一秒内下载的数据量,src_ip表示提供数据的网络设备的IP地址。
图6上方的矩形框中,dest_ip在第6秒至第10秒这段时间内,在第6秒从src_ip2下载了200kB数据,在第7秒从src_ip1下载了300kB的数据,在第10秒从src_ip1下载350kB的数据,在第9秒从src_ip2下载了250kB数据,这5秒内总计下载了1100kB的数据,大于预设的数据量阈值1MB,因此,认为在这个异常数据的时间戳及其前一个时间戳之间dest_ip下载的数据量过大,该网络设备在这段时间内发生了异常数据汇集。
图6下方的矩形框中,dest_ip在第3秒,第4秒和第5秒分别从src_ip3下载了550kB,200kB和550kB的数据,换言之,在第2秒至第6秒这段时间内,dest_ip总计下载了1300kB的数据,大于数据量阈值,因此,认为在这个异常数据的时间戳及其前一个时间戳之间dest_ip下载的数据量过大,该网络设备在这段时间内发生了异常数据汇集。
当然,以上是检测下载数据量是否异常时的筛选过程,若被检测的特征数据序列,是网络设备在第一预设时间内发出的数据量构成的特征数据序列,那么上述步骤S505的具体执行过程就是:
针对每一个异常数据,判断在这一异常数据的时间戳及其前一个时间戳之间,被检测的网络设备是否在任意5秒内向一个或多个关联设备发送了总计1MB以上的数据,若存在上述情况,则保留这个异常数据,若不存在上述情况,则剔除这个异常数据。
S506、判断第二预设时间内是否存在筛选后的异常数据。
若第二预设时间内存在筛选后的异常数据,执行步骤S507。
若第二预设时间内不存在筛选后的异常数据,本次检测结束。
S507、输出告警信息。
由网络设备受到攻击引起的异常数据汇集一般涉及的数据量较大,例如,若某一网络设备受到攻击而产生异常数据汇集,那么该网络设备一般在短时间内发送或者下载的数据量会达到若干MB,换言之,若检测得到的某个异常数据对应的检测周期内,被检测的网络设备只发送或下载了极少量的数据,那么可以认为该网络设备未出现异常数据汇集。基于这一特点,本实施例提供的异常数据汇集的检测方法,在利用异常点检测算法检测出特征数据序列中的异常数据之后,基于预设的过滤规则对检测得到的异常数据进行筛选,避免将对应数据量极小的特征数据确定为异常数据,进一步避免发生误报的情况。
下面结合具体的应用场景说明本申请实施例提供的异常数据汇集的检测方法的实现过程:
以企业局域网为例,如前文所述,企业局域网中需要检测的网络设备,包括网络中的个人工作电脑以及数据服务器,为了统一管理,可以在企业局域网中配置一个用于监管局域网内所有网络设备的安全中心,由安全中心执行本申请实施例所提供的检测方法。
安全中心运行的过程中,实时监控局域网内的每一台网络设备基于TCP协议向局域网内的其他网络设备发送或从局域网内的其他网络设备下载的数据包,以及每一台网络设备基于UDP协议向局域网内的其他网络设备发送或从局域网内的其他网络设备下载的数据包,从而获得每一台网络设备基于上述协议发送或下载的每一个数据包的时间,以及每一个数据包的数据量。当然,根据实际情况,在其他应用场景中也可以进一步监控基于其他网络协议发送或下载的数据包。
每隔一定的执行间隔,安全中心就可以执行一次本申请前述实施例提供的检测方法,对局域网内每一台网络设备进行检测。
假设检测周期为1分钟,以一台个人的工作电脑(不妨记为主机A)为例,安全中心可以整理上述监控得到的数据,获得主机A在过去两周内发送的每一个数据包的发送时间和数据量,将过去的两周以1分钟为间隔划分为若干个检测周期,然后针对每一个检测周期,统计主机A在这个检测周期内发送的数据包,并对这些数据包所携带数据量求和,得到主机A在这个检测周期内发送的数据量,以这个检测周期的结束时间点作为一个时间戳,而主机A在这个检测周期内发送的数据量就是这个时间戳对应的特征数据,以此类推,统计主机A在最近两周内每一分钟发送的数据量,并指定对应的时间戳,就可以得到一个表示主机A的历史发送记录的特征数据序列(记为发送序列)。按同样的方法,可以计算出主机A在过去两周的每一个检测周期内下载的数据量,构成一个表示主机A的历史下载记录的特征数据序列(记为下载序列)。
最后,用本申请前述实施例所提供的方法分别检测主机A的发送序列和下载序列。若经过前述实施例的检测和过滤后,发现主机A的下载序列和/或发送序列中有最近一段时间(具体的,可以是最近一小时)内的异常数据,例如,经过过滤后,最近一小时内的第10分钟主机A下载的数据量被检测为下载序列中的异常数据,第20分钟主机A发送的数据量被检测为发送序列中的异常数据,就认为最近一小时中,主机A在第10分钟和第20分钟发生异常数据汇集,安全中心记录检测结果并通过图2所示的界面输出告警信息。
基于上述方法,安全中心可以检测局域网中的每一台网络设备,从而判断出局域网中的每一台网络设备在最近一段时间内,是否发生异常数据汇集,并且在发现有若干台网络设备在近期发生异常数据汇集后,输出检测发现的最近一段时间内的异常数据的时间戳,以及发生异常数据汇集的网络设备的IP地址等信息,从而为后续的防护和检查措施提供支持。
本申请第四个实施例介绍用ESD算法检测特征数据序列或特征数据序列的余项序列,得到特征数据序列的异常数据一种可选的具体实现过程,请参考图7,该算法包括以下步骤:
首先需要说明的是,本实施例所介绍的检测过程,可以作为本申请第一个实施例中检测特征数据序列的步骤的具体实现过程与本申请第一个实施例相结合,也可以作为本申请第二个实施例和第三个实施例中检测特征数据序列的余项序列的步骤的具体实现过程与本申请第二个实施例和第三个实施例结合。
S701、确定待计算数据序列。
具体将哪些数据确定为待计算数据序列,由被检测对象决定。若将本实施例与前述第一个实施例结合,将本实施例提供的方法用于直接检测特征数据序列,那么步骤S701就是,将网络设备的特征数据序列确定为待计算数据序列。若将本实施例与前述第二个实施例或第三个实施例结合,将本实施例提供的方法用于直接检测特征数据序列的余项序列,那么步骤S701就是,将特征数据序列的余项序列确定为待计算数据序列。
S702、计算得到待计算数据序列的统计指标。
待计算数据序列的统计指标包括:待计算数据序列的K个临界值,待计算数据序列的最大偏离残差,以及待计算数据序列的每一个数据的偏差。
K的取值由预设的比例值和待计算数据序列中数据的个数决定。可选的,比例值最大可以设置为49%,当然也可以根据需要设置为小于49%的数值,将比例值乘以待计算数据序列中数据的个数,就得到K的取值。例如,以比例值等于49%为例,若待计算数据序列当前包括10000个数据,那么K的取值等于10000乘以49%,也就是4900。
K个临界值的计算公式见下述公式:
其中,p是预先设定的概率值,一般设为95%,N是待计算数据序列当前包含的数据的个数,tp,N-K-1是从t分布临界值表中,用p和N-K-1查找得到的临界值,λi就是计算得到的待计算数据序列的第i个临界值,i是临界值的下标,是一个大于或等于1,小于或等于K的正整数,依次将i设置为1至K,代入上述公式,就可以计算出待计算数据序列的K个临界值。
待计算数据序列的最大偏离残差C的计算公式见下述公式:
其中,xj表示待计算数据序列中的第j个数据,median(x)表示待计算数据序列的中位数,MAD表示待计算数据序列的绝对中位差,C就是需要计算的待计算数据序列的偏离残差。上述公式的分子表示:确定待计算数据序列的中位数之后,计算待计算数据序列中每个数据和中位数的差值,并取计算得到的所有差值的绝对值,其中最大的绝对值就是上述公式的分子。
MAD的计算公式如下:
MAD=median(|xj-median(x)|)
上述公式表示,计算待计算数据序列中每个数据和待计算数据序列的中位数的差值,并取计算得到的所有差值的绝对值,这一系列绝对值中的中位数,就是待计算数据序列的绝对中位差。
待计算数据序列的每一个数据的偏差的计算方法是:
计算待计算数据序列当前包含的所有数据的算术平均值,然后,针对待计算数据序列包含的每一个数据,用这个数据减去上述算术平均值,再对差值取绝对值,得到的结果就是这个数据的偏差。
S703、判断待计算数据序列的最大偏离残差是否小于或等于每一个临界值。
若当前待计算数据序列的最大偏离残差小于或等于当前待计算数据序列的每一个临界值,那么算法结束,输出检测结果。
若步骤S702输出的当前待计算数据序列的K个临界值中,有至少一个临界值小于当前待计算数据序列的最大偏离残差,换言之,也就是当前待计算数据序列的最大偏离残差大于当前待计算数据序列的任意一个或多个临界值,则执行步骤S704。
S704、将待计算数据序列中偏差最大的数据标记为异常点,并更新待计算数据序列。
这里的偏差,就是步骤S702中计算得到的数据和待计算数据序列的算术平均值的差的绝对值。
若本实施例所提供的方法与本申请第一个实施例结合,用于直接检测网络设备的特征数据序列,那么步骤S704所述的更新待计算数据序列,就是:
将待计算数据序列更新为,特征数据序列中未被标记为异常点的所有特征数据的集合,换言之,上述更新也可以理解为,将待计算数据序列中被标记为异常点的数据从待计算数据序列中删除,删除后得到,不包括被标记为异常点的特征数据的数据序列,就是更新后的待计算数据序列。
若本实施例所提供的方法与本申请第二个或第三个实施例结合,用于检测网络设备的特征数据序列的余项序列,那么步骤S704所述的更新待计算数据序列,就是:
将待计算数据序列更新为,特征数据序列中余项分量未被标记为异常点的所有特征数据的余项分量的集合。例如,假设某一次循环中待计算数据序列包括H个余项分量,经过步骤S703的判断后,将其中偏差最大的余项分量标记为异常点,于是,从待计算数据序列中除去这个被标记为异常点的余项分量,也就是将剩余的H-1个余项分量确定为待计算数据序列。
步骤S704执行之后,返回执行步骤S702,直至某一次循环中判断出待计算数据序列的最大偏离残差小于或等于当时的待计算数据序列的每一个临界值为止。
算法结束后,若本实施例所提供的方法与本申请第一个实施例结合,用于直接检测网络设备的特征数据序列,那么每次循环中被标记为异常点的数据,就是特征数据序列中的特征数据,输出检测结果时,直接将被标记为异常点的所有特征数据作为异常数据输出即可。
若本实施例所提供的方法与本申请第二个实施例或本申请第三个实施例结合,用于检测网络设备的特征数据序列的余项序列,那么每次循环中被标记为异常点的数据,就是将特征数据序列中的特征数据分解后得到的余项分量,在输出检测结果时,就需要找到这些被标记为异常点的余项分量在特征数据序列中对应的特征数据,然后将这些特征数据作为异常数据输出。
综上所述,本实施例所提供的方法可以理解为,对待计算数据序列执行若干次的循环,每一次循环均检测一次待计算数据序列是否满足循环结束条件,若不满足循环结束条件则认为待计算数据序列存在异常点,于是将当前待计算数据序列中偏差最大的数据确定为异常点并从待计算数据序列中移除,然后进入下一次循环,直至某一次满足循环结束条件后,循环结束,此时,循环的次数M就是特征数据序列中的异常数据的数量,特征数据序列中按特征数据的偏差(或者按特征数据的余项偏差)从大到小选取的M个特征数据,就是特征数据序列的异常数据。
最后需要说明的是,本实施例所提供的方法仅仅是基于ESD算法进行检测时,前述实施例中检测异常数据的步骤的具体实现方式,本申请第一个至第三个实施例中可以用于检测异常数据的算法包括但不限于ESD算法,并且,根据算法的不同,检测步骤的具体实现过程可以与本实施例所介绍的过程有所不同。
结合本申请任一实施例所提供的异常数据汇集的检测方法,本申请实施例还提供一种异常数据汇集的检测装置,请参考图8,该装置包括以下结构:
获取单元801,用于获取网络设备的第一预设时间内的特征数据序列。
其中,特征数据序列的每一个特征数据均对应有时间戳;特征数据序列根据网络设备在第一预设时间内的数据传输记录生成。
具体的,特征数据序列中的任意一个特征数据,可以用于表示网络设备在特征数据对应的时间戳和前一个时间戳之间所传输的数据量。
第一检测单元802,用于用异常点检测算法检测特征数据序列,得到特征数据序列中的异常数据。
确定单元803,用于根据异常数据的时间戳,确定网络设备的第二预设时间内的异常数据。
其中,第二预设时间小于第一预设时间。
第二检测单元804,用于根据第二预设时间内的异常数据,进行异常数据汇集检测。
检测装置还包括:
分解单元805,用于利用时间序列分解算法提取出特征数据序列的每一个特征数据的余项分量,得到特征数据序列的余项序列;
其中,第一检测单元802用异常点检测算法检测特征数据序列,得到特征数据序列中的异常数据时,具体用于:
用异常点检测算法检测特征数据序列的余项序列,得到特征数据序列中的异常数据。
获取单元801具体用于:实时监控网络设备基于预先指定的目标网络协议传输的每一个数据包,并提取每一个数据包携带的数据量;并且针对第一预设时间内的每一个时间戳,计算网络设备在时间戳和时间戳的前一个时间戳之间所传输的数据包的数据量之和,得到时间戳对应的特征数据。
具体的,第一检测单元802用异常点检测算法检测特征数据序列,得到特征数据序列中的异常数据时,具体用于:
将特征数据序列作为待计算序列;
计算得到待计算序列的统计指标;其中统计指标包括:待计算序列的K个临界值,待计算序列的最大偏离残差,以及待计算序列的每一个特征数据的偏差;特征数据的偏差,等于特征数据和待计算序列包含的所有特征数据的平均值之间的偏差;K是预设的正整数;
判断待计算序列的最大偏离残差是否小于或等于待计算序列的每一个临界值;
若待计算序列的最大偏离残差大于待计算序列的任意一个临界值,将待计算序列中偏差最大的特征数据确定为异常数据,并且,将特征数据序列中除异常数据以外的特征数据确定为待计算序列,返回执行计算得到待计算序列的统计指标,直至待计算序列的最大偏离残差小于或等于待计算序列的每一个临界值。
第二检测单元804具体可以通过下述两方面的方法中的任意一种进行异常数据汇集检测:
第一方面,判断第二预设时间内是否存在异常数据,若第二预设时间内存在异常数据,则确定网络设备在第二预设时间内发生异常数据汇集,若第二预设时间内不存在异常数据,则确定网络设备在第二预设时间内未发生异常数据汇集。
第二方面,针对第二预设时间内的每一个异常数据,检测网络设备在异常数据对应的时间戳和异常数据的前一个特征数据对应的时间戳之间是否出现异常状态。
其中,异常状态指代,网络设备在预设时间段内传输的数据量大于数据量阈值;预设时间段是异常数据对应的时间戳和异常数据的前一个特征数据对应的时间戳之间的时间段。
针对第二预设时间内的每一个异常数据,若网络设备在该异常数据对应的时间戳和前一个时间戳之间未出现异常状态,则删除该异常数据。
对第二预设时间内的所有异常数据均进行上述检测后,若第二预设时间内仍存在异常数据,则确定网络设备在第二预设时间内发生异常数据汇集,若第二预设时间内不存在异常数据,则确定网络设备在第二预设时间内未发生异常数据汇集。
可选的,本实施例提供的检测装置还包括输出单元806,用于:
若确定出网络设备在第二预设时间内发生异常数据汇集,则输出告警信息。
可选的,输出单元806还用于:
输出第二预设时间内的异常数据和所异常数据的详细信息。
其中,异常数据的详细信息包括:异常数据的时间戳,在异常数据的时间戳和前一个时间戳之间与被检测的网络设备通信的设备的标识。
本实施例所提供的检测装置,其具体工作原理可以参考本申请任一实施例所提供的异常数据汇集的检测方法的对应步骤,此处不再赘述。
本申请提供一种异常数据汇集的检测装置,获取单元801获取网络设备的第一预设时间内的特征数据序列;特征数据序列的每一个特征数据均对应有时间戳;特征数据用于表示网络设备在特征数据对应的时间戳和前一个时间戳之间所传输的数据量;第一检测单元802用异常点检测算法检测特征数据序列,得到特征数据序列中的异常数据;确定单元803根据异常数据的时间戳确定出第二预设时间内的异常数据;其中,第二预设时间小于第一预设时间;第二检测单元804根据第二预设时间内的异常数据进行异常数据汇集的检测。本方案利用异常点检测算法分析网络设备近期传输的数据量,从而制定动态的检测标准,因而能够更准确的检测出网络设备的异常数据汇集,避免误报或漏报。
本申请实施例提供一种计算机存储介质,用于存储程序,存储的程序被执行时,用于实现本申请任一实施例所提供的异常数据汇集的检测方法。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
需要注意,本发明中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种异常数据汇集的检测方法,其特征在于,包括:
获取网络设备的第一预设时间内的特征数据序列;其中,所述特征数据序列的每一个特征数据均对应有时间戳;所述特征数据序列根据所述网络设备在第一预设时间内的数据传输记录生成;
基于异常点检测算法检测所述特征数据序列,得到所述特征数据序列中的异常数据;
根据所述异常数据的时间戳,确定所述网络设备的第二预设时间内的异常数据;其中,所述第二预设时间小于所述第一预设时间;
根据所述第二预设时间内的异常数据,进行异常数据汇集检测,包括:
针对所述第二预设时间内的每一个异常数据,检测所述网络设备在所述异常数据对应的时间戳和所述异常数据的前一个特征数据对应的时间戳之间是否出现异常状态;其中,所述异常状态指代,所述网络设备在预设时间段内传输的数据量大于数据量阈值;所述预设时间段是所述异常数据对应的时间戳和前一个时间戳之间的时间段;
针对所述第二预设时间内的每一个异常数据,若所述网络设备在所述异常数据对应的时间戳和前一个时间戳之间未出现异常状态,则删除所述异常数据;
若所述第二预设时间内存在未被删除的所述异常数据,确定所述网络设备在所述第二预设时间内出现异常数据汇集。
2.根据权利要求1所述的检测方法,其特征在于,所述基于异常点检测算法检测所述特征数据序列,得到所述特征数据序列中的异常数据之前,还包括:
利用时间序列分解算法提取出所述特征数据序列的每一个特征数据的余项分量,得到所述特征数据序列的余项序列;
其中,所述用异常点检测算法检测所述特征数据序列,得到所述特征数据序列中的异常数据,包括:
用异常点检测算法检测所述特征数据序列的余项序列,得到所述特征数据序列中的异常数据。
3.根据权利要求1所述的检测方法,其特征在于,所述获取网络设备的第一预设时间内的特征数据序列,包括:
实时监控所述网络设备基于预先指定的目标网络协议上传或下载的每一个数据包,并提取所述网络设备在第一预设时间内的上传或下载的每一个所述数据包携带的数据量和时间戳;
根据预设的检测周期,所述数据包携带的数据量,和所述数据包的时间戳,生成所述特征数据序列。
4.根据权利要求1所述的检测方法,其特征在于,所述基于异常点检测算法检测所述特征数据序列,得到所述特征数据序列中的异常数据,包括:
将所述特征数据序列作为待计算序列;
计算所述待计算序列,得到所述待计算序列的统计指标;其中所述统计指标包括:所述待计算序列的多个临界值,所述待计算序列的最大偏离残差,以及所述待计算序列的每一个特征数据的偏差;所述特征数据的偏差,等于所述特征数据和所述待计算序列包含的所有特征数据的平均值之间的偏差;所述临界值的数量是预设的正整数;
判断所述待计算序列的最大偏离残差,是否小于或等于所述待计算序列的每一个临界值;
若所述待计算序列的最大偏离残差大于所述待计算序列的任意一个临界值,将所述待计算序列中偏差最大的特征数据确定为异常数据,并且,将所述特征数据序列中除异常数据以外的特征数据确定为待计算序列,返回执行所述计算得到所述待计算序列的统计指标,直至所述待计算序列的最大偏离残差小于或等于所述待计算序列的每一个临界值。
5.根据权利要求1至4任意一项所述的检测方法,其特征在于,所述根据所述第二预设时间内的异常数据,进行异常数据汇集检测之后,还包括:
输出所述第二预设时间内的异常数据和所述异常数据的详细信息;其中,所述异常数据的详细信息包括:所述异常数据的时间戳,在所述异常数据的时间戳和所述异常数据的前一个特征数据的时间戳之间与所述网络设备通信的设备的标识。
6.一种异常数据汇集的检测装置,其特征在于,包括:
获取单元,用于获取网络设备的第一预设时间内的特征数据序列;其中,所述特征数据序列的每一个特征数据均对应有时间戳;所述特征数据序列根据所述网络设备在第一预设时间内的数据传输记录生成;
第一检测单元,用于用异常点检测算法检测所述特征数据序列,得到所述特征数据序列中的异常数据;
确定单元,根据所述异常数据的时间戳,确定所述网络设备的第二预设时间内的异常数据;其中,所述第二预设时间小于所述第一预设时间;
第二检测单元,用于根据所述第二预设时间内的异常数据,进行异常数据汇集检测,包括:
针对所述第二预设时间内的每一个异常数据,检测所述网络设备在所述异常数据对应的时间戳和所述异常数据的前一个特征数据对应的时间戳之间是否出现异常状态;其中,所述异常状态指代,所述网络设备在预设时间段内传输的数据量大于数据量阈值;所述预设时间段是所述异常数据对应的时间戳和前一个时间戳之间的时间段;
针对所述第二预设时间内的每一个异常数据,若所述网络设备在所述异常数据对应的时间戳和前一个时间戳之间未出现异常状态,则删除所述异常数据;
若所述第二预设时间内存在未被删除的所述异常数据,确定所述网络设备在所述第二预设时间内出现异常数据汇集。
7.根据权利要求6所述的检测装置,其特征在于,还包括:
分解单元,用于利用时间序列分解算法提取出所述特征数据序列的每一个特征数据的余项分量,得到所述特征数据序列的余项序列;
其中,所述第一检测单元用异常点检测算法检测所述特征数据序列,得到所述特征数据序列中的异常数据时,具体用于:
用异常点检测算法检测所述特征数据序列的余项序列,得到所述特征数据序列中的异常数据。
8.根据权利要求6所述的检测装置,其特征在于,所述获取单元获取网络设备的第一预设时间内的特征数据序列时,具体用于:
实时监控所述网络设备基于预先指定的目标网络协议上传或下载的每一个数据包,并提取所述网络设备在第一预设时间内的上传或下载的每一个所述数据包携带的数据量和时间戳;
根据预设的检测周期,所述数据包携带的数据量,和所述数据包的时间戳,生成所述特征数据序列。
9.一种计算机存储介质,其特征在于,用于存储程序,所述程序被执行时,用于实现如权利要求1至5任意一项所述的异常数据汇集的检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911398267.XA CN113132301B (zh) | 2019-12-30 | 2019-12-30 | 异常数据汇集的检测方法、装置和计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911398267.XA CN113132301B (zh) | 2019-12-30 | 2019-12-30 | 异常数据汇集的检测方法、装置和计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113132301A CN113132301A (zh) | 2021-07-16 |
CN113132301B true CN113132301B (zh) | 2022-07-08 |
Family
ID=76768080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911398267.XA Active CN113132301B (zh) | 2019-12-30 | 2019-12-30 | 异常数据汇集的检测方法、装置和计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113132301B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106506556A (zh) * | 2016-12-29 | 2017-03-15 | 北京神州绿盟信息安全科技股份有限公司 | 一种网络流量异常检测方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6313730B2 (ja) * | 2015-04-10 | 2018-04-18 | タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited | 異常検出システムおよび方法 |
CN106095655B (zh) * | 2016-05-31 | 2018-06-12 | 北京蓝海讯通科技股份有限公司 | 一种异常检测方法、应用和监控设备 |
US11036715B2 (en) * | 2018-01-29 | 2021-06-15 | Microsoft Technology Licensing, Llc | Combination of techniques to detect anomalies in multi-dimensional time series |
CN109871401B (zh) * | 2018-12-26 | 2021-05-25 | 北京奇安信科技有限公司 | 一种时间序列异常检测方法及装置 |
-
2019
- 2019-12-30 CN CN201911398267.XA patent/CN113132301B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106506556A (zh) * | 2016-12-29 | 2017-03-15 | 北京神州绿盟信息安全科技股份有限公司 | 一种网络流量异常检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113132301A (zh) | 2021-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9578046B2 (en) | Analysis of time series data | |
CN109981328B (zh) | 一种故障预警方法及装置 | |
CN102130800B (zh) | 基于数据流行为分析的网络访问异常检测装置及方法 | |
CN111064635B (zh) | 一种异常流量的监视方法及系统 | |
CN107360188B (zh) | 基于云防护和云监测系统的网站风险值评估方法及装置 | |
Viinikka et al. | Time series modeling for IDS alert management | |
CN112114995B (zh) | 基于进程的终端异常分析方法、装置、设备及存储介质 | |
US8774023B2 (en) | Method and system for detecting changes in network performance | |
CN113765881A (zh) | 异常网络安全行为的检测方法、装置、电子设备及存储介质 | |
CN108509309A (zh) | 一种基于访问日志进行性能监控的系统及方法 | |
CN108123849A (zh) | 检测网络流量的阈值的确定方法、装置、设备及存储介质 | |
US20190007292A1 (en) | Apparatus and method for monitoring network performance of virtualized resources | |
CN112416872A (zh) | 一种基于大数据的云平台日志管理系统 | |
CN113934720A (zh) | 一种数据清洗方法、设备及计算机存储介质 | |
CN113518057A (zh) | 分布式拒绝服务攻击的检测方法、装置及其计算机设备 | |
US20190007285A1 (en) | Apparatus and Method for Defining Baseline Network Behavior and Producing Analytics and Alerts Therefrom | |
CN109005181B (zh) | 一种dns放大攻击的检测方法、系统及相关组件 | |
EP3346666B1 (en) | A prediction system configured for modeling the expected number of attacks on a computer or communication network | |
CN113132301B (zh) | 异常数据汇集的检测方法、装置和计算机存储介质 | |
CN117375985A (zh) | 安全风险指数的确定方法及装置、存储介质、电子装置 | |
Evangelou et al. | Predictability of netflow data | |
CN110602070A (zh) | 一种网络安全的自动配置管理系统及方法 | |
CN108289035B (zh) | 一种直观的网络及业务系统运行状态展现方法及系统 | |
CN107995014B (zh) | 基于告警信息发现功能拓扑的方法及装置 | |
CN115509851A (zh) | 页面监控方法、装置及设备 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40048329 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |