当前位置: 首页 > 专利查询>湖南大学专利>正文

基于改进的深度森林的工业控制网络异常检测方法和系统技术方案

技术编号:29403973 阅读:14 留言:0更新日期:2021-07-23 22:42
本发明专利技术公开了一种工业控制网络下基于改进的环形多粒度扫描深度森林的异常检测方法,具体包括:采用Z‑score方法对构建的训练集样本进行归一化处理,将特征数据映射到[‑1,1]区间;采用主成分分析法对样本特征集合进行特征降维,生成特征两两不相关的新特征向量集;将降维后的特征向量集经过环形多粒度扫描结构,生成每个样本的特征子向量;将特征子向量集分别输入到半随机森林和完全随机森林中,生成对应的类特征向量,并组合成新的类特征向量作为级联森林的特征输入;将生成的类特征向量集合输入至多元化级联森林结构中,迭代至收敛,并生成最终的类特征向量。本发明专利技术能解决现有方法对工业控制系统网络异常行为检测率低、泛化性弱等问题。

【技术实现步骤摘要】
基于改进的深度森林的工业控制网络异常检测方法和系统
本专利技术属于信息安全
,更具体地,涉及一种基于改进的深度森林的工业控制系统异常检测方法和系统。
技术介绍
工业控制网络通常采用专有的协议进行通讯,这些协议在设计之初往往仅考虑了功能性方面的需求,安全性却没有达到足够的强度。随着网络技术的发展,工业控制网络在逐步与互联网加深联系的同时,接触到外界攻击或入侵的几率逐步增大。越来越多的工业控制网络被接入到互联网等公共网络中,这也使得工业控制网络中的安全问题越来越明显地暴露了出来。传统防范工业控制网络遭受网络攻击的措施主要是对通用的互联网协议的异常通讯行为进行解析和识别,并根据预设的规则和特征值进行匹配,从而实现简单的安全过滤。然而,上述异常行为检测的方法存在着不可忽略的缺陷:其主要依赖于特征匹配来识别危险网络行为,不仅对工控网络异常的识别率低,而且泛化性也弱。
技术实现思路
针对现有技术的以上缺陷或改进需求,本专利技术提供了一种基于改进的环形多粒度扫描深度森林的工业控制网络异常检测方法,其目的在于,解决现有工业控制网络异常检测方法存在的识别率低和泛化率低的技术问题。为实现上述目的,按照本专利技术的一个方面,提供了一种基于改进的深度森林的工业控制系统异常检测方法,包括以下步骤:(1)获取来自待检测的工业控制系统的网络数据,对该网络数据进行预处理,以得到样本集合;(2)将步骤(1)得到的样本集合输入到预先训练好的异常检测模型中,以得到异常检测的结果。优选地,步骤(1)具体为,对获取的网络数据的数据类别进行统一数值化转换,将正常数据和异常数据的标签分别用0和1表示,然后采用Z-score方法对数值化转换后的网络数据进行归一化处理,最后,将归一化后的网络数据中每个样本的一个特征作为一个数据维度,从而将样本转换成特征向量,所有样本对应的特征向量组成样本集合。优选地,步骤(2)具体为,使用PCA方法对步骤(1)得到的样本集合进行特征提取,以得到降维后的新特征向量集合,使用训练好的异常检测模型中的环形多粒度扫描结构对降维后的新特征向量集合中的每个特征向量进行处理,以获取该特征向量对应的特征子向量集合,所有特征子向量集合组成大集合,将大集合中的每个特征子向量集合中的每个特征子向量分别输入完全随机森林分类器和半随机森林分类器中,以获得类特征向量,集合中的所有特征子向量集合对应的多个初始类特征向量组成类特征向量集合,然后,将类特征向量输入训练好的异常检测模型中的级联森林模型,以得到最终的类特征向量,最后,将最终的类特征向量输入到最后一层的集成分类模型中,以得到多个分类结果,并获取所有分类结果的均值,如果该均值大于0.5,则说明待检测的工业控制系统出现异常,否则说明其正常。优选地,异常检测模型是通过以下步骤训练得到的:(1)获取网络数据,并根据网络数据构建数据集X,X∈Rn×m,其中R表示实数集,n表示数据集中的样本总数;其中,xi=[x1ix2i…xni]Τ,(i=1,2,…m)表示数据集中每个样本的第i维特征组成的特征集合。(2)采用Z-score归一化方法对步骤(1)得到的数据集进行归一化处理,并对归一化处理后的数据集按5:1的比例划分为训练集Xtrain,Xtrain∈Rn×m和测试集Xtest,Xtest∈Rn×m。(3)使用PCA方法对步骤(2)得到的训练集Xtrain进行特征提取,以得到降维后的新特征向量集合。(4)使用异常检测模型中的环形多粒度扫描结构对步骤(3)降维后的新特征向量集合中的每个特征向量进行处理,以获取该特征向量对应的特征子向量集合,所有n个特征子向量集合(其用于增强后续多元化级联森林结构的表征学习)组成大集合H。(5)将步骤(4)获取的大集合H中的每个特征子向量集合Hd,d∈{1,2,…,n}中的每个特征子向量分别输入完全随机森林分类器和半随机森林分类器中,以获得2个c维的类特征向量U={u1,u2,…,uc},每个特征子向量集合Hd,d∈{1,2,…,n}中所有k个特征子向量对应的k个2c维特征向量组成初始类特征向量bd,其维度为1×2kc,集合H中的所有特征子向量集合对应的n个初始类特征向量组成初始类特征向量集合B={b1b2…bn},其维度为n×2kc,其中c表示分类类别数;(6)将步骤(5)中生成的初始类特征向量输入多元化级联森林结构中进行迭代训练,直到多元化级联森林结构收敛为止,从而得到训练好的异常检测模型。优选地,步骤(3)具体为,首先是利用PCA方法将训练集Xtrain中的m个特征集合进行线性转换如下:其中,Y=[y1y2…ym]是经过转换后的新特征集合,样本协方差矩阵A等于:其中,xi为步骤(1)中每个样本的第i维特征组成的特征集合,表示数据集中所有样本对应的特征集合的平均值;然后,依据λα=Yα求得新特征集合Y的特征向量集合α和特征值集合λ,其中α=[α1,α2,…,αm],λ=[λ1,λ2,…,λm],其中λi表示第i个主成分对应的特征值;随后,根据第i个主成分对应的特征值λi计算第i个主成分的方差贡献率pi:其中,pi表示第i个主成分的方差贡献率。随后,设置k=1,并根据第i个主成分对应的特征值λi、使用以下公式获取k=1时第i个主成分的累计方差贡献率然后,设置k=2,沿用上一段的计算公式,以获取k=2时第i个主成分的累计方差贡献率并判断该值相对于k=1时第i个主成分的累计方差贡献率时的增长率是否小于1%,如果是则将k值固定为2,否则继续设置k=3,并获取k=3时第i个主成分的累计方差贡献率并判断该值相对于k=2时第i个主成分的累计方差贡献率时的增长率是否小于1%,如果是则将k值固定为3,否则继续设置k=4,…以此类推;然后,依据各主成分的方差贡献率进行由大到小排序,从排序结果中选取前k个主成分的方差贡献率对应的特征值,记这些特征值对应的下标所组成的下标集合为index={index1,index2,…,indexk},从新特征集合Y中按下标集合index选取对应下标的列,从而得到降维后所有样本的新特征向量集合,记为其中zd,(d=1,2,…,n)表示降维后的第d个样本的特征向量,其包含k个特征,即zd={fd1fd2…fdk},其维度为1×k。优选地,步骤(4)具体为,首先对步骤(3)降维后的新特征向量集合中的第一个特征向量z1={f11f12…f1k}进行环形多粒度扫描处理,将特征f11与特征f1k连接,使得特征向量z1={f11f12…f1k}成为一个首尾特征相连的环形;其次,以长度为t的滑动窗口从起始特征f11开始,以一个单位从左往右滑动,每滑动一个单位,获取一个特征子向量,然后,把滑动窗口向右移动一个单位,使得起始特征为f12,再获取的特征子向量记为F2={f12,f13,…,f1(t+1)},以此类推,…,最后,把滑动窗口移动到使起始特征为f1k,获取本文档来自技高网...

