CN110868414B - 一种基于多投票技术的工控网络入侵检测方法及系统 - Google Patents

一种基于多投票技术的工控网络入侵检测方法及系统 Download PDF

Info

Publication number
CN110868414B
CN110868414B CN201911111547.8A CN201911111547A CN110868414B CN 110868414 B CN110868414 B CN 110868414B CN 201911111547 A CN201911111547 A CN 201911111547A CN 110868414 B CN110868414 B CN 110868414B
Authority
CN
China
Prior art keywords
data
network
intrusion detection
network data
training
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911111547.8A
Other languages
English (en)
Other versions
CN110868414A (zh
Inventor
柴森春
张晨
庞中华
张百海
崔灵果
姚分喜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN201911111547.8A priority Critical patent/CN110868414B/zh
Publication of CN110868414A publication Critical patent/CN110868414A/zh
Application granted granted Critical
Publication of CN110868414B publication Critical patent/CN110868414B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2135Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种基于多投票技术的工控网络入侵检测方法及系统,该方法包括:获取当前时刻工控网络中各节点的网络数据,将获取的数据输入到网络入侵检测模型中,得第一检测结果;根据第一检测结果将第一网络数据存入相应的缓存区,得标定后第一网络数据;判断各缓存区的数据量是否达到第一设定值;若是,将各缓存区中的数据作为更新数据,根据更新数据对网络入侵检测模型中的参数进行调整,更新网络入侵检测模型,采用更新后的检测模型对下一时刻的网络数据进行检测,网络入侵检测模型中有R个离线BA‑ELM分类器,将检测结果中出现次数最多的作为最终检测结果,通过本发明的上述方法以实现对工控网络的在线入侵检测,同时提高了检测的实时性和准确性。

Description

一种基于多投票技术的工控网络入侵检测方法及系统
技术领域
本发明涉及网络安全入侵检测技术领域,特别是涉及一种基于多投票技术的工控网络入侵检测方法及系统。
背景技术
工业控制系统是应用于工业生产领域的自动控制系统的统称,它的组成庞大复杂,包括由各类硬件控制器组成的硬件控制系统,由上位机等组成的软件控制系统,软硬件之间的通信协议等等。而使工业控制系统各组成部分之间相互连接通信的网络也就是所谓的工控系统网络。随着互联网技术的不断发展,原本相对传统网络而言较为封闭安全的工控网络遭受到更多的安全威胁。由于工业控制系统被广泛应用于大型交通、煤炭、冶金、电力等关系到国计民生的重要领域,因此,对工控网络安全的研究迫在眉睫,维护工控系统网络的安全具有重要的意义。
传统的工控网络安全防护手段包括防火墙和入侵检测系统等。防火墙是设置在外网和本地网络之间的防御系统,通过检测和限制流通于防火墙的数据流,达到防止外部入侵、保护工控系统网络安全的目的。这是一种被动的防御方法。现在更多的是采用主动的防御方法,即建立入侵检测系统。入侵检测系统采用主动检测、主动防御,从网络节点中即时地获取信息,即时诊断网络状况,从而实现实时快速的入侵检测,入侵检测分为异构检测和误用检测两大类。异构检测是建立正常状态模型,通过与当前网络状态对比来判断入侵;误用检测是建立异常状态模型,将当前网络状态与已知入侵类型作匹配。
对传统网络的入侵检测的研究已经十分广泛,相对于普通的网络入侵检测系统而言,目前的工控网络入侵检测存实时性差、准确率低的问题。因此,亟待一种实时性和准确性较高的工控网络入侵检测方法,以实现对工控网络的在线入侵检测。
发明内容
基于此,有必要提供一种基于多投票技术的工控网络入侵检测方法及系统,以实现对工控网络的在线入侵检测,提高检测的实时性和准确性。
为实现上述目的,本发明提供了如下方案:
一种基于多投票技术的工控网络入侵检测方法,所述入侵检测方法包括:
获取当前时刻工控网络中各节点的网络数据,记为第一网络数据;
将所述第一网络数据输入到网络入侵检测模型中,得到第一检测结果;
根据所述第一检测结果将所述第一网络数据存入相应的缓存区,得到标定后第一网络数据,所述缓存区为多个;
判断各所述缓存区的数据量是否达到第一设定值;
若否,则跳转到步骤“获取当前时刻工控网络中各节点的网络数据,记为第一网络数据”,直到各所述缓存区的数据量达到第一设定值;
若是,将各所述缓存区中的数据作为更新数据,根据所述更新数据对所述网络入侵检测模型中的参数进行调整,更新所述网络入侵检测模型,采用更新后的网络入侵检测模型对下一时刻的网络数据进行检测;
所述网络入侵检测模型的建立方法具体包括:
获取工控网络中各节点的网络数据,作为训练网络数据;
对所述训练网络数据进行编码和标准化,得到标准训练网络数据;
采用主成分分析法PCA对所述标准训练网络数据进行降维,得到降维训练网络数据;
将所述降维训练网络数据等分成R份,每份数据对应一个ELM分类器,所述R为奇数;
采用BA算法对各所述ELM分类器的参数进行优化,根据所述每份数据对优化后的ELM分类器进行训练,得到R个离线BA-ELM分类器,所述R个离线BA-ELM分类器为强分类器;选取强分类器检测结果中出现次数最多的作为最终检测结果;所述强分类器即为网络入侵检测模型。
将各所述缓存区的数据交叉打乱,打乱后的数据为所述更新数据。
所述对所述训练网络数据进行编码和标准化,得到标准训练网络数据,具体包括:
采用one-hot编码方法将所述训练网络数据中的非数值部分转化成数值形式,得到全数值训练网络数据;
采用Z-score标准化方法对所述全数值训练网络数据进行标准化,得到标准训练网络数据。
所述采用BA算法对各所述ELM分类器的参数进行优化,根据所述每份数据对优化后的ELM分类器进行训练,得到R个离线BA-ELM分类器,具体包括:
采用所述BA算法对各所述ELM分类器的输入层权值和隐含层阈值进行优化;
根据所述每份数据对优化后的ELM分类器进行训练,得到R个离线BA-ELM分类器。
当所述第一检测结果为异常状态时,发送报警指令。
一种基于多投票技术的工控网络入侵检测系统,所述入侵检测系统包括:
第一网络数据获取模块,用于获取当前时刻工控网络中各节点的网络数据,记为第一网络数据;
第一检测结果确定模块,用于将所述第一网络数据输入到网络入侵检测模型中,得到第一检测结果;
标定后第一网络数据确定模块,用于根据所述第一检测结果将所述第一网络数据存入相应的缓存区,得到标定后第一网络数据,所述缓存区为多个;
判断模块,用于判断各所述缓存区的数据量是否达到第一设定值;
跳转模块,用于若否,则跳转到步骤“获取当前时刻工控网络中各节点的网络数据,记为第一网络数据”,直到各所述缓存区的数据量达到第一设定值;
网络入侵检测模型更新模块,用于若是,将各所述缓存区中的数据作为更新数据,根据所述更新数据对所述网络入侵检测模型中的参数进行调整,更新所述网络入侵检测模型,采用更新后的网络入侵检测模型对下一时刻的网络数据进行检测;
所述网络入侵检测模型的建立方法具体包括:
训练网络数据获取模块,用于获取工控网络中各节点的网络数据,作为训练网络数据;
标准训练网络数据获取模块,用于对所述训练网络数据进行编码和标准化,得到标准训练网络数据;
降维训练网络数据获取模块,用于采用主成分分析法PCA对所述标准训练网络数据进行降维,得到降维训练网络数据;
数据等分模块,用于将所述降维训练网络数据等分成R份,每份数据对应一个ELM分类器,所述R为奇数;
强分类器确定模块,用于采用BA算法对各所述ELM分类器的参数进行优化,根据所述每份数据对优化后的ELM分类器进行训练,得到R个离线BA-ELM分类器,所述R个离线BA-ELM分类器为强分类器;选取强分类器检测结果中出现次数最多的作为最终检测结果;所述强分类器即为网络入侵检测模型。
将各所述缓存区的数据交叉打乱,打乱后的数据为所述更新数据。
所述标准训练网络数据获取模块,具体包括:
全数值训练网络数据确定单元,用于采用one-hot编码方法将所述训练网络数据中的非数值部分转化成数值形式,得到全数值训练网络数据;
标准训练网络数据确定单元,用于采用Z-score标准化方法对所述全数值训练网络数据进行标准化,得到标准训练网络数据。
R个离线BA-ELM分类器获取过程具体包括:
权值优化单元,用于采用所述BA算法对各所述ELM分类器的输入层权值和隐含层阈值进行优化;
R个离线BA-ELM分类器确定单元,用于根据所述每份数据对优化后的ELM分类器进行训练,得到R个离线BA-ELM分类器。
当所述第一检测结果为异常状态时,发送报警指令。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明中通过PCA对网络数据的降维处理可用于解决工控网络节点数据的高维特性和数据强相关特性,BA算法的优化可以提高ELM分类器的性能,使其具有更高的准确度和精度,网络入侵检测模型利用在线数据对其进行不断更新训练,提升了网络入侵检测模型的泛化性能,网络入侵检测模型中有R个离线BA-ELM分类器,将检测结果中出现次数最多的作为最终检测结果,进一步提高检测的准确度和精度,通过本发明的上述方法以实现对工控网络的在线入侵检测,同时提高了检测的实时性和准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一种基于多投票技术的工控网络入侵检测方法的流程图;
图2为本发明实施例网络入侵检测模型建立方法的流程示意图;
图3为本发明实施例缓存器结构示意图;
图4为本发明实施例基于多投票技术的工控网络入侵检测系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种基于多投票技术的工控网络入侵检测方法及系统,以实现对工控网络的在线入侵检测,提高检测的实时性和准确性。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明实施例一种基于多投票技术的工控网络入侵检测方法的流程图,如图1所示,一种基于多投票技术的工控网络入侵检测方法,包括以下步骤:
S1:获取当前时刻工控网络中各节点的网络数据,记为第一网络数据。
S2:将所述第一网络数据输入到网络入侵检测模型中,得到第一检测结果。
S3:根据所述第一检测结果将所述第一网络数据存入相应的缓存区,得到标定后第一网络数据,所述缓存区为多个。
S4:判断各所述缓存区的数据量是否达到第一设定值。
若否,则跳转到步骤“获取当前时刻工控网络中各节点的网络数据,记为第一网络数据”,直到各所述缓存区的数据量达到第一设定值。
S5:若是,将各所述缓存区中的数据作为更新数据,根据所述更新数据对所述网络入侵检测模型中的参数进行调整,更新所述网络入侵检测模型,采用更新后的网络入侵检测模型对下一时刻的网络数据进行检测。
图2为本发明实施例网络入侵检测模型建立方法的流程示意图,如图2所示,所述网络入侵检测模型的建立方法具体包括:
201:获取工控网络中各节点的网络数据,作为训练网络数据;
202:对所述训练网络数据进行编码和标准化,得到标准训练网络数据;
203:采用主成分分析法PCA对所述标准训练网络数据进行降维,得到降维训练网络数据;
204:将所述降维训练网络数据等分成R份,每份数据对应一个ELM分类器,所述R为奇数;
205:采用BA算法对各所述ELM分类器的参数进行优化,根据所述每份数据对优化后的ELM分类器进行训练,得到R个离线BA-ELM分类器,所述R个离线BA-ELM分类器为强分类器;选取强分类器检测结果中出现次数最多的作为最终检测结果;所述强分类器即为网络入侵检测模型。
下面对各步骤进行详细论述:
具体的,本发明中利用Wireshark抓包工具在网络中不同节点抓取流量包,并从中提取出一定数量的网络数据报文,同时人为给定网络状态标签,比如正常状态/某入侵状态等,作为数据的最后一位。
假设有m条数据报文[α1 α2 α3 … αi … αm],每条数据报文αi由各个网络节点处抓取到的数据组合形成,因此,每条报文有n项取值,每项取值对应网络的一种属性,可以写成[a1 a2 … an]。
以KDD99数据集为例,每条数据报文有41个属性,即n=41,共包括TCP连接基本特征、TCP连接的内容特征、基于时间的网络流量统计特征和基于主机的网络流量统计特征四大类共41种属性。
步骤202:对所述训练网络数据进行编码和标准化,得到标准训练网络数据。
步骤202具体包括:
1-1)、采用one-hot编码方法将所述训练网络数据中的非数值部分转化成数值形式,得到全数值训练网络数据。
具体的,数据集的每条报文对应的各个属性取值,有数值型的也有非数值型的,这些非数值型的属性需要编码处理。
以KDD99数据集为例,每条报文的第二个属性“协议类型”、第三个属性“目标主机的网络服务类型”和第四个属性“连接错误的状态”都是非数值型,需要进行编码处理。
1-2)、采用Z-score标准化方法对所述全数值训练网络数据进行标准化,得到标准训练网络数据。
具体的,Z-score标准化方法具体公式如下:
Figure BDA0002272857880000071
Figure BDA0002272857880000072
其中αi为采集到的m条报文中的第i条,u为对m条报文对应的数据所计算出的均值,σ为对m条报文对应的数据所计算出的标准差,根据公式计算得到的结果即为对αi数值化和标准化后的报文αi N,αi N可以写成[b1 b2… bn]。
标准化后的数据集为
Figure BDA0002272857880000073
步骤203:采用主成分分析法PCA对所述标准训练网络数据进行降维,得到降维训练网络数据。
具体的,该处理过程将高维复杂的网络数据降低维度,提取工控网络的特征,同时也能除去无关信息。我们将k选定为15,则PCA后该数据集的维度就降为15,从而减少数据处理的复杂程度。
2-1)、求取对应样本的协方差矩阵Cov,本质上就是求取从当前维度空间映射到目标低维空间的映射关系,计算方法如下式所示:
Figure BDA0002272857880000081
式中x·j=[x1j x2j … xnj]T,1≤j≤m;
此处的xij表示的标准化后的数据集中即第i条报文αi N的第j项属性bj对应的数值。协方差矩阵是根据上一步所得数据集,计算出的中间参量,只具有计算意义。
2-2)、在得到协方差矩阵Cov之后,利用式|Cov-λ·In|=0计算对应协方差矩阵的特征值[λ1 λ2 λ3 … λn],并将特征值按照从大到小的顺序排列,计算得到对应的特征向量矩阵[η1 η2 η3 … ηn]。
2-3)、确定降维后的维数k,该取值通过下边公式确定:
Figure BDA0002272857880000082
根据主成分贡献率Δ计算k的大小,本发明实施例中Δ取值为0.9,即当Δ≥0.9时,对应的k取值即为工控网络数据降维后的维数。
2-4)、选取2-2)中得到的特征向量组的前k个特征向量,并将其组合成一个变换矩阵P,利用公式Tk×m=Pk×n*Xn×m,将原始数据集投影到低维空间上,完成数据的PCA降维处理。其中,Tk×m是降维后的数据集,Pk×n为变换矩阵,Xn×m为原始数据集。
步骤204:将所述降维训练网络数据等分成R份,每份数据对应一个ELM分类器,所述R为奇数;
将数据集随即等分为R份,此处可以选R值为9,因此需要训练相应的9各ELM分类器。
步骤205:采用BA算法对各所述ELM分类器的参数进行优化,根据所述每份数据对优化后的ELM分类器进行训练,得到R个离线BA-ELM分类器,所述R个离线BA-ELM分类器为强分类器;选取强分类器检测结果中出现次数最多的作为最终检测结果;所述强分类器即为网络入侵检测模型。
采用所述BA算法对ELM分类器的输入层权值和隐含层阈值进行优化。
由于ELM分类器的输入层权值和隐含层阈值随即给定,会给ELM分类器的性能造成影响,所以采用BA算法,对输入层权值和隐含层阈值进行优化,从而实现ELM参数的优化。
根据步骤203可以得到经过PCA降维处理之后的网络数据集Tk×m,其包含m条数据和k条属性,以及对应每一条数据的网络状态类型标签t1×m,k是输入层的维度,输出层维度为1,设ELM分类器的隐含层节点数为L,激活函数g(x)选择为sigmoid函数:
Figure BDA0002272857880000091
可以根据此对BA算法进行初始化。
3-1)、初始化BA(蝙蝠)算法参数,包括最大迭代次数NI=400、初始种群数量NP=250、最大脉冲音量A0=1.5、最大脉冲率R0=0.0001、音量衰减系数α=0.85、搜索频率增强系数γ=0.95和搜索脉冲频率范围[fmin,fmax]=[0,2]等。
3-2)、随机初始化蝙蝠的位置Pi,其由输入层权值和隐含层阈值组成,是蝙蝠算法的优化目标。设ELM分类器的隐含层节点数为L=12,激活函数g(x)选择为sigmoid函数,然后根据适应度fitness的取值来寻找当前位置的最优解,适应度公式如下式:
Figure BDA0002272857880000092
其中,ω为输入层的权值,b为隐含层的阈值,β为输出权重,t为数据对应的标签取值向量集合。
3-3)、按蝙蝠算法的固定方法,更新蝙蝠种群的搜索脉冲频率f、位置、速度等参数,干扰所求取最优解,计算适应度,并利用干扰更新位置或蝙蝠种群的参数,最终在达到结束条件后输出最优解,得到所需的输入层权值和隐含层阈值,具体的,若新位置对应的适应度优于最优解适应度,则更新位置;若劣于最优解适应度,则继续更新蝙蝠种群的参数,直到满足迭代次数等终止条件,并将此事对应的最优解输出,将该输入层权值和隐含层阈值作为ELM最优参数。得到ELM的输入层权值、隐含层阈值后,就可以使用网络数据集训练优化参数的ELM模型。
根据所述降维训练网络数据对ELM分类器进行训练,得到ELM分类器的输出层阈值。
根据上述3-3)确定了输入层权值和隐含层阈值,又由于隐含层节点数设置为12,所以只需要利用ELM的算法原理,计算出输出层权值即可完成训练。
输入样本为经过PCA降维处理的网络数据集Tk×m,其包含m条数据和k条属性,以及对应每一条数据的网络状态类型标签t1×m。因此该单隐层网络的输出可以表示为:
Figure BDA0002272857880000101
其中,g(x)为激活函数,为sigmoid函数,参数o为ELM的输出,是与t1×m维度相同的向量,l表示当前样本为m个网络数据样本中的第l个。
根据ELM的学习目标,要使得分类器输出的误差达到最小值,即使得公公式
Figure BDA0002272857880000102
成立。
存在输出层权值β,输入层权值ω和隐含层阈值b,使得下式成立:
Figure BDA0002272857880000103
即可以简化为以下公式:
Hβ=t
Figure BDA0002272857880000104
可以推导出ELM训练之后的输出层权值矩阵计算公式:
Figure BDA0002272857880000105
其中,
Figure BDA0002272857880000111
表示隐含层输出矩阵的广义逆矩阵,t为初始数据集对应的标签取值向量集合,β为输出层权值矩阵。
经上述步骤,即可离线数据集训练得到一个ELM模型,该模型的输入层权值和隐含层阈值由BA算法进行优化,较原始ELM随机给定而言性能更好。
重复上述步骤,对9个ELM分类器进行训练,从而得到对应的9个BA-ELM分类器。
结合多投票技术,生成完整的强分类器,包括:
将9个独立的离线BA-ELM分类器连接起来,它们的输入是各自独立的经过相同处理的工控网络数据集,输出是每个分类器的判断结果的编码值。九个分类器分别输出独立的判断结果,之后通过加权投票,选择出现次数最多的那一类结果为最终的判断结果,从而实现实时的入侵检测。
采集实时数据,并按照步骤201-203所述的方式对实时数据进行预处理。将处理后的实时数据送入该多投票分类器进行检测,所有的检测结果都进行记录,并与数据集一同送入第一级缓存器中;检测出入侵状态后,发出警报进行警示。
S3:根据所述第一检测结果将所述第一网络数据存入相应的缓存区,得到标定后第一网络数据,所述缓存区为多个,所述缓存区放置于第一级缓存器中。
具体的,为了提高小样本的检测准确率,同时为了配合多投票技术,采用两级缓存器的架构对在线数据进行存储和分配,对收集到的数据按比例进行存储和抛弃。图3为本发明实施例缓存器结构示意图,如图3所示,缓存器分为第一级缓存器和第二级缓存器,第一级缓存器有多个缓存区,第一级缓存器用于保证在线更新数据各类别的比例相同,在这一级缓存器中,每一类网络状态的数据都只能保存给定条,即每个缓存区中只能存取设定数量,超出该数量则予以丢弃。当第一级缓存器中的各缓存区数据量达到设定数量时,所有数据送往第二级缓存器,同时清空第一级缓存器。
第二级缓存器用于将数据等比分发到各个离线BA-ELM分类器,它将所有在线数据打乱顺序并随机等量配发打包成数据块发送给各个离线BA-ELM分类器,同时清空第二级缓存器。
按S5更新输出层权值,实现网络入侵检测模型在线更新。第一级缓存器和第二级缓存器清空,继续下一轮新数据的分类汇总。
S5:若是,将各所述缓存区中的数据作为更新数据,根据所述更新数据对所述网络入侵检测模型中的参数进行调整,更新所述网络入侵检测模型,采用更新后的网络入侵检测模型对下一时刻的网络数据进行检测。
具体的,利用在线数据即更新数据用于更新网络入侵检测模型的输出层权值,实现ELM分类器的更新过程,训练时得到的输出层权值向量集合命名为β0
Figure BDA0002272857880000121
其中K0=HTH。设缓存器中存储了N1条数据,即新样本总数量为N1,则所求新的输出层权值向量集合β1满足下式:
Figure BDA0002272857880000122
其中,H1表示网络入侵检测模型中更新后隐含层的输出矩阵,t1表示更新数据对应的标签取值向量集合,H0表示网络入侵检测模型中更新前隐含层的输出矩阵,t0表示训练数据对应的标签取值向量集合。
根据上式可以推算出,缓存器收集的固定容量的新数据包输入后,更新公式如下所示,
Figure BDA0002272857880000123
β1表示更新后的输出层权值向量集合,H1 T表示H1的转置,β0表示更新前的输出层权值向量集合,
Figure BDA0002272857880000124
K0=H0 TH0
按照上述过程,可以实现在线的入侵检测,同时在线数据集也被按比例收集在两级缓存器中用于在线更新分类器模型。第一级缓存器按比例加入数据,可以有效控制小样本数据的比例,从源头上解决样本不平衡的问题;第二级缓存器用于为各个子分类器分发数据,支撑多投票分类器的更新,有效提高整体的准确性,提高入侵检测系统对小样本的检测准确性。至此,一种基于多投票技术的工控网络入侵检测方法得以实现。
本发明还提供了一种工控网络入侵检测系统,图4为本发明实施例一种基于多投票技术的工控网络入侵检测系统的结构示意图,如图4所示,所述入侵检测系统包括:
第一网络数据获取模块401,用于获取当前时刻工控网络中各节点的网络数据,记为第一网络数据;
第一检测结果确定模块402,用于将所述第一网络数据输入到网络入侵检测模型中,得到第一检测结果;
标定后第一网络数据确定模块403,用于根据所述第一检测结果将所述第一网络数据存入相应的缓存区,得到标定后第一网络数据,所述缓存区为多个;
判断模块404,用于判断各所述缓存区的数据量是否达到第一设定值;
跳转模块405,用于若否,则跳转到步骤“获取当前时刻工控网络中各节点的网络数据,记为第一网络数据”,直到各所述缓存区的数据量达到第一设定值;
网络入侵检测模型更新模块406,用于若是,将各所述缓存区中的数据作为更新数据,根据所述更新数据对所述网络入侵检测模型中的参数进行调整,更新所述网络入侵检测模型,采用更新后的网络入侵检测模型对下一时刻的网络数据进行检测;
所述网络入侵检测模型的建立方法具体包括:
训练网络数据获取模块407,用于获取工控网络中各节点的网络数据,作为训练网络数据;
标准训练网络数据获取模块408,用于对所述训练网络数据进行编码和标准化,得到标准训练网络数据;
降维训练网络数据获取模块409,用于采用主成分分析法PCA对所述标准训练网络数据进行降维,得到降维训练网络数据;
数据等分模块410,用于将所述降维训练网络数据等分成R份,每份数据对应一个ELM分类器,所述R为奇数;
强分类器确定模块411,用于采用BA算法对各所述ELM分类器的参数进行优化,根据所述每份数据对优化后的ELM分类器进行训练,得到R个离线BA-ELM分类器,所述R个离线BA-ELM分类器为强分类器;选取强分类器检测结果中出现次数最多的作为最终检测结果;所述强分类器即为网络入侵检测模型。
作为本发明一种实施例,本发明中将各所述缓存区的数据交叉打乱,打乱后的数据为所述更新数据。
作为本发明一种实施例,本发明中所述标准训练网络数据获取模块,具体包括:
全数值训练网络数据确定单元,用于采用one-hot编码方法将所述训练网络数据中的非数值部分转化成数值形式,得到全数值训练网络数据;
标准训练网络数据确定单元,用于采用Z-score标准化方法对所述全数值训练网络数据进行标准化,得到标准训练网络数据。
作为本发明一种实施例,本发明中R个离线BA-ELM分类器获取过程具体包括:
权值优化单元,用于采用所述BA算法对各所述ELM分类器的输入层权值和隐含层阈值进行优化;
R个离线BA-ELM分类器确定单元,用于根据所述每份数据对优化后的ELM分类器进行训练,得到R个离线BA-ELM分类器。
作为本发明一种实施例,本发明中当所述第一检测结果为异常状态时,发送报警指令。
与现有技术相比,本发明的有益效果为:
1、本发明针对工控网络,设计了一种结合了多投票技术和改进的OS-BA-ELM算法的入侵检测方法,对传统入侵检测方法进行了有效的改进;多投票技术利用对多个相对弱的离线BA-ELM分类器的结合,产生一种强分类器,能显著提高检测的准确度;利用在线数据对网络入侵检测模型进行更新,能够提高入侵检测系统在线检测的精度,也可以在线更新模型,提高模型的泛化能力;BA算法可以对ELM参数进行优化,从而提高每个弱分类器的性能,使整体性能更优;此外,应用的降维技术、编码技术都是针对工控网络的调整,对工控网络入侵检测系统而言性能有所提升。
2、本发明在解决在线更新问题时,提出了一种采用两级缓存器的方法。其中第一级可以按比例存放在线样本,从源头上解决小样本不平衡问题,对每一类样本设置保存上限,丢弃多余的值,从而得到样本均衡的数据集;第二级缓存器针对指定数量的BA-ELM分类器,等比例随机分发更新数据,实现各个弱分类器的在线更新,从而实现网络入侵检测模型的整体更新,为解决小样本不平衡问题提供有效的解决方案,也增强了系统泛化能力,提升系统对入侵检测的准确性和灵敏度。
对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

