一种工控网络入侵检测方法及系统转让专利

申请号 : CN201911111575.X

文献号 : CN110837872A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 柴森春张晨庞中华张百海崔灵果姚分喜

申请人 : 北京理工大学

摘要 :

本发明提供了一种工控网络入侵检测方法及系统,该方法包括:获取当前时刻工控网络中各节点的网络数据,将当前时刻工控网络中各节点的网络数据输入到网络入侵检测模型中,得到当前时刻检测结果,网络入侵检测模型是依据主成分分析算法、BA算法以及ELM分类器算法建立而成;根据当前时刻检测结果对当前时刻工控网络中各节点的网络数据进行标定,作为更新数据;根据更新数据对网络入侵检测模型中的参数进行调整,更新网络入侵检测模型。通过本发明的上述方法以实现对工控网络的在线入侵检测,同时提高了检测的实时性和准确性。

权利要求 :

1.一种工控网络入侵检测方法,其特征在于,所述入侵检测方法包括:获取当前时刻工控网络中各节点的网络数据;

将所述当前时刻工控网络中各节点的网络数据输入到网络入侵检测模型中,得到当前时刻检测结果,其中,所述网络入侵检测模型的输入为所述当前时刻工控网络中各节点的网络数据;所述网络入侵检测模型的输出为检测结果;所述网络入侵检测模型是依据主成分分析算法、BA算法以及ELM分类器算法建立而成;

根据所述当前时刻检测结果对所述当前时刻工控网络中各节点的网络数据进行标定,作为更新数据;

根据所述更新数据对所述网络入侵检测模型中的参数进行调整,更新所述网络入侵检测模型,采用更新后的网络入侵检测模型对下一时刻的网络数据进行检测;

所述网络入侵检测模型的建立方法具体包括:

获取工控网络中各节点的网络数据,作为训练网络数据;

对所述训练网络数据进行编码和标准化,得到标准训练网络数据;

采用主成分分析法PCA对所述标准训练网络数据进行降维,得到降维训练网络数据;

采用BA算法对ELM分类器的参数进行优化,根据所述降维训练网络数据对优化后的ELM分类器进行训练,得到离线BA-ELM分类器,所述离线BA-ELM分类器即为网络入侵检测模型。

2.根据权利要求1所述的工控网络入侵检测方法,其特征在于,所述根据所述当前时刻检测结果对所述当前时刻工控网络中各节点的网络数据进行标定,作为更新数据,具体包括:根据所述检测后网络数据中检测结果的不同,将所述检测后网络数据存入相应的缓存区,以实现数据的标定。

3.根据权利要求1所述的工控网络入侵检测方法,其特征在于,所述对所述训练网络数据进行编码和标准化,得到标准训练网络数据,具体包括:采用one-hot编码方法将所述训练网络数据中的非数值部分转化成数值形式,得到全数值训练网络数据;

采用Z-score标准化方法对所述全数值训练网络数据进行标准化,得到标准训练网络数据。

4.根据权利要求1所述的工控网络入侵检测方法,其特征在于,所述采用BA算法对ELM分类器的参数进行优化,根据所述降维训练网络数据对优化后的ELM分类器进行训练,具体包括:采用所述BA算法对ELM分类器的输入层权值和隐含层阈值进行优化;

根据所述降维训练网络数据对ELM分类器进行训练,得到ELM分类器的输出层阈值。

5.根据权利要求1所述的工控网络入侵检测方法,其特征在于,所述训练网络数据中包括给定的状态标签。

6.一种工控网络入侵检测系统,其特征在于,所述入侵检测系统包括:数据获取模块,用于获取当前时刻工控网络中各节点的网络数据;

入侵检测模块,用于将所述当前时刻工控网络中各节点的网络数据输入到网络入侵检测模型中,得到当前时刻检测结果,其中,所述网络入侵检测模型的输入为所述当前时刻工控网络中各节点的网络数据;所述网络入侵检测模型的输出为检测结果;所述网络入侵检测模型是依据主成分分析算法、BA算法以及ELM分类器算法建立而成;