【技术保护点】
1.一种基于改进的深度森林的工业控制系统异常检测方法,其特征在于,包括以下步骤:/n(1)获取来自待检测的工业控制系统的网络数据,对该网络数据进行预处理,以得到样本集合;/n(2)将步骤(1)得到的样本集合输入到预先训练好的异常检测模型中,以得到异常检测的结果。/n

【技术特征摘要】
1.一种基于改进的深度森林的工业控制系统异常检测方法,其特征在于,包括以下步骤:
(1)获取来自待检测的工业控制系统的网络数据,对该网络数据进行预处理,以得到样本集合;
(2)将步骤(1)得到的样本集合输入到预先训练好的异常检测模型中,以得到异常检测的结果。


2.根据权利要求1所述的基于改进的深度森林的工业控制系统异常检测方法,其特征在于,步骤(1)具体为,对获取的网络数据的数据类别进行统一数值化转换,将正常数据和异常数据的标签分别用0和1表示,然后采用Z-score方法对数值化转换后的网络数据进行归一化处理,最后,将归一化后的网络数据中每个样本的一个特征作为一个数据维度,从而将样本转换成特征向量,所有样本对应的特征向量组成样本集合。


3.根据权利要求1或2所述的基于改进的深度森林的工业控制系统异常检测方法,其特征在于,步骤(2)具体为,使用PCA方法对步骤(1)得到的样本集合进行特征提取,以得到降维后的新特征向量集合,使用训练好的异常检测模型中的环形多粒度扫描结构对降维后的新特征向量集合中的每个特征向量进行处理,以获取该特征向量对应的特征子向量集合,所有特征子向量集合组成大集合,将大集合中的每个特征子向量集合中的每个特征子向量分别输入完全随机森林分类器和半随机森林分类器中,以获得类特征向量,集合中的所有特征子向量集合对应的多个初始类特征向量组成类特征向量集合,然后,将类特征向量输入训练好的异常检测模型中的级联森林模型,以得到最终的类特征向量,最后,将最终的类特征向量输入到最后一层的集成分类模型中,以得到多个分类结果,并获取所有分类结果的均值,如果该均值大于0.5,则说明待检测的工业控制系统出现异常,否则说明其正常。


