一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于流量基线的电力终端异常检测方法及系统与流程

2022-12-13 21:02:28 来源:中国专利 TAG:


1.本发明涉及电力终端检测技术领域,特别涉及一种基于流量基线的电力终端异常检测方法及系统。


背景技术:

2.随着5g技术和万物互联的到来,越来越多的物联网设备接入网络,智能电力终端就是其中一种,数以亿计的智能电力终端接入网络后,如何保证这些智能电力终端的安全是当前亟需解决的问题,当前对传统的互联网终端的异常检测方法较多,如基于情报的终端异常检测、基于规则的终端异常检测、基于行为的终端异常检测等,这些检测手段绝大多数都是基于互联网终端和互联网协议的,或多或少都存在一定的局限性。
3.基于情报的终端异常检测方法以威胁情报黑白名单为基础,对恶意1p、恶意域名、恶意url等进行检测,虽然检测效率很高,但专属的、与电力终端相关的威胁情报较少,所以该方法很难在电力终端异常检测方面产生较好的效果。
4.基于规则的终端异常检测方法以常用的互联网攻击检测为基础,比如:探测扫描、口令爆破、漏洞利用等,从检测的维度看,虽然这种检测在物联网电力终端能产生一定的效果,比如对登录弱口令的检测,对敏感数据泄露的检测等,但不管是检测规则和可以检测的类型都是相对有限的,因此,这种检测在电力终端异常检测方面的能力也比较有限。
5.基于行为的终端异常检测方法以终端行为为基础,先对这些终端的行为进行存储和记录,通过分析统计算法对这些行为进行分析统计,将终端的现有行为与分析统计结果进行比对,从而挖掘终端的异常行为,这种方法虽然能发现一些终端的异常行为,但由于每种电力终端的行为各不相同且种类繁多,很难使用统一的方法进行统计分析和检测,因此,该方法在电力终端异常检测方面也存在较大的难度。


技术实现要素:

6.本发明提供了一种基于流量基线的电力终端异常检测方法及系统,收集电力终端的所有网络流量数据,根据规约对这些流量数据进行识别和解析,从终端的流量维度、应用层功能码维度、协议维度进行多维度统计与异常检测,再对上述维度的异常检测进行计算,确定电力终端的异常检测准确性,保证了终端流量检测维度的全面性和精确性。
7.本发明提供了一种基于流量基线的电力终端异常检测方法,包括:
8.采集电力终端所有的网络流量数据,并根据规约对所述网络流量数据进行识别和解析;其中,所述规约为电力采集终端与上层平台之间进行网络流量数据传输时使用的定制化数据规范;
9.将解析后得到的所有电力终端网络流量会话存储到大数据平台和结构化数据库;
10.根据时间切片的电力终端ip流量上下限统计对电力终端的流量维度进行异常检测,得到第一异常检测结果;
11.根据时间切片的电力终端协议规约流量上下限统计对电力终端的协议维度进行
异常检测,得到第二异常检测结果;
12.根据时间切片的电力终端应用层功能码流量大小统计对电力终端的应用层功能码维度进行异常检测,得到第三异常检测结果;
13.根据所述第一异常检测结果、第二异常检测结果和第三异常检测结果计算电力终端的最终异常检测结果,并根据所述最终异常检测结果确定所述电力终端存在异常的可能性。
14.进一步地,所述采集电力终端所有的网络流量数据,并根据规约对所述网络流量数据进行识别和解析,得到网络流量会话的步骤,包括:
15.接收汇聚分流设备或交换机镜像到网卡上的电力终端网络流量;
16.将网卡上的数据采集到内存,并将采集到内存中的数据按照规约进行数据识别;
17.对存储到内存中的所有码流数据按照ip五元组信息进行数据过滤、分片组合、去重;
18.根据规约中规定传输层协议、帧数据格式、应用层数据格式对整理好的流量会话数据进行解析,得到网络流量的会话记录。
19.进一步地,所述将解析后得到的所有电力终端网络流量会话存储到大数据平台和结构化数据库的步骤,包括:
20.将接收到的所有电力终端网络流量会话临时存储到kafka消息中间件,通过生产者和消费者模式进行数据的产生和消费;
21.根据需要存储的数据格式以及数据量进行大数据平台存储或结构化数据存储。
22.进一步地,所述根据时间切片的电力终端ip流量上下限统计对电力终端的流量维度进行异常检测,得到第一异常检测结果的步骤,包括:
23.选取一个基准时长和时间切片粒度集合;其中,所述基准时长大于等于2天,且所述基准时长内电力终端流量数据为正常数据,所述时间切片粒度集合中包含多种时间切片,分别为1分钟时间切片、5分钟时间切片、10分钟时间切片、30分钟时间切片和60分钟时间切片;
24.在所述基准时长中每个时间切片的相同时间点数据为一个数据集合d={max,min,med,n};其中,max表示时间切片上相同时间点的最大值,min表示时间切片上相同时间点的最小值,med表示切片上所有相同时间点的中间值,n表示已经累计的数据个数;
25.电力终端ip在以往每天一个时间点上正常数据的集合为d={max,min,med,n},按照切片粒度获取时间点上的数据为d1,则d1等于切片内所有会话记录流量之和;
26.根据d1计算得到第一异常检测结果s1。
27.进一步地,所述根据d1计算得到第一异常检测结果s1的步骤,包括:
28.当max=min=med时,当s1=0时,n=n 1;当s1>0时,接收用户判断d1是否加入d数据集合的指令;其中,s1为第一异常检测结果;
29.当d1>max时,当s1>1时,s1=1;
30.当d1>min时,当s1>1时,s1=1;
31.当med≤d1≤max时,其中,对d中的med和n进行重新计算,med的计算为:当n为偶数时,当n为奇数时,n=n-1,n的计算为:n=n 1;
32.当min≤d1≤med时,其中,对d中的med和n进行重新计算,med的计算为:当n为偶数时,当n为奇数时,n=n-1,n的计算为:n=n 1;
33.当0.8<s1≤1时,接收用户确定流量终端点是否加入到d中,若加入到d中,则修改d中的max或min,并按照med≤d1≤max或min≤d1≤med时的方式修改med和n值。
34.进一步地,所述根据时间切片的电力终端应用层功能码流量大小统计对电力终端的应用层功能码维度进行异常检测,得到第三异常检测结果的步骤,包括:
35.选取一个基准时长和时间切片粒度集合;其中,所述基准时长大于等于1小时,且所述基准时长内电力终端应用层功能码每次流量大小为正常数据,所述时间切片粒度集合中包含多种时间切片的方式,分别为按1小时进行时间切片、按1天进行时间切片、按1周进行时间切片、按1月进行时间切片;
36.在基准时长中,每个切片时间内的数据为一个二维数据集合d={d1,d2,d3,......},dn={starttime,endtime,fcode,n,avg};其中,starttime表示切片的开始统计时间,endtime表示切片的结束统计时间,fcode表示应用层功能码编号,n表示切片时间中应用层功能码产生的次数,avg表示切片时间中应用层功能码每次访问的流量平均数;
37.根据时间切片粒度集合中的时间切片的方式计算每种功能码每天的数据集合中的具体值;其中,每种功能码每天的数据集合为dn={starttime,endtime,fcode,n,avg},avg的计算公式为:avgi表示0到24小时中每1小时相同应用层功能码的每次访问的流量平均值,ni表示0到24小时中每1小时相同应用层功能码的访问的次数;
38.获取电力终端的应用层功能码访问的流量数据大小d2,从月、周、天、小时的切片顺序寻找该应用层功能码对应的数据集dn,并将流量大小d2与切片维度最大的相同应用层功能码dn中的avg进行比较;
39.若则该切片维度的s=0;若或则该切片维度的s=1;
40.根据月、周、天、小时的切片顺序计算每个切片维度的s,得到s

、s

、s

、s
小时

41.当s

、s

、s

、s
小时
的结果均为0时,s3=0;当s

、s

、s

、s
小时
的结果中有1个1时,s3=0.25;当s

、s

、s

、s
小时
的结果中有2个1时,s3=0.5;当s

、s

、s

、s
小时
的结果中有3个1时,s3=0.75;当s

、s

、s