更新数据获取模块,用于根据所述当前时刻检测结果对所述当前时刻工控网络中各节点的网络数据进行标定,作为更新数据;

网络入侵检测模型更新模块,用于根据所述更新数据对所述网络入侵检测模型中的参数进行调整,更新所述网络入侵检测模型,采用更新后的网络入侵检测模型对下一时刻的网络数据进行检测;

所述网络入侵检测模型的建立方法具体包括:

训练网络数据获取模块,用于获取工控网络中各节点的网络数据,作为训练网络数据;

标准训练网络数据获取模块,用于对所述训练网络数据进行编码和标准化,得到标准训练网络数据;

降维训练网络数据获取模块,用于采用主成分分析法PCA对所述标准训练网络数据进行降维,得到降维训练网络数据;

网络入侵检测模型确定模块,用于采用BA算法对ELM分类器的参数进行优化,根据所述降维训练网络数据对优化后的ELM分类器进行训练,所述离线BA-ELM分类器即为网络入侵检测模型。

7.根据权利要求6所述的工控网络入侵检测系统,其特征在于,所述更新数据获取模块,具体包括:数据标定单元,用于根据所述检测后网络数据中检测结果的不同,将所述检测后网络数据存入相应的缓存区,以实现数据的标定。

8.根据权利要求6所述的工控网络入侵检测方系统,其特征在于,所述标准训练网络数据获取模块,具体包括:全数值训练网络数据获取单元,用于采用one-hot编码方法将所述训练网络数据中的非数值部分转化成数值形式,得到全数值训练网络数据;

标准训练网络数据获取单元,用于采用Z-score标准化方法对所述全数值训练网络数据进行标准化,得到标准训练网络数据。

9.根据权利要求6所述的工控网络入侵检测系统,其特征在于,所述网络入侵检测模型确定模块,具体包括:输入层权值和隐含层阈值优化单元,用于采用所述BA算法对ELM分类器的输入层权值和隐含层阈值进行优化;

输出层阈值确定单元,用于根据所述降维训练网络数据对ELM分类器进行训练,得到ELM分类器的输出层阈值。

10.根据权利要求6所述的工控网络入侵检测系统,其特征在于,所述训练网络数据中包括给定的状态标签。

说明书 :

一种工控网络入侵检测方法及系统

技术领域

[0001] 本发明涉及网络安全入侵检测技术领域,特别是涉及一种工控网络入侵检测方法及系统。

背景技术

[0002] 工业控制系统是应用于工业生产领域的自动控制系统的统称,它的组成庞大复杂,包括由各类硬件控制器组成的硬件控制系统,由上位机等组成的软件控制系统,软硬件之间的通信协议等等。而使工业控制系统各组成部分之间相互连接通信的网络也就是所谓的工控系统网络。随着互联网技术的不断发展,原本相对传统网络而言较为封闭安全的工控网络遭受到更多的安全威胁。由于工业控制系统被广泛应用于大型交通、煤炭、冶金、电力等关系到国计民生的重要领域,因此,对工控网络安全的研究迫在眉睫,维护工控系统网络的安全具有重要的意义。
[0003] 传统的工控网络安全防护手段包括防火墙和入侵检测系统等。防火墙是设置在外网和本地网络之间的防御系统,通过检测和限制流通于防火墙的数据流,达到防止外部入侵、保护工控系统网络安全的目的。这是一种被动的防御方法。现在更多的是采用主动的防御方法,即建立入侵检测系统。入侵检测系统是从网络中即时获取各节点流量信息等网络信息,基于一定方法对信息进行分析和判断,主动对入侵行为做出反应的网络安全防御系统,是一种主动积极的防御方法。
[0004] 对传统网络的入侵检测的研究已经十分广泛,相对于普通的网络入侵检测系统而言,目前的工控网络入侵检测存实时性差、准确率低的问题。因此,亟待一种实时性和准确性较高的工控网络入侵检测方法,以实现对工控网络的在线入侵检测。

