一种基于网络流的智能电网通信异常检测方法
技术领域
本发明属于智能电网技术领域,尤其涉及网络通信的异常检测技术。
背景技术
过去数十年,智能电网的出现,使得电网在发电、输电、配电等各方面的效率得到巨大提升,居民用电、缴纳电费变得日益便捷,但同时在由传统相对封闭转向信息化、网络化的过程中,原有物理隔离被打破,可被恶意攻击者侵入的接入点增多,电网面临越来越多的网络安全威胁,也一定程度上成为国家安全的隐患之一。全球范围内,针对智能电网的攻击逐年增多,每年对社会经济、金融造成巨额损失,以乌克兰电网为例,在2015年12月23日,其遭遇黑客攻击,电网中7个110KV和23个35KV的变电站被断电达3个小时,且因黑客发起拒绝服务攻击与权限夺取,远程控制功能被阻断,电网工程师只能够通过手动合闸的方式恢复供电。此次攻击造成巨大的经济损失,也同时暴露当前智能电网的众多安全漏洞与安全隐患,如缺乏身份识别与双向安全验证机制,缺乏异常监测与主动防御装置等。
随着智能电网信息化水平的不断提升,与之对应的网络安全威胁不断增多,现有的异常监测与防御手段,主要包括黑名单、白名单等访问控制列表,及电网状态估计等,无法检测、抵御当前规模各异、有针对性的、隐蔽性的网络攻击。
发明内容
本发明所要解决的技术问题就是提供一种基于网络流的智能电网通信异常检测方法,可以检测当前规模各异、有针对性的、隐蔽性的网络攻击。
为解决上述技术问题,本发明采用如下技术方案:一种基于网络流的智能电网通信异常检测方法,包括如下步骤:
S1,网络流分片:以固定间隔对每一条网络流进行划分,每一次划分即形成一个分片,后续网络流特征提取及分析检测的单元均为网络流分片;
S2,网络流特征提取与预处理:对“客户端-服务端”、“服务端-客户端”流量分别进行特征抽取,并对提取的网络流特征进行归一化操作;
S3,模型构建与检测:采用无监督聚类方法构建聚类异常检测模型,并进行模型检测。
优选的,网络流分片的特征包括字节数均值、字节数标准差、报文时间间隔均值、时间间隔标准差、字节信息熵。
优选的,选用Sigmoid曲线作为归一化操作的函数曲线,并引入均值、标准差参数,使得特征数据归一化后数值集中于0.5附近,并且具有一定的线性,如下公式:
avg表示均值,std表示标准差。
优选的,聚类异常检测模型的构建算法如下:
步骤S31,数据获取:通过网络流引擎获取用于构建模型的样本数据;
步骤S32,数据预处理:计算得到每个特征的均值avg、标准差std,对每个样本的各特征使用Sigmoid函数进行归一化处理;
步骤S32,密度聚类:给定经验邻域参数,对归一化后的样本数据进行密度聚类,得到每个样本所属的聚类簇;
步骤S32:根据聚类结果,通过计算的到每个聚类簇中各特征的最值得到范围值,作为正常模型的聚类簇边界,正常模式的网络流异常检测模型构建完毕。
优选的,模型检测阶段由以下几个步骤组成:
步骤1:数据获取,通过网络流引擎,每当有网络流到达分片时间,获取其统计样本数据;
步骤2:数据预处理,对获取到的样本数据,通过模型构建步骤计算得到的均值avg,标准差参数std,由Sigmoid函数进行归一化处理;
步骤3:异常检测,将归一化后的样本数据逐个与聚类簇边界进行比较,求出样本距每个聚类簇特征边界的异常度,若存在聚类簇使得样本异常度小于异常阀值,则检测结果正常;若对所有聚类簇样本异常度均大于异常阀值,则检测结果异常。
本发明采用的技术方案,具有如下有益效果:
1、采用网络流分片作为网络流特征提取及分析检测的单元,新增了时间维度统计信息,能够检测更多传统方法无法检测的攻击。
2、以网络流统计信息为特征,网络流特征提取及分析检测的单元均为网络流分片,无需对报文进行深度解析,可对专有协议、加密协议进行检测。
3、通过密度聚类方法,能够快速、高效地构建精确模型,并对训练数据中噪声点有较好处理。
本发明的具体技术方案及其有益效果将会在下面的具体实施方式中结合附图进行详细的说明。
附图说明
下面结合附图和具体实施方式对本发明作进一步描述:
图1为网络流示意图;
图2为Sigmoid曲线分布图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明针对工业控制系统(包括智能电网控制系统)中,网络高度周期性、确定性的特点,提供了一种基于网络流的,适用于智能电网通信异常检测方法,包括如下步骤:
S1,网络流分片:以固定间隔对每一条网络流进行划分,每一次划分即形成一个分片,后续网络流特征提取及分析检测的单元均为网络流分片;
S2,网络流特征提取与预处理:对“客户端-服务端”、“服务端-客户端”流量分别进行特征抽取,并对提取的网络流特征进行归一化操作;
S3,模型构建与检测:采用无监督聚类方法构建聚类异常检测模型,并进行模型检测。
网络流与分片
本发明中,网络流被定义为网络中,同一个端到端上双向数据包的集合,在最常见的TCP/IP体系结构中,每个TCP会话中的数据包集合构成网络流。但是需要注意,两个节点间的不同连接不是同一条网络流(对应TCP中不同端口),因为它们执行任务、通信模式不一定相同。此外,在提取网络流统计特征时,由于通信中双向数据通常各异,需要将两个方向数据分别进行特征统计,以更完整刻画网络通信模式。最后,当一个TCP会话完成四次握手结束后,或连接超时结束后,该网络流结束,后续连接即使使用了相同端口,也不能够视为同一条网络流,如图1所示。
在工业控制系统(包括智能电网控制系统)中,设备一经部署,网络架构便基本确定,同时遥测、遥信、遥控等功能固定,因此通常一个网络会话建立后,如无干扰其将持续很长时间,而不会主动结束。为实现对网络流的特征提取及检测,本发明引入网络流分片的概念,它会以固定间隔对每一条网络流进行划,每一次划分即形成一个分片,后续特征提取及分析检测的单元均为网络流分片。
网络流特征提取与预处理
工业控制系统(包括智能电网控制系统),多由自动化系统对数据进行采集、分析与调度等,其遥测、遥信、遥控等功能依赖的传感器数据上传、控制器数据下送通常没有人工参与,因而保持着较高的周期性及确定性。本发明针对网络流分片,提取其统计特征,虽然各特征并不能直接体现出控制系统中的运行状态,但依据网络流周期性、确定性,能够确定正常模式下,每条网络流的统计信息会在高维特征空间中处于一个稳定的范围内,若采用聚类方法进行描述,即可表述为每条网络流在高维特征空间处于一个紧致的簇中。
为从统计层面对网络流进行建模,本发明对网络流分片的字节数均值、字节数标准差、报文时间间隔均值、时间间隔标准差、字节信息熵等进行特征提取,其能够在统计层面大致描绘网络的通信方式、通信频率、通信信息分布等,而本发明中网络流为双向流,即需要对“客户端-服务端”、“服务端-客户端”流量分别进行特征抽取,因此需要提取5×2共10维统计特征,表1为各特征名及其含义。
表1网络流特征表
本发明中,网络流提取的特征均属于数值类型,均是可比较的浮点数。但各特征的原始数据量值差异较大,使得各特征对最终聚类结果的作用权值差异较大,因此有必要对特征进行归一化等预处理操作。在本发明中,选用Sigmoid曲线作为归一化操作的函数曲线,并在原公式的基础上引入均值、标准差参数,使得特征数据归一化后数值集中于0.5附近,并且具有一定的线性,如下公式:
如图2所示,表示均值avg为3,标准差std为2为参数的条件下,Sigmoid归一化曲线分布示意图。对于均值为3,标准差为2的一组数据,其分布多处在以3为中心,(1,5)的区间内,Sigmoid在此区间也近乎为直线,具有一定的线性。
模型构建与检测
智能电网中终端众多,网络流信息量大,有监督学习需要耗费大量人力成本对样本进行标注,且每个应用场景均需单独标注,因而无监督聚类方法更适用于此类场景。本项目为提高模型检测准确率,以多个小范围精确簇为聚类目标,但常用聚类算法如K-means聚类、高斯混合聚类等,在无法确定聚类簇数的情况下,需要通过肘点法,进行多次聚类运算,再进行选优,此过程具有较高时间复杂度,且最终获得的簇数未必准确。
本发明选择密度聚类作为聚类方法,其能够对不规则形状进行聚类,不需要预先确定聚类簇数,且对离散点噪声数据有较好的处理。密度聚类假设聚类结构能够通过样本的分布紧密程度而确定,在通常情况下,密度聚类会从样本密度的角度来确定样本间的可连接性,并通过可连接样本不断地扩展聚类簇,以获取最终聚类结果。
聚类异常检测模型的构建算法过程大致如下:
步骤1:数据获取,通过网络流引擎获取用于构建模型的样本数据(12个统计类特征组成的样本);
步骤2:数据预处理,计算得到每个特征的均值avg,标准差std,对每个样本的各特征使用Sigmoid函数进行归一化处理;
步骤3:密度聚类,给定经验邻域参数(|∈,MinPts),对归一化后的样本数据进行密度聚类,得到每个样本所属的聚类簇;
步骤4:根据聚类结果,通过计算的到每个聚类簇中各特征的最值得到范围值,作为正常模型的聚类簇边界,正常模式的网络流异常检测模型构建完毕。
聚类异常检测模型构建完毕后,在模型检测阶段将由以下几个步骤组成:
步骤1:数据获取,通过网络流引擎,每当有网络流到达分片时间,获取其统计样本数据;
步骤2:数据预处理,对获取到的样本数据,通过模型构建步骤计算得到的均值avg,标准差std参数,由Sigmoid函数进行归一化处理;
步骤3:异常检测,将归一化后的样本数据逐个与聚类簇边界进行比较,求出样本距每个聚类簇特征边界的异常度(欧氏距离,若样本的某一特征处在该聚类簇边界内,则该特征与其边界距离记为0)。若存在聚类簇使得样本异常度小于异常阀值,则检测结果正常;若对所有聚类簇样本异常度均大于异常阀值,则检测结果异常。
不同于传统检测、防御手段,本发明新增时间维度统计信息,通过定义网络流及分片,确定样本数据源及范围,选取双向网络流分片中字节数、报文时间间隔、字节熵等特征,从统计层面对网络流通信模式进行描绘。本发明通过选取聚类效果优异、对噪声点处理较好的密度聚类方法,构建异常检测模型,确定每个簇在高维空间的范围,进而进行异常检测。
本发明通过提取网络流中统计信息特征,一方面可精确构建网络通信模式,另一方面无需报文深度解析,进而降低模型构建、检测开销,同时能够对专有协议、加密协议进行检测,将有效检测DDos、中间人、虚假注入等攻击。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,熟悉该本领域的技术人员应该明白本发明包括但不限于上面具体实施方式中描述的内容。任何不偏离本发明的功能和结构原理的修改都将包括在权利要求书的范围中。