4.根据权利要求1至3中任意一项所述的基于改进的深度森林的工业控制系统异常检测方法,其特征在于,异常检测模型是通过以下步骤训练得到的:
(1)获取网络数据,并根据网络数据构建数据集X,X∈Rn×m,其中R表示实数集,n表示数据集中的样本总数;



其中,xi=[x1ix2i…xni]Τ,(i=1,2,…m)表示数据集中每个样本的第i维特征组成的特征集合。
(2)采用Z-score归一化方法对步骤(1)得到的数据集进行归一化处理,并对归一化处理后的数据集按5:1的比例划分为训练集Xtrain,Xtrain∈Rn×m和测试集Xtest,Xtest∈Rn×m。
(3)使用PCA方法对步骤(2)得到的训练集Xtrain进行特征提取,以得到降维后的新特征向量集合。
(4)使用异常检测模型中的环形多粒度扫描结构对步骤(3)降维后的新特征向量集合中的每个特征向量进行处理,以获取该特征向量对应的特征子向量集合,所有n个特征子向量集合(其用于增强后续多元化级联森林结构的表征学习)组成大集合H。
(5)将步骤(4)获取的大集合H中的每个特征子向量集合Hd,d∈{1,2,…,n}中的每个特征子向量分别输入完全随机森林分类器和半随机森林分类器中,以获得2个c维的类特征向量U={u1,u2,…,uc},每个特征子向量集合Hd,d∈{1,2,…,n}中所有k个特征子向量对应的k个2c维特征向量组成初始类特征向量bd,其维度为1×2kc,集合H中的所有特征子向量集合对应的n个初始类特征向量组成初始类特征向量集合B={b1b2…bn},其维度为n×2kc,其中c表示分类类别数;
(6)将步骤(5)中生成的初始类特征向量输入多元化级联森林结构中进行迭代训练,直到多元化级联森林结构收敛为止,从而得到训练好的异常检测模型。


5.根据权利要求4所述的基于改进的深度森林的工业控制系统异常检测方法,其特征在于,步骤(3)具体为,首先是利用PCA方法将训练集Xtrain中的m个特征集合进行线性转换如下:



其中,Y=[y1y2…ym]是经过转换后的新特征集合,样本协方差矩阵A等于:



其中,xi为步骤(1)中每个样本的第i维特征组成的特征集合,表示数据集中所有样本对应的特征集合的平均值;
然后,依据λα=Yα求得新特征集合Y的特征向量集合α和特征值集合λ,
其中α=[α1,α2,…,αm],λ=[λ1,λ2,…,λm],其中λi表示第i个主成分对应的特征值;
随后,根据第i个主成分对应的特征值λi计算第i个主成分的方差贡献率pi:



其中,pi表示第i个主成分的方差贡献率。
随后,设置k=1,并根据第i个主成分对应的特征值λi、使用以下公式获取k=1时第i个主成分的累计方差贡献率



然后,设置k=2,沿用上一段的计算公式,以获取k=2时第i个主成分的累计方差贡献率并判断该值相对于k=1时第i个主成分的累计方差贡献率时的增长率是否小于1%,如果是则将k值固定为2,否则继续设置k=3,并获取k=3时第i个主成分的累计方差贡献率并判断该值相对于k=2时第i个主成分的累计方差贡献率时的增长率是否小于1%,如果是则将k值固定为3,否则继续设置k=4,…以此类推;
然后,依据各主成分的方差贡献率进行由大到小排序,从排序结果中选取前k个主成分的方差贡献率对应的特征值,记这些特征值对应的下标所组成的下标集合为index={index1,index2,…,indexk},从新特征集合Y中按下标集合index选取对应下标的列,从而得到降维后所有样本的新特征向量集合,记为其中zd,(d=1,2,…,n)...

【专利技术属性】
技术研发人员:李肯立陈伟杰余思洋肖国庆段明星
申请(专利权)人:湖南大学
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1