发明内容

[0005] 基于此,有必要提供一种工控网络入侵检测方法及系统,以实现对工控网络的在线入侵检测,提高检测的实时性和准确性。
[0006] 为实现上述目的,本发明提供了如下方案:
[0007] 一种工控网络入侵检测方法,所述入侵检测方法包括:
[0008] 获取当前时刻工控网络中各节点的网络数据;
[0009] 将所述当前时刻工控网络中各节点的网络数据输入到网络入侵检测模型中,得到当前时刻检测结果,其中,所述网络入侵检测模型的输入为所述当前时刻工控网络中各节点的网络数据;所述网络入侵检测模型的输出为检测结果;所述网络入侵检测模型是依据主成分分析算法、BA算法以及ELM分类器算法建立而成;
[0010] 根据所述当前时刻检测结果对所述当前时刻工控网络中各节点的网络数据进行标定,作为更新数据;;
[0011] 根据所述更新数据对所述网络入侵检测模型中的参数进行调整,更新所述网络入侵检测模型,采用更新后的网络入侵检测模型对下一时刻的网络数据进行检测;
[0012] 所述网络入侵检测模型的建立方法具体包括:
[0013] 获取工控网络中各节点的网络数据,作为训练网络数据;
[0014] 对所述训练网络数据进行编码和标准化,得到标准训练网络数据;
[0015] 采用主成分分析法PCA对所述标准训练网络数据进行降维,得到降维训练网络数据;
[0016] 采用BA算法对ELM分类器的参数进行优化,根据所述降维训练网络数据对优化后的ELM分类器进行训练,所述离线BA-ELM分类器即为网络入侵检测模型。
[0017] 可选的,所述根据所述当前时刻检测结果对所述当前时刻工控网络中各节点的网络数据进行标定,作为更新数据,具体包括:
[0018] 根据所述检测后网络数据中检测结果的不同,将所述检测后网络数据存入相应的缓存区,以实现数据的标定。
[0019] 可选的,所述对所述训练网络数据进行编码和标准化,得到标准训练网络数据,具体包括:
[0020] 采用one-hot编码方法将所述训练网络数据中的非数值部分转化成数值形式,得到全数值训练网络数据;
[0021] 采用Z-score标准化方法对所述全数值训练网络数据进行标准化,得到标准训练网络数据。
[0022] 可选的,所述采用BA算法对ELM分类器的参数进行优化,根据所述降维训练网络数据对优化后的ELM分类器进行训练,具体包括:
[0023] 采用所述BA算法对ELM分类器的输入层权值和隐含层阈值进行优化;
[0024] 根据所述降维训练网络数据对ELM分类器进行训练,得到ELM分类器的输出层阈值。
[0025] 可选的,所述训练网络数据中包括给定的状态标签。
[0026] 一种工控网络入侵检测系统,所述入侵检测系统包括:
[0027] 数据获取模块,用于获取当前时刻工控网络中各节点的网络数据;
[0028] 入侵检测模块,用于将所述当前时刻工控网络中各节点的网络数据输入到网络入侵检测模型中,得到当前时刻检测结果,其中,所述网络入侵检测模型的输入为所述当前时刻工控网络中各节点的网络数据;所述网络入侵检测模型的输出为检测结果;所述网络入侵检测模型是依据主成分分析算法、BA算法以及ELM分类器算法建立而成;
[0029] 更新数据获取模块,用于根据所述当前时刻检测结果对所述当前时刻工控网络中各节点的网络数据进行标定,作为更新数据;
[0030] 网络入侵检测模型更新模块,用于根据所述更新数据对所述网络入侵检测模型中的参数进行调整,更新所述网络入侵检测模型,采用更新后的网络入侵检测模型对下一时刻的网络数据进行检测;
[0031] 所述网络入侵检测模型的建立方法具体包括:
[0032] 训练网络数据获取模块,用于获取工控网络中各节点的网络数据,作为训练网络数据;
[0033] 标准训练网络数据获取模块,用于对所述训练网络数据进行编码和标准化,得到标准训练网络数据;
[0034] 降维训练网络数据获取模块,用于采用主成分分析法PCA对所述标准训练网络数据进行降维,得到降维训练网络数据;
[0035] 网络入侵检测模型确定模块,用于采用BA算法对ELM分类器的参数进行优化,根据所述降维训练网络数据对优化后的ELM分类器进行训练,所述离线BA-ELM分类器即为网络入侵检测模型。
[0036] 可选的,所述更新数据获取模块,具体包括:
[0037] 数据标定单元,用于根据所述检测后网络数据中检测结果的不同,将所述检测后网络数据存入相应的缓存区,以实现数据的标定。
[0038] 可选的,所述标准训练网络数据获取模块,具体包括:
[0039] 全数值训练网络数据获取单元,用于采用one-hot编码方法将所述训练网络数据中的非数值部分转化成数值形式,得到全数值训练网络数据;
[0040] 标准训练网络数据获取单元,用于采用Z-score标准化方法对所述全数值训练网络数据进行标准化,得到标准训练网络数据。
[0041] 可选的,所述网络入侵检测模型确定模块,具体包括:
[0042] 输入层权值和隐含层阈值优化单元,用于采用所述BA算法对ELM分类器的输入层权值和隐含层阈值进行优化;
[0043] 输出层阈值确定单元,用于根据所述降维训练网络数据对ELM分类器进行训练,得到ELM分类器的输出层阈值。
[0044] 可选的,所述训练网络数据中包括给定的状态标签。
[0045] 根据本发明提供的具体实施例,本发明公开了以下技术效果:
[0046] 本发明中通过PCA对网络数据的降维处理可用于解决工控网络节点数据的高维特性和数据强相关特性,BA算法的优化可以提高ELM分类器的性能,使其具有更高的准确度和精度,网络入侵检测模型利用在线数据对其进行不断更新训练,提升了网络入侵检测模型的泛化性能,通过本发明的上述方法以实现对工控网络的在线入侵检测,同时提高了检测的实时性和准确性。