、s
小时
的结果中有4个1时,s3=1;其中,s3为第三异常检测结果。
42.进一步地,所述根据所述第一异常检测结果、第二异常检测结果和第三异常检测结果计算电力终端的最终异常检测结果,并根据所述最终异常检测结果确定所述电力终端存在异常的可能性的步骤,包括:
43.确定第一异常检测结果、第二异常检测结果和第三异常检测结果的系数;其中,第二异常检测结果为s2;
44.计算电力终端的最终异常检测结果s;其中,计算公式为:
[0045][0046]
其中,pi为第一异常检测结果、第二异常检测结果和第三异常检测结果的系数;
[0047]
当s≥0.8时,显示电力终端存在异常的可能性较大;当0.8>s>0.5时,显示电力终端存在一定的异常可能性;当0.5≥s≥0.3时,显示电力终端存在异常的可能性较小;当s≤0.3时,显示电力终端几乎不存在异常的可能性。
[0048]
本发明还提供了一种基于流量基线的电力终端异常检测系统,包括:
[0049]
采集模块,用于采集电力终端所有的网络流量数据,并根据规约对所述网络流量数据进行识别和解析;其中,所述规约为电力采集终端与上层平台之间进行网络流量数据传输时使用的定制化数据规范;
[0050]
存储模块,用于将解析后得到的所有电力终端网络流量会话存储到大数据平台和结构化数据库;
[0051]
第一异常检测模块,用于根据时间切片的电力终端ip流量上下限统计对电力终端的流量维度进行异常检测,得到第一异常检测结果;
[0052]
第二异常检测模块,用于根据时间切片的电力终端协议规约流量上下限统计对电力终端的协议维度进行异常检测,得到第二异常检测结果;
[0053]
第三异常检测模块,用于根据时间切片的电力终端应用层功能码流量大小统计对电力终端的应用层功能码维度进行异常检测,得到第三异常检测结果;
[0054]
最终异常计算模块,用于根据所述第一异常检测结果、第二异常检测结果和第三异常检测结果计算电力终端的最终异常检测结果,并根据所述最终异常检测结果确定所述电力终端存在异常的可能性。
[0055]
本发明还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
[0056]
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
[0057]
本发明的有益效果为:
[0058]
本发明通过三种维度的流量基线从粗到细的对电力终端资产的网络流量数据进行逐层的安全检测,从多个维度对电力终端资产产生的网络流量数据进行安全检测,保证了终端流量检测维度的全面性和精确性,同时,通过对三种检测的维度的组合分析,更进一步的保证了基于流量基线的电力终端资产异常检测的准确性。
[0059]
本发明的基于流量基线的多维度检测方法,在电力终端独特的网络规约传输数据基础上进行计算,能够很好的提高电力终端资产的流量异常检测的全面性和精准性,为用户整体把控电力终端是否正常运行、是否整体进行数据交付提供安全保障。
附图说明
[0060]
图1为本发明一实施例的方法步骤示意图。
[0061]
图2为本发明一实施例的方法流程示意图。
[0062]
图3为本发明中对数据流进行数据解析的示意图。
[0063]
图4为本发明中流量的会话记录示例图。
[0064]
图5为本发明一实施例的装置结构示意图。
[0065]
图6为本发明一实施例的计算机设备内部结构示意图。
[0066]
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0067]
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0068]
如图1、2所示,本发明提供了一种基于流量基线的电力终端异常检测方法,包括:
[0069]
s1、采集电力终端所有的网络流量数据,并根据规约对所述网络流量数据进行识别和解析;其中,所述规约为电力采集终端与上层平台之间进行网络流量数据传输时使用的定制化数据规范;
[0070]
步骤s1具体包括:
[0071]
s11、接收汇聚分流设备或交换机镜像到网卡上的电力终端网络流量;
[0072]
s12、将网卡上的数据采集到内存,并将采集到内存中的数据按照规约进行数据识别;
[0073]
s13、对存储到内存中的所有码流数据按照ip五元组信息进行数据过滤、分片组合、去重;
[0074]
s14、根据规约中规定传输层协议、帧数据格式、应用层数据格式对整理好的流量会话数据进行解析,得到网络流量的会话记录。
[0075]
如上述步骤s11-s14所述,通过汇聚分流设备或交换机将电力终端网络流量镜像到系统对应设备的网卡上,系统通过各种采集技术将网卡上的数据采集到内存,将采集到内存中的数据按照各种规约要求进行数据识别。进而对存储到内存中的所有码流数据按照ip五元组信息进行数据过滤、分片组合、去重等,根据规约中规定传输层协议、帧数据格式、应用层数据格式对整理好的流量会话数据进行解析,将解析结果按会话记录的方式存储到大数据平台和结构化数据库中。
[0076]
规约数据解析数据包括:
[0077]
1.传输层协议:数据传输采用tcp三次握手协议进行数据传输。
[0078]
2.帧数据格式
[0079]
[0080][0081]
3.应用层数据格式:
[0082][0083]
通过上述解析方式可对数据流进行数据解析如图3所示。
[0084]
解析完成后获取到的每一个流量的会话记录示例如图4所示。
[0085]
s2、将解析后得到的所有电力终端网络流量会话存储到大数据平台和结构化数据库;
[0086]
步骤s2具体包括:
[0087]
s21、将接收到的所有电力终端网络流量会话临时存储到kafka消息中间件,通过生产者和消费者模式进行数据的产生和消费;
[0088]
s22、根据需要存储的数据格式以及数据量进行大数据平台存储或结构化数据存储。
[0089]
如上述步骤s2所述,数据存储模块包括kafka消息中间件、大数据存储平台、结构化数据库,kafka消息中间件主要负责将接收到的所有电力终端网络流量会话进行临时存储,通过生产者和消费者模式进行数据的产生和消费,进而根据需要存储的数据格式以及数据量进行大数据平台存储或结构化数据存储。
[0090]
电力终端流量基线分析检测算法包括基于时间切片的电力终端ip流量上下限统计异常检测算法,基于时间切片的电力终端协议规约流量上下限统计异常检测算法,基于时间切片的电力终端应用层功能码流量大小统计异常检测算法三种分析统计算法,通过三种分析统计算法确定电力终端的流量、协议、应用层功能码三个维度的异常情况,分别为步骤s3、s4、s5。
[0091]
s3、根据时间切片的电力终端ip流量上下限统计对电力终端的流量维度进行异常检测,得到第一异常检测结果;
[0092]
步骤s3具体包括:
[0093]
s31、选取一个基准时长和时间切片粒度集合;其中,所述基准时长大于等于2天,且所述基准时长内电力终端流量数据为正常数据,所述时间切片粒度集合中包含多种时间切片,分别为1分钟时间切片、5分钟时间切片、10分钟时间切片、30分钟时间切片和60分钟时间切片;
[0094]
s32、在所述基准时长中每个时间切片的相同时间点数据为一个数据集合d={max,min,med,n};其中,max表示时间切片上相同时间点的最大值,min表示时间切片上相同时间点的最小值,med表示切片上所有相同时间点的中间值,n表示已经累计的数据个数;
[0095]
s33、电力终端ip在以往每天一个时间点上正常数据的集合为d={max,min,med,n},按照切片粒度获取时间点上的数据为d1,则d1等于切片内所有会话记录流量之和;
[0096]
s34、根据d1计算得到第一异常检测结果s1;具体包括:
[0097]
s341、当max=min=med时,当s1=0时,n=n 1;当s1>0时,接收用户判断d1是否加入d数据集合的指令;其中,s1为第一异常检测结果;
[0098]
s342、当d1>max时,当s1>1时,s1=1;
[0099]
s343、当d1>min时,当s1>1时,s1=1;
[0100]
s344、当med≤d1≤max时,其中,对d中的med和n进行重新计算,med的计算为:当n为偶数时,当n为奇数时,n=n-1,n的计算为:n=n 1;
[0101]
s345、当min≤d1≤med时,其中,对d中的med和n进行重新计算,med的计算为:当n为偶数时,当n为奇数时,n=n-1,n的计算为:n=n 1;
[0102]
s346、当0.8<s1≤1时,接收用户确定流量终端点是否加入到d中,若加入到d中,则修改d中的max或min,并按照med≤d1≤max或min≤d1≤med时的方式修改med和n值。
[0103]
如上述步骤s31-s34所述,根据时间切片的电力终端ip流量上下限统计对电力终端的流量维度进行异常检测,得到第一异常检测结果s1,该统计方法选取一个基准时长,在该基准时长中,通过时间维度对某ip的电力终端在该时间切片粒度上的每一个时间点的最大值、最小值、中间值3个数进行统计,每个时间点上都会生成一个3个数的集合,在该基准时长内就会统计出n个数据集合,分别取n个数据集合中的最大值、最小值、中间值进行画线,就能画出3条曲线,以最大值和最小值的曲线区间为正常流量的边界基线区间,该区间以外的数据80%以上的概率为异常数据,该区间以内的数据,越靠近中间值曲线的数据异常数据的概率越小。具体为:
[0104]
1)时间切片粒度可为集合t={1,5,10,30,60};分别表示1分钟时间切片,5分钟时间切片,10分钟时间切片,30分钟时间切片,60分钟时间切片;时间切片越小计算越精准,但数据量越大;切片越大计算越粗略,但数据量越小。
[0105]
2)选择一个流量基准时长bt,通常情况下bt的选择范围应该在:bt≥2天,即bt的基准时长应该大于2天,且bt基准时长不一定是连续的n天,但必须保证选择的基准时间内电力终端流量数据为正常数据,且bt基准时长越长准确性越高,基准时长数据集合d确定以后将按照时间序列进行持续积累。
[0106]
3)每个时间切片的相同时间点数据为一个数据集合d={max,min,med,n};max表示该时间切片上相同时间点的最大值,min表示该时间切片上相同时间点的最小值,med表示该切片上所有相同时间点的中间值,n表示已经累计的数据个数;以取10为基准时长,切片粒度为60为例,取中午12点的数据集合d,基准时长10天中11点-12点之间的流量数据分别为={d1,d2,d3,d4,d5,d6,d7,d8,d9,d10},max=max(d1,d2,d3,d4,d5,d6,d7,d8,d9,d10),min=min(d1,d2,d3,d4,d5,d6,d7,d8,d9,d10),med在基准计算时可直接计算中位数值,n=10。
[0107]
4)实时数据异常检测,电力终端ip在以往每天该时间点上正常数据的集合为d={max,min,med,n},此时按照切片粒度获取该时间点上的数据为d1,d1=该切片内所有会话
记录流量之和,根据d1是否异常检测包括:
[0108]
a.当max=min=med时,当s1=0时,n=n 1;当s1>0时,需人工判断d1是否加入d数据集合。
[0109]
b.当d1>max时,当s1>1时,s1=1;
[0110]
c.当d1>min时,当s1>1时,s1=1;
[0111]
d.当med≤d1≤max时,此时,需要对d中的med和n进行重新计算,med的计算为:当n为偶数时,当n为奇数时,n=n-1,n的计算为:n=n 1;
[0112]
e.当min≤d1≤med时,此时,需要对d中的med和n进行重新计算,med的计算为:当n为偶数时,当n为奇数时,n=n-1,n的计算为:n=n 1;
[0113]
f.当0.8<s1≤1时,需人工判断该流量终端点是否适合加入到d中,如果不适合则不加入,如果适合先修改d中的max或min,然后按照d或e的方法修改med和n值。
[0114]
s4、根据时间切片的电力终端协议规约流量上下限统计对电力终端的协议维度进行异常检测,得到第二异常检测结果。
[0115]
如上述步骤s4所述,基于时间切片的电力终端协议规约流量上下限统计异常检测算法与基于时间切片的电力终端ip流量上下限统计异常检测算法的算法思路相似,区别在于基于电力终端协议规约流量上限统计异常检测是基于采用同一种流量传输协议的多个电力终端在某一种协议的流量大小进行统计和异常检测,它能检测出某一种协议在某个时间切片粒度上某个时间点该类协议流量的异常情况,此时可能包括多个电力终端的流量,因此,当它和基于时间切片的电力终端ip流量上下限统计异常检测算法组合使用时,异常检测的准确率更高。该算法的具体算法思路参考基于时间切片的电力终端ip流量上下限统计异常检测算法的具体算法思路,在此不再赘述。
[0116]
s5、根据时间切片的电力终端应用层功能码流量大小统计对电力终端的应用层功能码维度进行异常检测,得到第三异常检测结果;
[0117]
步骤s5具体包括:
[0118]
s51、选取一个基准时长和时间切片粒度集合;其中,所述基准时长大于等于1小时,且所述基准时长内电力终端应用层功能码每次流量大小为正常数据,所述时间切片粒度集合中包含多种时间切片的方式,分别为按1小时进行时间切片、按1天进行时间切片、按1周进行时间切片、按1月进行时间切片;
[0119]
s52、在基准时长中,每个切片时间内的数据为一个二维数据集合d={d1,d2,d3,......},dn={starttime,endtime,fcode,n,avg};其中,starttime表示切片的开始统计时间,endtime表示切片的结束统计时间,fcode表示应用层功能码编号,n表示切片时间中应用层功能码产生的次数,avg表示切片时间中应用层功能码每次访问的流量平均数;
[0120]
s53、根据时间切片粒度集合中的时间切片的方式计算每种功能码每天的数据集合中的具体值;其中,每种功能码每天的数据集合为dn={starttime,endtime,fcode,n,avg},avg的计算公式为:avgi表示0到24小时中每1小时相同应用层功能码的每次访问的流量平均值,ni表示0到24小时中每1小时相同应用层功能码的访问的次数;
[0121]
s54、获取电力终端的应用层功能码访问的流量数据大小d2,从月、周、天、小时的切片顺序寻找该应用层功能码对应的数据集dn,并将流量大小d2与切片维度最大的相同应用层功能码dn中的avg进行比较;
[0122]
s55、若则该切片维度的s=0;若或则该切片维度的s=1;
[0123]
s56、根据月、周、天、小时的切片顺序计算每个切片维度的s,得到s

、s

、s

、s
小时

[0124]
s57、当s

、s

、s

、s
小时
的结果均为0时,s3=0;当s

、s

、s

、s
小时
的结果中有1个1时,s3=0.25;当s

、s

、s

、s
小时
的结果中有2个1时,s3=0.5;当s

、s

、s

、s
小时
的结果中有3个1时,s3=0.75;当s

、s

、s

、s
小时
的结果中有4个1时,s3=1;其中,s3为第三异常检测结果。
[0125]
如上述步骤s51-s57所述,基于时间切片的电力终端应用层功能码流量大小统计异常检测算法首先需要选择一个时间切片周期,在该时间切片周期内统计每种应用层功能码每次会话的流量大小,通过对相同应用层功能码的流量大小来检测电力终端的异常情况。具体包括:
[0126]
1)时间切片粒度为一个数据集合t={1,24,7
×
24,30
×
24},1表示按1小时进行时间切片,24表示按1天进行时间切片,7
×
24表示按1周进行时间切片,30
×
24表示按1月进行时间切片。
[0127]
2)选择一个流量基准时长bt,通常情况下bt的选择范围应该在:bt≥1小时,即bt的基准时长应该大于1小时,且保证基准时长内电力终端应用层功能码每次流量大小为正常数据,基准时长数据集合d确定以后将按照时序持续进行积累。
[0128]
3)每个切片时间内的数据为一个二维数据集合d={d1,d2,d3,......},dn={starttime,endtime,fcode,n,avg},starttime表示切片的开始统计时间,endtime表示切片的结束统计时间,fcode表示应用层功能码编号,如:00h为确认/否认,01h为复位,02h为链路接口检测,03h中继站命令,04h设置参数,05h控制命令,......11h~ffh备用,当前主要有16种应用层功能码;n表示该切片时间中该应用层功能码产生的次数,avg表示该切片时间中该应用层功能码每次访问的流量平均数。
[0129]
4)1小时的切片为最小切片粒度,1天的数据集d是将当天从0点到24点按小时切片的所有数据集中相同功能码的数据集合进行计算获得,则每种功能码每天的数据集合dn={starttime,endtime,fcode,n,avg},starttime=xx-xx-xx 0:0:0,endtime=xx-xx-xx 23:59:59,fcode=小时切片相同应用层功能码的fcode,avgi表示0到24小时中每1小时相同应用层功能码的每次访问的流量平均值,ni表示0到24小时中每1小时相同应用层功能码的访问的次数。同理,1周的数据集是把本周7天的数据进行计算,1月的数据集是把本月30天的数据进行计算。
[0130]
5)实时数据异常检测,获取电力终端的某个应用层功能码某次访问的流量数据大小d2,从月、周、天、小时的切片顺序寻找该应用层功能码对应的数据集dn,将本次流量大小d2与找到的切片维度最大的相同应用层功能码dn中的avg进行比较,如果表示d2与该切片维度的绝大多数单次访问的流量大小基本相同,则该切片维度的s=0,如果或表示d2与该切片维度的绝大多数单次访问的流量大小偏差太大,则该切片维度的s=1;然后寻找比当前维度小一维度的切片,再使用上述算法进行判断直到最小切片到小时,当小时切片维度检测结束时,异常检测结束。
[0131]
所有切片维度的s默认s=0,s=0表示该切片维度检测基本正常,s=1表示该切片维度检测可能异常,最终的流量检测结果判断包括:a.当4个s(月、周、天、小时)都为0时,s3=0;b.当4个s有1个1时,s3=0.25;c.当4个s有2个1时,s3=0.5;d.当4个s有3个1时,s3=0.75;e.当4个s有4个1时,s3=1。
[0132]
s6、根据所述第一异常检测结果、第二异常检测结果和第三异常检测结果计算电力终端的最终异常检测结果,并根据所述最终异常检测结果确定所述电力终端存在异常的可能性。
[0133]
s61、确定第一异常检测结果、第二异常检测结果和第三异常检测结果的系数;其中,第二异常检测结果为s2;
[0134]
s62、计算电力终端的最终异常检测结果s;其中,计算公式为:
[0135][0136]
其中,pi为第一异常检测结果、第二异常检测结果和第三异常检测结果的系数;
[0137]
s63、当s≥0.8时,显示电力终端存在异常的可能性较大;当0.8>s>0.5时,显示电力终端存在一定的异常可能性;当0.5≥s≥0.3时,显示电力终端存在异常的可能性较小;当s≤0.3时,显示电力终端几乎不存在异常的可能性。
[0138]
如上述步骤s61-s63所述,在电力终端流量基线分析检测算法中的三种异常检测结果的基础上,对三种检测结果s1、s2、s3通过公式进行计算,计算出电力终端是否存在异常,由于三种检测维度不同,它们对电力终端是否异常的影响系数也不同,三种检测按照影响的大小排列如下:基于时间切片的电力终端应用层功能码流量大小统计异常检测算法≥基于时间切片的电力终端ip流量上下限统计异常检测算法>基于时间切片的电力终端协议规约流量上下限统计异常检测算法,因此,三种检测算法对应的系数如下:
[0139]
名称系数基于时间切片的电力终端应用层功能码流量大小统计异常检测算法0.4基于时间切片的电力终端ip流量上下限统计异常检测算法0.4基于时间切片的电力终端协议规约流量上下限统计异常检测算法0.2
[0140]
计算电力终端的最终异常检测结果
[0141]
根据计算电力终端的最终异常检测结果s判断电力终端存在异常的可能性为:
[0142]
a.当s≥0.8时,电力终端存在异常的可能性较大;
[0143]
b.当0.8>s>0.5时,电力终端存在一定的异常可能性;
[0144]
c.当0.5≥s>0.3时,电力终端存在异常的可能性较小;
[0145]
d.当s≤0.3时,电力终端几乎不存在异常的可能性。
[0146]
基于流量基线的电力终端异常检测方法的有益效果为:
[0147]
通过三种维度的流量基线从粗到细的对电力终端资产的网络流量数据进行逐层的安全检测,从多个维度对电力终端资产产生的网络流量数据进行安全检测,保证了终端流量检测维度的全面性和精确性,同时,通过对三种检测的维度的组合分析,更进一步的保证了基于流量基线的电力终端资产异常检测的准确性。
[0148]
基于流量基线的多维度检测方法,在电力终端独特的网络规约传输数据基础上进行计算,能够很好的提高电力终端资产的流量异常检测的全面性和精准性,为用户整体把控电力终端是否正常运行、是否整体进行数据交付提供安全保障。
[0149]
如图5所示,本发明还提供了一种基于流量基线的电力终端异常检测系统,包括:
[0150]
采集模块1,用于采集电力终端所有的网络流量数据,并根据规约对所述网络流量数据进行识别和解析;其中,所述规约为电力采集终端与上层平台之间进行网络流量数据传输时使用的定制化数据规范;
[0151]
存储模块2,用于将解析后得到的所有电力终端网络流量会话存储到大数据平台和结构化数据库;
[0152]
第一异常检测模块3,用于根据时间切片的电力终端ip流量上下限统计对电力终端的流量维度进行异常检测,得到第一异常检测结果;
[0153]
第二异常检测模块4,用于根据时间切片的电力终端协议规约流量上下限统计对电力终端的协议维度进行异常检测,得到第二异常检测结果;
[0154]
第三异常检测模块5,用于根据时间切片的电力终端应用层功能码流量大小统计对电力终端的应用层功能码维度进行异常检测,得到第三异常检测结果;
[0155]
最终异常计算模块6,用于根据所述第一异常检测结果、第二异常检测结果和第三异常检测结果计算电力终端的最终异常检测结果,并根据所述最终异常检测结果确定所述电力终端存在异常的可能性。
[0156]
在一个实施例中,采集模块1,包括:
[0157]
镜像单元,用于接收汇聚分流设备或交换机镜像到网卡上的电力终端网络流量;
[0158]
流量采集单元,用于将网卡上的数据采集到内存,并将采集到内存中的数据按照规约进行数据识别;
[0159]
码流解析单元,用于对存储到内存中的所有码流数据按照ip五元组信息进行数据过滤、分片组合、去重;
[0160]
规范识别单元,用于根据规约中规定传输层协议、帧数据格式、应用层数据格式对整理好的流量会话数据进行解析,得到网络流量的会话记录。
[0161]
在一个实施例中,存储模块2,包括:
[0162]
kafka单元,用于将接收到的所有电力终端网络流量会话临时存储到kafka消息中间件,通过生产者和消费者模式进行数据的产生和消费;
[0163]
存储单元,用于根据需要存储的数据格式以及数据量进行大数据平台存储或结构化数据存储。
[0164]
在一个实施例中,第一异常检测模块3,包括:
[0165]
第一选取单元,用于选取一个基准时长和时间切片粒度集合;其中,所述基准时长大于等于2天,且所述基准时长内电力终端流量数据为正常数据,所述时间切片粒度集合中包含多种时间切片,分别为1分钟时间切片、5分钟时间切片、10分钟时间切片、30分钟时间切片和60分钟时间切片;
[0166]
第一数据集合单元,用于在所述基准时长中每个时间切片的相同时间点数据为一个数据集合d={max,min,med,n};其中,max表示时间切片上相同时间点的最大值,min表示时间切片上相同时间点的最小值,med表示切片上所有相同时间点的中间值,n表示已经累计的数据个数;
[0167]
获取单元,用于电力终端ip在以往每天一个时间点上正常数据的集合为d={max,min,med,n},按照切片粒度获取时间点上的数据为d1,则d1等于切片内所有会话记录流量之和;
[0168]
第一计算单元,用于根据d1计算得到第一异常检测结果s1。
[0169]
在一个实施例中,第一计算单元,包括:
[0170]
第一结果子单元,用于当max=min=med时,当s1=0时,n=n 1;当s1>0时,接收用户判断d1是否加入d数据集合的指令;其中,s1为第一异常检测结果;
[0171]
第二结果子单元,用于当d1>max时,当s1>1时,s1=1;
[0172]
第三结果子单元,用于当d1>min时,当s1>1时,s1=1;
[0173]
第四结果子单元,用于当med≤d1≤max时,其中,对d中的med和n进行重新计算,med的计算为:当n为偶数时,当n为奇数时,n=n-1,
[0174]
n的计算为:n=n 1;
[0175]
第五结果子单元,用于当min≤d1≤med时,其中,对d中的med和n进行重新计算,med的计算为:当n为偶数时,当n为奇数时,n=n-1,1,n的计算为:n=n 1;
[0176]
第六结果子单元,用于当0.8<s1≤1时,接收用户确定流量终端点是否加入到d中,若加入到d中,则修改d中的max或min,并按照med≤d1≤max或min≤d1≤med时的方式修改med和n值。
[0177]
在一个实施例中,第三异常检测模块5,包括:
[0178]
第二选取单元,用于选取一个基准时长和时间切片粒度集合;其中,所述基准时长大于等于1小时,且所述基准时长内电力终端应用层功能码每次流量大小为正常数据,所述时间切片粒度集合中包含多种时间切片的方式,分别为按1小时进行时间切片、按1天进行
时间切片、按1周进行时间切片、按1月进行时间切片;
[0179]
第二数据集合单元,用于在基准时长中,每个切片时间内的数据为一个二维数据集合d={d1,d2,d3,......},dn={starttime,endtime,fcode,n,avg};其中,starttime表示切片的开始统计时间,endtime表示切片的结束统计时间,fcode表示应用层功能码编号,n表示切片时间中应用层功能码产生的次数,avg表示切片时间中应用层功能码每次访问的流量平均数;
[0180]
第二计算单元,用于根据时间切片粒度集合中的时间切片的方式计算每种功能码每天的数据集合中的具体值;其中,每种功能码每天的数据集合为dn={starttime,endtime,fcode,n,avg},avg的计算公式为:avgi表示0到24小时中每1小时相同应用层功能码的每次访问的流量平均值,ni表示0到24小时中每1小时相同应用层功能码的访问的次数;
[0181]
比较单元,用于获取电力终端的应用层功能码访问的流量数据大小d2,从月、周、天、小时的切片顺序寻找该应用层功能码对应的数据集dn,并将流量大小d2与切片维度最大的相同应用层功能码dn中的avg进行比较;
[0182]
比较结果单元,用于当时,该切片维度的s=0;当或或时,该切片维度的s=1;
[0183]
第三计算单元,用于根据月、周、天、小时的切片顺序计算每个切片维度的s,得到s

、s

、s

、s
小时

[0184]
检测结果单元,用于当s

、s

、s

、s
小时
的结果均为0时,s3=0;当s

、s

、s

、s
小时
的结果中有1个1时,s3=0.25;当s

、s

、s

、s
小时
的结果中有2个1时,s3=0.5;当s

、s

、s

、s
小时
的结果中有3个1时,s3=0.75;当s

、s

、s

、s
小时
的结果中有4个1时,s3=1;其中,s3为第三异常检测结果。
[0185]
在一个实施例中,最终异常计算模块6,包括:
[0186]
系数确定单元,用于确定第一异常检测结果、第二异常检测结果和第三异常检测结果的系数;其中,第二异常检测结果为s2;
[0187]
异常检测结果计算单元,用于计算电力终端的最终异常检测结果s;其中,计算公式为:
[0188][0189]
其中,pi为第一异常检测结果、第二异常检测结果和第三异常检测结果的系数;
[0190]
异常可能性判断单元,用于当s≥0.8时,显示电力终端存在异常的可能性较大;当0.8>s>0.5时,显示电力终端存在一定的异常可能性;当0.5≥s≥0.3时,显示电力终端存在异常的可能性较小;当s≤0.3时,显示电力终端几乎不存在异常的可能性。
[0191]
上述各模块、单元、子单元均是用于对应执行上述基于流量基线的电力终端异常检测方法中的各个步骤,其具体实现方式参照上述方法实施例所述,在此不再进行赘述。
[0192]
如图6所示,本发明还提供了一种计算机设备,该计算机设备可以是服务器,其内
部结构可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于流量基线的电力终端异常检测方法的过程需要的所有数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现基于流量基线的电力终端异常检测方法。
[0193]
本领域技术人员可以理解,图6中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定。
[0194]
本技术一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任意一个基于流量基线的电力终端异常检测方法。
[0195]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram通过多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0196]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
[0197]
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献