Claims (8)

1.一种基于多投票技术的工控网络入侵检测方法,其特征在于,所述入侵检测方法包括:
获取当前时刻工控网络中各节点的网络数据,记为第一网络数据;
将所述第一网络数据输入到网络入侵检测模型中,得到第一检测结果;
根据所述第一检测结果将所述第一网络数据存入相应的缓存区,得到标定后第一网络数据,所述缓存区为多个;
为了提高小样本的检测准确率,同时为了配合多投票技术,采用两级缓存器的架构对在线数据进行存储和分配,对收集到的数据按比例进行存储和抛弃;缓存器分为第一级缓存器和第二级缓存器,第一级缓存器有多个缓存区,第一级缓存器用于保证在线更新数据各类别的比例相同,第一级缓存器中,每一类网络状态的数据都只能保存给定条,即每个缓存区中只能存取设定数量,超出该数量则予以丢弃;当第一级缓存器中的各缓存区数据量达到设定数量时,所有数据送往第二级缓存器,同时清空第一级缓存器;
第二级缓存器用于将数据等比分发到各个离线BA-ELM分类器,它将所有在线数据打乱顺序并随机等量配发打包成数据块发送给各个离线BA-ELM分类器,同时清空第二级缓存器;
判断各所述缓存区的数据量是否达到第一设定值;
若否,则跳转到步骤“获取当前时刻工控网络中各节点的网络数据,记为第一网络数据”,直到各所述缓存区的数据量达到第一设定值;
若是,将各所述缓存区中的数据作为更新数据,根据所述更新数据对所述网络入侵检测模型中的参数进行调整,更新所述网络入侵检测模型,采用更新后的网络入侵检测模型对下一时刻的网络数据进行检测;
所述若是,将各所述缓存区中的数据作为更新数据,根据所述更新数据对所述网络入侵检测模型中的参数进行调整,更新所述网络入侵检测模型,采用更新后的网络入侵检测模型对下一时刻的网络数据进行检测,具体包括:
利用在线数据即更新数据用于更新网络入侵检测模型的输出层权值,实现ELM分类器的更新过程,训练时得到的输出层权值向量集合命名为β0,β0=K0 -1H0 Tt0,其中K0=HTH;设缓存器中存储了N1条数据,即新样本总数量为N1,则所求新的输出层权值向量集合β1满足下式:
Figure FDA0002958872050000021
其中,H1表示网络入侵检测模型中更新后隐含层的输出矩阵,t1表示更新数据对应的标签取值向量集合,H0表示网络入侵检测模型中更新前隐含层的输出矩阵,t0表示训练数据对应的标签取值向量集合;
根据上式可以推算出,缓存器收集的固定容量的新数据包输入后,更新公式如下所示,
β1=β0+K1 -1H1 T(t1-H1β0)=β0+(K0+H1 TH1)H1 T(t1-H1β0)
β1表示更新后的输出层权值向量集合,H1 T表示H1的转置,β0表示更新前的输出层权值向量集合,β0=K0 -1H0 Tt0,K0=H0 TH0
所述网络入侵检测模型的建立方法具体包括:
获取工控网络中各节点的网络数据,作为训练网络数据;
对所述训练网络数据进行编码和标准化,得到标准训练网络数据;
采用主成分分析法PCA对所述标准训练网络数据进行降维,得到降维训练网络数据;
将所述降维训练网络数据等分成R份,每份数据对应一个ELM分类器,所述R为奇数;
采用BA算法对各所述ELM分类器的参数进行优化,根据所述每份数据对优化后的ELM分类器进行训练,得到R个离线BA-ELM分类器,所述R个离线BA-ELM分类器为强分类器;选取强分类器检测结果中出现次数最多的作为最终检测结果;所述强分类器即为网络入侵检测模型;
所述采用BA算法对各所述ELM分类器的参数进行优化,根据所述每份数据对优化后的ELM分类器进行训练,得到R个离线BA-ELM分类器,具体包括:
采用所述BA算法对各所述ELM分类器的输入层权值和隐含层阈值进行优化;
根据所述每份数据对优化后的ELM分类器进行训练,得到R个离线BA-ELM分类器。
2.根据权利要求1所述的基于多投票技术的工控网络入侵检测方法,其特征在于,将各所述缓存区的数据交叉打乱,打乱后的数据为所述更新数据。
3.根据权利要求1所述的基于多投票技术的工控网络入侵检测方法,其特征在于,所述对所述训练网络数据进行编码和标准化,得到标准训练网络数据,具体包括:
采用one-hot编码方法将所述训练网络数据中的非数值部分转化成数值形式,得到全数值训练网络数据;
采用Z-score标准化方法对所述全数值训练网络数据进行标准化,得到标准训练网络数据。
4.根据权利要求1所述的基于多投票技术的工控网络入侵检测方法 ,其特征在于,当所述第一检测结果为异常状态时,发送报警指令。
5.一种基于多投票技术的工控网络入侵检测系统,其特征在于,所述入侵检测系统包括:
第一网络数据获取模块,用于获取当前时刻工控网络中各节点的网络数据,记为第一网络数据;
第一检测结果确定模块,用于将所述第一网络数据输入到网络入侵检测模型中,得到第一检测结果;
标定后第一网络数据确定模块,用于根据所述第一检测结果将所述第一网络数据存入相应的缓存区,得到标定后第一网络数据,所述缓存区为多个;
为了提高小样本的检测准确率,同时为了配合多投票技术,采用两级缓存器的架构对在线数据进行存储和分配,对收集到的数据按比例进行存储和抛弃;缓存器分为第一级缓存器和第二级缓存器,第一级缓存器有多个缓存区,第一级缓存器用于保证在线更新数据各类别的比例相同,第一级缓存器中,每一类网络状态的数据都只能保存给定条,即每个缓存区中只能存取设定数量,超出该数量则予以丢弃;当第一级缓存器中的各缓存区数据量达到设定数量时,所有数据送往第二级缓存器,同时清空第一级缓存器;
第二级缓存器用于将数据等比分发到各个离线BA-ELM分类器,它将所有在线数据打乱顺序并随机等量配发打包成数据块发送给各个离线BA-ELM分类器,同时清空第二级缓存器;
判断模块,用于判断各所述缓存区的数据量是否达到第一设定值;
跳转模块,用于若否,则跳转到步骤“获取当前时刻工控网络中各节点的网络数据,记为第一网络数据”,直到各所述缓存区的数据量达到第一设定值;
网络入侵检测模型更新模块,用于若是,将各所述缓存区中的数据作为更新数据,根据所述更新数据对所述网络入侵检测模型中的参数进行调整,更新所述网络入侵检测模型,采用更新后的网络入侵检测模型对下一时刻的网络数据进行检测;
所述网络入侵检测模型更新模块,具体包括:
利用在线数据即更新数据用于更新网络入侵检测模型的输出层权值,实现ELM分类器的更新过程,训练时得到的输出层权值向量集合命名为β0,β0=K0 -1H0 Tt0,其中K0=HTH;设缓存器中存储了N1条数据,即新样本总数量为N1,则所求新的输出层权值向量集合β1满足下式:
Figure FDA0002958872050000041
其中,H1表示网络入侵检测模型中更新后隐含层的输出矩阵,t1表示更新数据对应的标签取值向量集合,H0表示网络入侵检测模型中更新前隐含层的输出矩阵,t0表示训练数据对应的标签取值向量集合;
根据上式可以推算出,缓存器收集的固定容量的新数据包输入后,更新公式如下所示,
β1=β0+K1 -1H1 T(t1-H1β0)=β0+(K0+H1 TH1)H1 T(t1-H1β0)
β1表示更新后的输出层权值向量集合,H1 T表示H1的转置,β0表示更新前的输出层权值向量集合,β0=K0 -1H0 Tt0,K0=H0 TH0
所述网络入侵检测模型的建立方法具体包括:
训练网络数据获取模块,用于获取工控网络中各节点的网络数据,作为训练网络数据;
标准训练网络数据获取模块,用于对所述训练网络数据进行编码和标准化,得到标准训练网络数据;
降维训练网络数据获取模块,用于采用主成分分析法PCA对所述标准训练网络数据进行降维,得到降维训练网络数据;
数据等分模块,用于将所述降维训练网络数据等分成R份,每份数据对应一个ELM分类器,所述R为奇数;
强分类器确定模块,用于采用BA算法对各所述ELM分类器的参数进行优化,根据所述每份数据对优化后的ELM分类器进行训练,得到R个离线BA-ELM分类器,所述R个离线BA-ELM分类器为强分类器;选取强分类器检测结果中出现次数最多的作为最终检测结果;所述强分类器即为网络入侵检测模型;
R个离线BA-ELM分类器获取过程具体包括:
权值优化单元,用于采用所述BA算法对各所述ELM分类器的输入层权值和隐含层阈值进行优化;
R个离线BA-ELM分类器确定单元,用于根据所述每份数据对优化后的ELM分类器进行训练,得到R个离线BA-ELM分类器。
6.根据权利要求5所述的基于多投票技术的工控网络入侵检测系统,其特征在于,将各所述缓存区的数据交叉打乱,打乱后的数据为所述更新数据。
7.根据权利要求5所述的基于多投票技术的工控网络入侵检测系统,其特征在于,所述标准训练网络数据获取模块,具体包括:
全数值训练网络数据确定单元,用于采用one-hot编码方法将所述训练网络数据中的非数值部分转化成数值形式,得到全数值训练网络数据;
标准训练网络数据确定单元,用于采用Z-score标准化方法对所述全数值训练网络数据进行标准化,得到标准训练网络数据。
8.根据权利要求5所述的基于多投票技术的工控网络入侵检测系统,其特征在于,当所述第一检测结果为异常状态时,发送报警指令。
CN201911111547.8A 2019-11-14 2019-11-14 一种基于多投票技术的工控网络入侵检测方法及系统 Active CN110868414B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911111547.8A CN110868414B (zh) 2019-11-14 2019-11-14 一种基于多投票技术的工控网络入侵检测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911111547.8A CN110868414B (zh) 2019-11-14 2019-11-14 一种基于多投票技术的工控网络入侵检测方法及系统