附图说明

[0047] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0048] 图1为本发明实施例一种工控网络入侵检测方法的流程图;
[0049] 图2为本发明实施例网络入侵检测模型建立方法的流程示意图;
[0050] 图3为本发明实施例缓存器结构示意图;
[0051] 图4为本发明实施例蝙蝠算法优化流程示意图;
[0052] 图5为本发明实施例一种工控网络入侵检测系统的结构示意图。

具体实施方式

[0053] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0054] 本发明提供一种工控网络入侵检测方法及系统,以实现对工控网络的在线入侵检测,提高检测的实时性和准确性。
[0055] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0056] 由于工业控制系统网络所独有的一些特征,比如小样本、即时性、高维数据等特征,传统的入侵检测系统无法直接移植到工控网络上。为了解决这些问题,本发明提出了一种工控网络入侵检测方法及系统,即基于PCA(Principal Component Analysis,主成分分析)技术和改进的OS-BA-ELM(Online Sequential-BatAlgorithm-Extreme Learning Machine,在线顺序蝙蝠算法优化极限学习机)算法的入侵检测方法,改进的OS-BA-ELM即为对网络入侵检测模型的更新,工控网络节点信息经采集预处理后得到高维数据,利用PCA技术对数据降维,得到可用的低维数据然后送入ELM分类器。具体来说,ELM作为最终的分类器实现对各种入侵数据的分类和检测,它同时也是一种简单有效的分类方法。而普通的ELM其输入层的权值和阈值等参数都是随机给定,具有较大的不确定性,于是使用BA算法对ELM的随机参数进行优化和确定,提高ELM的性能,进而使用训练网络数据对其进行训练得到网络入侵检测模型,再通过在线数据对网络入侵检测模型中的ELM进行更新,实现不断学习,网络入侵检测模型的不断更新,对入侵的在线检测。
[0057] 图1为本发明实施例一种工控网络入侵检测方法的流程图。如图1所示,一种工控网络入侵检测方法,包括以下步骤:
[0058] S1:获取当前时刻工控网络中各节点的网络数据。
[0059] S2:将所述当前时刻工控网络中各节点的网络数据输入到网络入侵检测模型中,得到当前时刻检测结果,其中,所述网络入侵检测模型的输入为所述当前时刻工控网络中各节点的网络数据;所述网络入侵检测模型的输出为检测结果;所述网络入侵检测模型是依据主成分分析算法、BA算法以及ELM分类器算法建立而成。
[0060] 具体的,发现入侵行为后会发出警告并报告入侵类型。
[0061] S3:根据所述当前时刻检测结果对所述当前时刻工控网络中各节点的网络数据进行标定,作为更新数据。
[0062] S3具体包括:根据所述检测后网络数据中检测结果的不同,将所述检测后网络数据存入相应的缓存区,以实现数据的标定。
[0063] 具体的,图3为本发明实施例缓存器结构示意图,如图3所示,缓存器中有多个缓存区,每个缓存区用于存放不同检测结果的网络数据,每一类状态网络数据的存储量有一个按比例的限制,本发明实施例暂定比例为等比存储,每一类状态存储15条数据,加入标签的数据送入后,按标签分别存储,直到达到最大值,将全部数据作为更新数据包送入网络入侵检测模型中,按S4更新输出层权值,实现网络入侵检测模型在线更新。缓存器清空,继续下一轮新数据的分类汇总,缓存器可以有效解决小样本不均衡问题。
[0064] 对工控网络数据进行检测,发现入侵数据时则发出警报,并给数据加上入侵类型标签,发现正常数据时则仅仅给数据加上正常状态标签,入侵检测系统持续工作,而数据被加上标签后,送往缓存器中相应的缓存区进行存储。
[0065] S4:根据所述更新数据对所述网络入侵检测模型中的参数进行调整,更新所述网络入侵检测模型,采用更新后的网络入侵检测模型对下一时刻的网络数据进行检测。
[0066] 具体的,利用在线数据更新网络入侵检测模型的输出层权值,实现ELM分类器的更新过程,设缓存器中存储了N1条数据,即新样本总数量为N1,则所求新的输出层权值向量集合β1满足下式:
[0067]
[0068] 其中,H1表示网络入侵检测模型中更新后隐含层的输出矩阵,t1表示更新数据对应的标签取值向量集合,H0表示网络入侵检测模型中更新前隐含层的输出矩阵,t0表示训练数据对应的标签取值向量集合。
[0069] 根据上式可以推算出,缓存器收集的固定容量的新数据包输入后,更新公式如下所示,
[0070]
[0071] β1表示更新后的输出层权值向量集合,H1T表示H1的转置,β0表示更新前的输出层权值向量集合, K0=H0TH0。
[0072] 图2为本发明实施例网络入侵检测模型建立方法的流程示意图,如图2所示,本发明实施例提供的网络入侵检测模型建立方法具体包括以下步骤:
[0073] 步骤201:获取工控网络中各节点的网络数据,作为训练网络数据。
[0074] 所述训练网络数据中包括给定的状态标签。
[0075] 具体的,利用Wireshark等抓包工具,对工控网络各个节点的网络数据进行抓包采集,汇总成一条包含多个属性的网络数据,同时人为给定网络状态标签,比如正常状态/某入侵状态等,作为数据的最后一位。
[0076] 本发明实施例中通过wireshark抓取的数据包有m条数据报文,每条数据报文由各个网络节点处抓取到的数据组合形成,因此,每条报文有n项取值,每项取值对应网络的一种属性。
[0077] m条数据报文可以写成[α1 α2 α3 … αi … αm],每一个αi对应一条数据报文,有n个属性,可以写成[a1 a2 … an]。
[0078] 以KDD99数据集为例,每条数据报文有41个属性,即n=41,共包括TCP连接基本特征、TCP连接的内容特征、基于时间的网络流量统计特征和基于主机的网络流量统计特征四大类共41种属性。
[0079] 步骤202:对所述训练网络数据进行编码和标准化,得到标准训练网络数据。
[0080] 步骤202具体包括:
[0081] 步骤2021:采用one-hot编码方法将所述训练网络数据中的非数值部分转化成数值形式,得到全数值训练网络数据。
[0082] 具体的,数据集的每条报文对应的各个属性取值,有数值型的也有非数值型的,这些非数值型的属性需要编码处理。
[0083] 以KDD99数据集为例,每条报文的第二个属性“协议类型”、第三个属性“目标主机的网络服务类型”和第四个属性“连接错误的状态”都是非数值型,需要进行编码处理。
[0084] 步骤2022:采用Z-score标准化方法对所述全数值训练网络数据进行标准化,得到标准训练网络数据。
[0085] 具体的,Z-score标准化方法具体公式如下:
[0086]
[0087] 即
[0088] 其中αi为采集到的m条报文中的第i条,u为对m条报文对应的数据所计算出的均值,σ为对m条报文对应的数据所计算出的标准差,根据公式计算得到的结果即为对αi数值化和标准化后的报文αiN,αiN可以写成[b1 b2 … bn]。
[0089] 标准化后的数据集为
[0090] 步骤203:采用主成分分析法PCA对所述标准训练网络数据进行降维,得到降维训练网络数据。
[0091] 具体的,该处理过程将高维复杂的网络数据降低维度,提取工控网络的特征,同时也能除去无关信息。
[0092] 3-1-1:求取对应样本的协方差矩阵Cov,本质上就是求取从当前维度空间映射到目标低维空间的映射关系,计算方法如下式所示:
[0093]
[0094] 式中x.j=[x1j x2j … xnj]T,1≤j≤m;
[0095] 此处的xij表示的标准化后的数据集中即第i条报文αiN的第j项属性bj对应的数值。协方差矩阵是根据上一步所得数据集,计算出的中间参量,只具有计算意义。
[0096] 3-1-2:在得到协方差矩阵Cov之后,利用式|Cov-λ·In|=0计算对应协方差矩阵的特征值[λ1 λ2 λ3 … λn],并将特征值按照从大到小的顺序排列,计算得到对应的特征向量矩阵[η1 η2 η3 … ηn]。
[0097] 3-1-3:确定降维后的维数k,该取值通过下边公式确定:
[0098]
[0099] 根据主成分贡献率Δ计算k的大小,本发明实施例中Δ取值为0.9,即当Δ≥0.9时,对应的k取值即为工控网络数据降维后的维数。
[0100] 3-1-4:选取3-1-2中得到的特征向量组的前k个特征向量,并将其组合成一个变换矩阵P,利用公式Tk×m=Pk×n*Xn×m,将原始数据集投影到低维空间上,完成数据的PCA降维处理。其中,Tk×m是降维后的数据集,Pk×n为变换矩阵,Xn×m为原始数据集。
[0101] 步骤204:采用BA算法对ELM分类器的参数进行优化,根据所述降维训练网络数据对优化后的ELM分类器进行训练,所述离线BA-ELM分类器即为网络入侵检测模型。
[0102] 图4为本发明实施例蝙蝠算法优化流程示意图,如图4所示,步骤204具体包括:
[0103] 步骤204-1:采用所述BA算法对ELM分类器的输入层权值和隐含层阈值进行优化。
[0104] 由于ELM分类器的输入层权值和隐含层阈值随即给定,会给ELM分类器的性能造成影响,所以采用BA算法,对输入层权值和隐含层阈值进行优化,从而实现ELM参数的优化。
[0105] 根据步骤203可以得到经过PCA降维处理之后的网络数据集Tk×m,其包含m条数据和k条属性,以及对应每一条数据的网络状态类型标签t1×m,k是输入层的维度,输出层维度为1,设ELM分类器的隐含层节点数为L,激活函数g(x)选择为sigmoid函数:
[0106]
[0107] 可以根据此对BA算法进行初始化。
[0108] 4-1-1:初始化BA(蝙蝠)算法参数,包括最大迭代次数NI=350、初始种群数量NP=200、最大脉冲音量A0=1.5、最大脉冲率R0=0.0001、音量衰减系数α=0.85、搜索频率增强系数γ=0.95和搜索脉冲频率范围[fmin,fmax]=[0,2]等。
[0109] 4-1-2:随机初始化蝙蝠的位置Pi,其由输入层权值和隐含层阈值组成,是蝙蝠算法的优化目标。设ELM分类器的隐含层节点数为L=12,激活函数g(x)选择为sigmoid函数,然后根据适应度fitness的取值来寻找当前位置的最优解,适应度公式如下式:
[0110]
[0111] 其中,ω为输入层的权值,b为隐含层的阈值,β为输出权重,t为数据对应的标签取值向量集合。
[0112] 4-1-3:按蝙蝠算法的固定方法,更新蝙蝠种群的搜索脉冲频率f、位置、速度等参数,干扰所求取最优解,计算适应度,并利用干扰更新位置或蝙蝠种群的参数,最终在达到结束条件后输出最优解,得到所需的输入层权值和隐含层阈值,具体的,若新位置对应的适应度优于最优解适应度,则更新位置;若劣于最优解适应度,则继续更新蝙蝠种群的参数,直到满足迭代次数等终止条件,并将此事对应的最优解输出,将该输入层权值和隐含层阈值作为ELM最优参数。得到ELM的输入层权值、隐含层阈值后,就可以使用网络数据集训练优化参数的ELM模型。
[0113] 步骤204-2:根据所述降维训练网络数据对ELM分类器进行训练,得到ELM分类器的输出层阈值。
[0114] 根据上述4-1-3确定了输入层权值和隐含层阈值,又由于隐含层节点数设置为12,所以只需要利用ELM的算法原理,计算出输出层权值即可完成训练。
[0115] 输入样本为经过PCA降维处理的网络数据集Tk×m,其包含m条数据和k条属性,以及对应每一条数据的网络状态类型标签t1×m。因此该单隐层网络的输出可以表示为:
[0116]
[0117] 其中,g(x)为激活函数,为sigmoid函数,参数o为ELM的输出,是与t1×m维度相同的向量,l表示当前样本为m个网络数据样本中的第l个。
[0118] 根据ELM的学习目标,要使得分类器输出的误差达到最小值,即使得公公式成立。
[0119] 存在输出层权值β,输入层权值ω和隐含层阈值b,使得下式成立:
[0120]
[0121] 即可以简化为以下公式:
[0122] Hβ=t
[0123]
[0124] 可以推导出ELM训练之后的输出层权值矩阵计算公式:
[0125]
[0126] 其中, 表示隐含层输出矩阵的广义逆矩阵,t为初始数据集对应的标签取值向量集合,β为输出层权值矩阵。
[0127] 通过上述内容即可确定离线的BA-ELM分类器,即网络入侵检测模型。
[0128] 本发明实施例中利用训练好的网络入侵检测模型对当前时刻工控网络中各节点的网络数据进行入侵检测,然后对检测后的数据进行标签的标定,再使用同样的方法和参数进行数据的编码和处理,得到降维后的在线数据,对网络入侵检测模型进行更新,最后利用更新后的网络入侵检测模型对再次获取的网络数据进行检测,一直更新循环检测。
[0129] 本发明实施例中为了提高小样本的检测准确率,从而提高入侵检测准确率,对收集到的在线数据按比例存储和丢弃。缓存器中,各类型的网络数据都只保存给定数量条,超出该数量的数据则予以抛弃。当缓存器存储数据达到最大值时,将该数据包整体送至网络入侵检测模型中,同时将缓存器清空。
[0130] 本发明还提供了一种工控网络入侵检测系统,图5为本发明实施例一种工控网络入侵检测系统的结构示意图,如图5所示,所述入侵检测系统包括:
[0131] 数据获取模块501,用于获取当前时刻工控网络中各节点的网络数据。
[0132] 入侵检测模块502,用于将所述当前时刻工控网络中各节点的网络数据输入到网络入侵检测模型中,得到当前时刻检测结果,其中,所述网络入侵检测模型的输入为所述当前时刻工控网络中各节点的网络数据;所述网络入侵检测模型的输出为检测结果;所述网络入侵检测模型是依据主成分分析算法、BA算法以及ELM分类器算法建立而成。
[0133] 更新数据获取模块503,用于根据所述当前时刻检测结果对所述当前时刻工控网络中各节点的网络数据进行标定,作为更新数据。
[0134] 所述更新数据获取模块503,具体包括:
[0135] 数据标定单元,用于根据所述检测后网络数据中检测结果的不同,将所述检测后网络数据存入相应的缓存区,以实现数据的标定。
[0136] 网络入侵检测模型更新模块504,用于根据所述更新数据对所述网络入侵检测模型中的参数进行调整,更新所述网络入侵检测模型,采用更新后的网络入侵检测模型对下一时刻的网络数据进行检测。
[0137] 所述网络入侵检测模型的建立方法具体包括:
[0138] 训练网络数据获取模块505,用于获取工控网络中各节点的网络数据,作为训练网络数据。所述训练网络数据中包括给定的状态标签。
[0139] 标准训练网络数据获取模块506,用于对所述训练网络数据进行编码和标准化,得到标准训练网络数据。
[0140] 所述标准训练网络数据获取模块506,具体包括:
[0141] 全数值训练网络数据获取单元,用于采用one-hot编码方法将所述训练网络数据中的非数值部分转化成数值形式,得到全数值训练网络数据。
[0142] 标准训练网络数据获取单元,用于采用Z-score标准化方法对所述全数值训练网络数据进行标准化,得到标准训练网络数据。
[0143] 降维训练网络数据获取模块507,用于采用主成分分析法PCA对所述标准训练网络数据进行降维,得到降维训练网络数据。
[0144] 网络入侵检测模型确定模块508,用于采用BA算法对ELM分类器的参数进行优化,根据所述降维训练网络数据对优化后的ELM分类器进行训练,所述离线BA-ELM分类器即为网络入侵检测模型。
[0145] 所述网络入侵检测模型确定模块508,具体包括:
[0146] 输入层权值和隐含层阈值优化单元,用于采用所述BA算法对ELM分类器的输入层权值和隐含层阈值进行优化。
[0147] 输出层阈值确定单元,用于根据所述降维训练网络数据对ELM分类器进行训练,得到ELM分类器的输出层阈值。
[0148] 与现有技术相比,本发明的有益效果为:
[0149] 1、通过PCA对网络数据的降维处理可用于解决工控网络节点数据的高维特性和数据强相关特性,BA算法的优化可以提高ELM分类器的性能,使其具有更高的准确度和精度,网络入侵检测模型利用在线数据对其进行不断更新训练,提升了网络入侵检测模型的泛化性能。综上,本发明实施例可以为解决工控网络数据高维度强相关特性问题、提高入侵检测在线检测的泛化能力以及检测的精度等方面提供有效的解决方案。
[0150] 2、本发明实施例在对网络入侵检测模型进行更新的过程中,使用一种缓存器来制作更新数据包,该缓存器对每类数据可以设置保存容量上限,多余的数据直接抛弃,存满之后作为更新数据包,送入网络入侵检测模型进行参数更新,该设计可以有效解决工控网络实际运行中,入侵样本远少于正常状态样本的小样本不均衡问题,可以有效提升对入侵状态检测的灵敏度和准确性。
[0151] 对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0152] 本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。