一种基于熵分析的智能电网通信网络流量异常检测方法与流程

文档序号:12751666阅读:249来源:国知局
一种基于熵分析的智能电网通信网络流量异常检测方法与流程
本发明涉及一种智能电网通信网络流量异常检测方法,尤其涉及一种基于熵分析的智能电网通信网络流量异常检测方法,属于电力通信安全
技术领域

背景技术
:随着网络规模的急剧扩展,网络所面临的安全问题越来越复杂,对网络流量的分析是网络安全管理尤其是入侵检测分析的重要研究内容。网络异常是网络面临的重大威胁之一。典型的网络异常活动有分布式拒绝服务(DDos)、端口扫描、蠕虫和病毒等。如今,虽然网络异常检测已经有大量相关研究,但找到一种泛型方法来检测网络异常仍然是一个挑战。在网络运行过程中,攻击和错误发现的越早,所能采用的补救措施就越多,造成的损失就会越少。因此,在线异常检测受到了学术界和工业界的重视。在应用运行的过程中,应用本身和各种监控程序都会产生各类日志信息来记录应用的状态、重要的运行事件和网络流量,因此日志信息中包含应用运行的动态信息,适合用来进行异常检测。传统日志分析是通过人工参与或者使用事前定义好的规则来完成的。当日志大小有限以及异常类型事先可知时,这些方法非常有效并且也很灵活。但是如果程序产生了百万行日志,人工处理日志就不太现实了。为了解决上述问题,在申请号为201310492962.9的中国专利申请中公开了一种实时在线日志检测方法,包括:步骤1:将整个的训练日志转换为一个离散事件序列;步骤2:建立一个检测模型;步骤3:将待测日志分段生成至少一个日志段,并为每个日志段分配日志段序列;步骤4:对一个日志段进行异常程度评分,得到相对熵;步骤5:判断相对熵是否为正值,如果是,当前日志段异常,跳至步骤7;否则,当前日志段为正常;步骤6:判断相对熵是否大于阈值,如果是,当前日志段为异常;否则,跳至步骤8;步骤7:发送异常警告给用户,待检测程序恢复到检测所述日志段之前的状态;步骤8:判断异常日志中是否存在未评分日志段,如果是,跳转至步骤4;否则,结束。该处理过程可以有效地检测日志异常。但是,智能电网作为一种集成配电系统和通讯网络的双向电力及信息流基础设施,在运行过程中会产生大量的日志信息,上述处理方法对于日志信息的处理过程过于复杂,不能满足智能电网日志实时检测的需求。另一方面,上述处理方法只能检测出日志异常,不能根据获取的日志信息判断出异常类型,进而获取智能电网日志异常产生的原因,不能很好地满足智能电网的检测需求。技术实现要素:本发明所要解决的技术问题在于提供一种基于熵分析的智能电网通信网络流量异常检测方法。为实现上述发明目的,本发明采用下述的技术方案:一种基于熵分析的智能电网通信网络流量异常检测方法,包括如下步骤:S1,实时接收智能电网运行过程中产生的日志信息的特征值;S2,在时间阈值内,统计每个特征值出现的概率;S3,计算每个特征值的熵,并进行归一化处理,生成熵向量;S4,重复步骤S1~S3,计算当前时间阈值与上一时间阈值的熵向量的差值,并根据熵向量的差值以及网络流量攻击特点判断网络流量异常的类型。其中较优地,在步骤S1中,所述日志信息的特征值包括源IP地址、源端口号、目的IP地址和目的端口号。其中较优地,在步骤S2中,所述在时间阈值内,统计每个特征值出现的概率包括如下步骤:S21,在时间阈值内,实时统计在智能电网运行过程中,每个源IP、源端口、目的IP、目的端口出现的次数;S22,在时间阈值内,统计源IP、源端口、目的IP、目的端口出现的总数;S23,用每个源IP、源端口、目的IP、目的端口出现的次数分别除以时间阈值内源IP、源端口、目的IP、目的端口出现的总数,分别得到源IP、源端口、目的IP、目的端口四个特征值出现的概率。其中较优地,在步骤S3中,对每个特征值的熵进行归一化处理采用如下公式:Ht(Xi)=Hs(Xi)/logN;其中,Hs(Xi)为特征值的熵,logN为归一化因数,N为时间阈值内观测的活动特征值的个数。其中较优地,在步骤S3中,所述根据熵向量的差值以及网络流量攻击特点判断网络流量异常的类型,包括如下步骤:S41,通过分析常见网络流量攻击模式的特点,获取智能电网运行过程中出现常见网络流量攻击模式时,日志信息的特征值的熵的变化特征;S42,获取智能电网运行过程中,当前时间阈值与上一时间阈值的熵向量的差值;S43,判断熵向量的差值是否满足步骤S41中的熵的变化特征,如果满足任意一条变化特征,则发出报警信息,同时将所述变化特征对应的网络流量攻击模式展示出来。其中较优地,在步骤S3中,根据熵向量的差值以及网络流量攻击特点判断网络流量异常的类型,还包括如下步骤:S44,当熵向量的差值不满足步骤S41中的熵的变化特征中的任意一条时,判定无网络流量异常发生,继续实时接收下一时间阈值的日志数据的特征值。本发明所提供的基于熵分析的智能电网通信网络流量异常检测方法,通过实时接收智能电网运行过程中产生的日志信息的特征值,计算每个特征值的熵,并进行归一化处理,生成熵向量;然后计算当前时间阈值与上一时间阈值的熵向量的差值,并根据熵向量的差值以及网络流量攻击特点判断网络流量异常的类型,同时指明攻击来源及攻击目标。该方法获取熵向量的方法比较简单,可以有效地满足智能电网日志信息实时检测的需求。另一方面,该方法不仅能检测出日志异常,而且能根据获取的日志信息判断出异常类型,进而获取智能电网日志异常产生的原因,可以很好地满足智能电网的检测需求。附图说明图1为本发明提供的基于熵分析的智能电网通信网络流量异常检测方法的流程图;图2为本发明提供的实施例中,三种常见的网络流量攻击模式特点的展示图;图3为本发明提供的一个实施例中,在时间阈值内不同特征值的变化状态图。具体实施方式下面结合附图和具体实施例对本发明作进一步的详细说明。如图1所示,本发明提供的基于熵分析的智能电网通信网络流量异常检测方法,具体包括如下步骤:首先,实时接收智能电网运行过程中产生的日志信息的特征值;其次,在时间阈值内,统计每个特征值出现的概率;然后,计算每个特征值的熵,并进行归一化处理,生成熵向量;最后,计算当前时间阈值与上一时间阈值的熵向量的差值,并根据熵向量的差值以及网络流量攻击特点判断网络流量异常的类型。下面对这一过程做详细具体的说明。S1,实时接收智能电网运行过程中产生的日志信息的特征值。实时接收在智能电网运行过程中产生的日志信息的特征值,便于在智能电网运行过程中及时对日志信息的特征值进行判断,如若网络流量出现异常,能够第一时间发现,并及时进行处理,能够有效地保证在网络异常出现初期检测出来。在本发明所提供的实施例中,日志信息的特征值包括源IP地址、源端口号、目的IP地址和目的端口号。其中,源IP地址用srcIP代表,源端口号用srcPort代表,目的IP地址用dstIP代表,目的端口号用dstPort代表。通过对日志信息的特征值进行简单处理进而判断网络流量是否发生异常,简化了日志信息的处理过程,可以满足智能电网日志实时检测的需求。S2,在时间阈值内,统计每个特征值出现的概率。根据智能电网的运行特点和使用需求设定时间阈值,在时间阈值内,统计每个特征值出现的概率。为了通过流量检测网络异常,此处用xi表示网络日志信息的特征值。前面已经述及,主要使用四个特征值:srcIP代表源IP地址,srcPort代表源端口号,dstIP代表目的IP地址,dstPort代表目的端口号。在时间阈值内,统计每个特征值出现的概率,包括如下步骤:S21,在时间阈值内,实时统计在智能电网运行过程中,每个源IP、源端口、目的IP、目的端口出现的次数。S22,在时间阈值内,统计源IP、源端口、目的IP、目的端口出现的总数。S23,用每个源IP、源端口、目的IP、目的端口出现的次数分别除以时间阈值内源IP、源端口、目的IP、目的端口出现的总数,分别得到源IP、源端口、目的IP、目的端口四个特征值出现的概率。S3,计算每个特征值的熵,并进行归一化处理,生成熵向量。根据如下公式计算每个特征值的熵:Hs(X)=Σi=1np(xi·)loga1p(xi)]]>其中,Hs(X)表示特征值的熵,p(xi)为特征值的概率,i=1,2,3,4。当i=1时,p(x1)为源IP的概率,Hs(X1)为源IP的熵;当i=2时,p(x2)为目的IP的概率,Hs(X2)为目的IP的熵,当i=3时,p(x3)为源端口的概率,Hs(X3)为源端口的熵;当i=4时,p(x4)为目的端口的概率,Hs(X4)为目的端口的熵。根据对数底数的不同,以上公式可以适用于多种单位。例如比特(a=2),纳特(a=e)和赫特利(a=10)等,采用不同单位需要用相应对数底数。在本发明所提供的实施例中,对数均取2为底数。为定量比较熵时间间隔,对得到的各个特征值的熵进行归一化处理。其中,对每个源IP地址x1,可通过如下公式进行归一化处理:Ht(sIP)=Hs(X1)/logN;其中,Hs(X1)为源IP的熵,logN为归一化因数,N为测量区间内观测的活动源IP的个数。对每个目的IP地址x2,可通过如下公式进行归一化处理:Ht(sIP)=Hs(X2)/logN;其中,Hs(X2)为目的IP的熵,logN为归一化因数,N为测量区间内观测的活动目的IP的个数。对每个源端口地址x3,可通过如下公式进行归一化处理:Ht(sIP)=Hs(X3)/logN;其中,Hs(X3)为源端口的熵,logN为归一化因数,N为测量区间内观测的活动源端口的个数。对每个目的端口地址x4,可通过如下公式进行归一化处理:Ht(sIP)=Hs(X4)/logN;其中,Hs(X4)为目的IP的熵,logN为归一化因数,N为测量区间内观测的活动目的端口的个数。在本发明所提供的实施例中,选择可成对描述的四个特征(sIP,dIP,sPort,dPort),如源IP地址、源端口、目的IP地址和目的端口。在每一个时间阈值内,根据归一化处理的特征值的熵生成熵向量。Ht=[Ht(sIP),Ht(dIP),Ht(sPort),Ht(dPort)]S4,重复步骤S1~S3,计算当前时间阈值与上一时间阈值的熵向量的差值,并根据熵向量的差值以及网络流量攻击特点判断网络流量异常的类型。重复步骤S1~S3,不断计算当前时间阈值内的熵向量,计算当前时间阈值与上一时间阈值的熵向量的差值,并根据熵向量的差值以及网络流量攻击特点判断网络流量异常的类型。根据熵向量的差值以及网络流量攻击特点判断网络流量异常的类型,具体包括如下步骤:S41,通过分析常见网络流量攻击模式的特点,获取智能电网运行过程中出现常见网络流量攻击模式时,日志信息的特征值的熵的变化特征。图2展示了三种常见的网络流量攻击模式。图2(a)中可以看出分布式拒绝服务攻击的典型特征是多台主机通过不同端口与一特定主机(端口)创建大量通信。与之类似,网络蠕虫从已感染主机通过随机生成的大量IP地址向易受攻击的其他主机发送随机探针,如图2(b)所示。而图2(c)中所示端口扫描则由单一主机通过单一IP地址和端口对不同目标主机地址和端口进行扫描等。通过对常见的网络流量攻击模式进行分析,可以发现特征值的变化能够体现不同网络事件的特殊签名。在本发明所提供的实施例中,以主机扫描、反向散射、DDos和端口扫描等几类常见网络流量攻击模式为例进行说明,如下表1所示。但是在实际使用中,可以对大量网络流量攻击模式进行分析归纳总结,以便于在智能电网快速运行过程中,及时、全面、有效地对网络异常进行检测。主机扫描反向散射DDos端口扫描srcIP↑随机的↓具体的↑随机的↓具体的dstIP↑随机的**↑随机的**↓具体的↓具体的srcPort↑随机的*↓具体的↑随机的*↑随机的*dstPort↓具体的↑随机的*↓具体的↑随机的表1预期熵模式变化表根据表1,可以得到当发生主机扫描时,当前时间阈值与上一时间阈值的熵向量的差值满足如下公式:ΔHt1=[+Δh,(+Δh),+Δh,-Δh];Backscatter(反向散射)定义为由用大量虚假地址进行DDos攻击造成的无意识影响。Backscatter(反向散射)通信发生在当受害者被虚假源地址进行Dos攻击并向虚假地址回应时。当前时间阈值与上一时间阈值的熵向量的差值满足如下公式:ΔHt2=[-Δh,(+Δh),-Δh,+Δh];DDos分布式拒绝服务是一种用大量盗用系统攻击个别系统导致拒绝服务的Dos攻击。DDos攻击的受害者遭受由端目标系统和所有被黑客恶意控制的系统组成的分布式攻击。当前时间阈值与上一时间阈值的熵向量的差值满足如下公式:ΔHt3=[+Δh,-Δh,+Δh,-Δh];可通过以上熵检测出此类攻击。端口扫描方法可通过观察主机或网络对连接尝试的应答来确定某特定服务是否适用。针对此类特征,当前时间阈值与上一时间阈值的熵向量的差值满足如下公式时,可检测出此类攻击。ΔHt4=[-Δh,-Δh,+Δh,+Δh]。S42,获取智能电网运行过程中,当前时间阈值与上一时间阈值的熵向量的差值。S43,判断熵向量的差值是否满足步骤S41中的熵的变化特征,如果满足任意一条变化特征,则发出报警信息,同时将该变化特征对应的网络流量攻击模式展示出来;否则转向步骤S43;S44,无网络流量异常发生,继续实时接收下一时间阈值的日志数据的特征值。智能电网作为一种集成配电系统和通讯网络的双向电力及信息流基础设施,在运行过程中会产生大量的日志信息,该智能电网通信网络流量异常方法中获取熵向量的方法比较简单,可以有效地满足智能电网日志实时检测的需求。另一方面,该智能电网通信网络流量异常方法不仅能检测出日志异常,而且能根据获取的日志信息判断出异常类型,进而获取智能电网日志异常产生的原因,可以很好地满足智能电网的检测需求。下面通过实验评估对该智能电网通信网络流量异常方法的效果进行进一步说明。在本发明中,通过计算特征值的熵值展示原始数据和异常检测分析结果。1)原始日志数据本发明采集了智能电网信息控制网络从2014年12月30日至2015年1月1日三天的设备日志信息。并将将原始日志信息进行过滤,表2为所选取用于异常检测的样本记录。表中分别为:设备标识、源IP地址、源端口号、目的IP地址和目的端口号。表2智能电网运行的设备日志信息表对过滤后的原始日志信息进行总结,总结结果如下表3所示。此处选取时间间隔为1小时且每个小时从1开始编入索引。表3中只列出两个时间区段分别标为1和2。时间区域索引1,有13个源IP地址,1个源端口,9个目的IP地址和1个目的端口。且在第一个小时内,13.10.40.12为目的源IP地址出现了32次,0为源端口出现92次,13.101.141.2为目的IP地址被扫描了31次,0端口也被访问92次。同样时间区间索引2,有14个源IP地址,12个源端口,13个目的IP地址和55个目的端口出现。表3日志信息总结表2)实验结果因为每天都有大量日志信息生成,所以在本发明中选取HadoopSteaming的MapReduce规划模型来执行实验Python程序。表4中展示了索引1和2期间四个特征值的熵值。可以看出源(目的)IP地址熵值在索引1和2期间降低。而源(目的)端口熵值在此期间升高。图3展示了此趋势,通过该趋势可以推断出这种行为属于端口扫描,该结论也可以通过公式ΔHt4=[-Δh,-Δh,+Δh,+Δh]得到。表4不同时刻特征值的熵值变化表智能电网通信网络中不同设备有多种类型日志。并且这些日志中包含能够反映网络所面临威胁的重要信息。本实验中收集日志信息中四个特征值,计算比较其熵值,并将该方法拓展到HadoopStreaming平台。实验结果显示可有效检测异常。综上所述,本发明所提供的基于熵分析的智能电网通信网络流量异常检测方法,通过实时接收智能电网运行过程中产生的日志信息的特征值;在时间阈值内,统计每个特征值出现的概率;然后,计算每个特征值的熵,并进行归一化处理,生成熵向量;最后,计算当前时间阈值与上一时间阈值的熵向量的差值,并根据熵向量的差值以及网络流量攻击特点判断网络流量异常的类型。智能电网作在运行过程中会产生大量的日志信息,该智能电网通信网络流量异常方法中获取熵向量的方法比较简单,可以有效地满足智能电网日志实时检测的需求。另一方面,该方法不仅能检测出日志异常,而且能根据获取的日志信息判断出异常类型,进而获取智能电网日志异常产生的原因,可以很好地满足智能电网的检测需求。以上对本发明所提供的基于熵分析的智能电网通信网络流量异常检测方法进行了详细的说明。对本领域的一般技术人员而言,在不背离本发明实质精神的前提下对它所做的任何显而易见的改动,都将构成对本发明专利权的侵犯,将承担相应的法律责任。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1