Publications (2)

Publication Number Publication Date
CN110868414A CN110868414A (zh) 2020-03-06
CN110868414B true CN110868414B (zh) 2021-07-13

Family

ID=69654013

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911111547.8A Active CN110868414B (zh) 2019-11-14 2019-11-14 一种基于多投票技术的工控网络入侵检测方法及系统

Country Status (1)

Country Link
CN (1) CN110868414B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113379176B (zh) * 2020-03-09 2023-12-19 中国移动通信集团设计院有限公司 电信网络异常数据检测方法、装置、设备和可读存储介质
CN113379000B (zh) * 2021-07-13 2022-03-15 四川大学 一种自适应更新的网络入侵检测方法
CN114765561A (zh) * 2022-04-11 2022-07-19 西北工业大学 基于对抗性机器学习的网络入侵检测方法
CN115086070B (zh) * 2022-07-20 2022-11-15 山东省计算中心(国家超级计算济南中心) 工业互联网入侵检测方法及系统
CN115378711B (zh) * 2022-08-23 2024-08-06 中国石油天然气集团有限公司 一种工控网络的入侵检测方法和系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729431B (zh) * 2013-12-26 2017-01-18 东北大学 具有增减量功能的海量微博数据分布式分类装置及方法
EP3170105B1 (en) * 2014-07-14 2021-09-08 Oracle International Corporation Age-based policies for determining database cache hits
CN105955032A (zh) * 2016-06-23 2016-09-21 上海电机学院 基于蝙蝠算法优化极限学习机的逆变器控制方法
CN106161458B (zh) * 2016-08-03 2019-02-15 辽宁师范大学 基于双加权在线极限学习机的网络入侵检测方法
CN106534191B (zh) * 2016-12-14 2019-06-21 北京安信天行科技有限公司 一种网络入侵检测方法及装置
CN108234500A (zh) * 2018-01-08 2018-06-29 重庆邮电大学 一种基于深度学习的无线传感网入侵检测方法
CN108712404B (zh) * 2018-05-04 2020-11-06 重庆邮电大学 一种基于机器学习的物联网入侵检测方法
CN108632278A (zh) * 2018-05-08 2018-10-09 北京理工大学 一种基于pca与贝叶斯相结合的网络入侵检测方法
CN108985521A (zh) * 2018-08-02 2018-12-11 广东工业大学 光伏发电系统的输出功率预测方法、装置、设备及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A Novel Intrusion Detection System based on Extreme Machine Learning and Multi-Voting Technology;Jianlei Gao,et;《IEEE Xplore》;20191017;摘要,第1-6节,图2-4 *

Also Published As

Publication number Publication date
CN110868414A (zh) 2020-03-06

Similar Documents

Publication Publication Date Title
CN110868414B (zh) 一种基于多投票技术的工控网络入侵检测方法及系统
CN110837872B (zh) 一种工控网络入侵检测方法及系统
CN110287983B (zh) 基于最大相关熵深度神经网络单分类器异常检测方法
Xu Adaptive intrusion detection based on machine learning: feature extraction, classifier construction and sequential pattern prediction
CN111353153A (zh) 一种基于gep-cnn的电网恶意数据注入检测方法
CN112087442B (zh) 基于注意力机制的时序相关网络入侵检测方法
CN110298374B (zh) 一种基于深度学习的驾驶轨迹能耗分析方法和装置
CN113242259A (zh) 网络异常流量检测方法及装置
CN110852441B (zh) 一种基于改进朴素贝叶斯算法的火灾预警方法
CN117421684A (zh) 基于数据挖掘和神经网络的异常数据监测与分析方法
CN112949821B (zh) 基于双重注意力机制的网络安全态势感知方法
CN113705715B (zh) 一种基于lstm和多尺度fcn的时间序列分类方法
CN115811440B (zh) 一种基于网络态势感知的实时流量检测方法
CN112529638B (zh) 基于用户分类和深度学习的服务需求动态预测方法及系统
CN116633601A (zh) 一种基于网络流量态势感知的检测方法
CN110995713A (zh) 一种基于卷积神经网络的僵尸网络检测系统及方法
Xia et al. Intrusion detection system based on principal component analysis and grey neural networks
CN112651422B (zh) 一种时空感知的网络流量异常行为检测方法及电子装置
Thanh et al. An approach to reduce data dimension in building effective network intrusion detection systems
CN117097541A (zh) Api服务攻击检测方法、装置、设备和存储介质
CN116684138A (zh) 基于注意力机制的drsn和lstm的网络入侵检测方法
CN115086070B (zh) 工业互联网入侵检测方法及系统
CN113098910B (zh) 基于时空粒度和三宽度学习的网络入侵检测方法及系统
CN112529637B (zh) 基于情景感知的服务需求动态预测方法及系统
Liu et al. A feature compression technique for anomaly detection using convolutional neural networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant