ICS入侵检测方法、装置、电子设备和存储介质转让专利
申请号 : CN202110199828.4
文献号 : CN113067798B
文献日 : 2022-04-12
发明人 : 孙利民 , 陈新 , 刘凯祥 , 谢永芳 , 吕世超
申请人 : 中国科学院信息工程研究所
摘要 :
权利要求 :
1.一种ICS入侵检测方法,其特征在于,包括:确定待检测的工业控制系统的网络数据集;
将所述待检测的工业控制系统的网络数据集输入至入侵检测模型中,得到工业控制系统的入侵检测结果;
其中,所述入侵检测模型是基于特定工业场景网络数据集的样本数据及对应的标签向量训练得到的;
所述入侵检测模型用于基于所述样本数据及对应的标签向量对双向长短周期记忆网络进行调参一级训练,并基于训练后的所述双向长短周期记忆网络提取出的正常样本特征对单类支持向量机进行二级训练后,对所述待检测的工业控制系统的网络数据集进行检测,其中,所述样本数据及对应的标签向量对双向长短周期记忆网络进行调参一级训练,具体包括:
加载双向长短周期记忆BiLSTM网络的初始权重文件;
将所述样本数据及对应的标签向量输入所述BiLSTM网络的全连接层,依次输出每个标签向量的损失值,并确定最小损失值;
根据最小损失值调整或更新相应的所述BiLSTM网络参数。
2.根据权利要求1所述的ICS入侵检测方法,其特征在于,所述入侵检测模型包括异常检测模型和异常分类模型;
所述异常检测模型是基于所述样本数据及对应的标签向量对双向长短周期记忆网络进行调参一级训练得到的;所述异常分类模型是基于训练后的所述双向长短周期记忆网络提取出的正常样本特征对单类支持向量机进行二级训练得到的。
3.根据权利要求2所述的ICS入侵检测方法,其特征在于,将所述待检测的工业控制系统的网络数据集输入至入侵检测模型中,得到工业控制系统的入侵检测结果,包括:将所述待检测的工业控制系统的网络数据集输入至所述异常检测模型,输出异常检测结果:若为异常则报警,否则提取出正常样本特征;
将所述正常样本特征输入至所述异常分类模型,输出异常分类结果:若为异常则报警,否则正常放行。
4.根据权利要求1所述的ICS入侵检测方法,其特征在于,所述将所述样本数据及对应的标签向量输入所述BiLSTM网络的全连接层,依次输出每个标签向量的损失值,包括:将所述样本数据及对应的标签向量输入全连接层的概率计算函数,得到标签向量对应值相应的概率;
将所述标签向量对应值相应的概率输入交叉熵损失函数,得到损失值。
5.根据权利要求4所述的ICS入侵检测方法,其特征在于,所述全连接层的概率计算函数如下:
其中,T为全连接层的总维度,aj表示全连接层输入的标签向量中第j个值,Pj为标签向量中第j个值的概率,k为维度值。
6.根据权利要求4所述的ICS入侵检测方法,其特征在于,所述交叉熵损失函数如下:其中,T为全连接层的总维度,aj表示全连接层输入的标签向量中第j个值,L为每个标签向量的损失值,Pj为标签向量中第j个值的概率。
7.一种ICS入侵检测装置,其特征在于,包括:数据确定单元,用于确定待检测的工业控制系统的网络数据集;
入侵检测单元,用于将所述待检测的工业控制系统的网络数据集输入至入侵检测模型中,得到工业控制系统的入侵检测结果;
其中,所述入侵检测模型是基于特定工业场景网络数据集的样本数据训练得到的;
所述入侵检测模型用于基于所述样本数据对双向长短周期记忆网络进行调参一级训练,并基于训练后的所述双向长短周期记忆网络提取出的正常样本特征对单类支持向量机进行训练后,对所述待检测的工业控制系统的网络数据集进行检测,其中,所述样本数据及对应的标签向量对双向长短周期记忆网络进行调参一级训练,具体包括:文件加载模块,用于加载双向长短周期记忆BiLSTM网络的初始权重文件;
损失确定模块,用于将所述样本数据及对应的标签向量输入所述BiLSTM网络的全连接层,依次输出每个标签向量的损失值,并确定最小损失值;
参数调整模块,用于根据最小损失值调整或更新相应的所述BiLSTM网络参数。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述ICS入侵检测方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述ICS入侵检测方法的步骤。
说明书 :
ICS入侵检测方法、装置、电子设备和存储介质
技术领域
背景技术
SCADA)系统、分布式控制系统(Distributed Control System,DCS)以及其他小型控制系统
等。它是国家传统关键基础设施的核心,涉及冶金、化工、电力、水利等。传统ICS采用专用通
信协议等,使得整个系统隔离于互联网之外。随着IT技术发展、业务需求增加等因素,ICS开
始引入工业以太网、TCP/IP协议等。导致ICS从信息“孤岛”开始趋于开放化、标准化,与外部
网络连接更为紧密与频繁,但也导致ICS遭受越来越多的网络攻击,这些攻击给国家带来巨
大的经济损失,因此保护ICS免遭网络攻击变得越来越重要。
协议等特点,导致针对传统IT网络的入侵检测算法难以直接应用在工业控制系统中。早期
阶段大多数研究成果过于依赖预定义的模型或行为进行异常检测,且需要大量人工参与;
一些特征或模型的构建来源于已知攻击,导致难以检测0day攻击或未知攻击;部分研究成
果针对特定的ICS,通用性与灵活性较差。
发明内容
特征对单类支持向量机进行二级训练后,对所述待检测的工业控制系统的网络数据集进行
检测。
到的;所述异常分类模型是基于训练后的所述双向长短周期记忆网络提取出的正常样本特
征对单类支持向量机进行二级训练得到的。
量机进行训练后,对所述待检测的工业控制系统的网络数据集进行检测。
提供的任一项所述ICS入侵检测方法的步骤。
检测方法的步骤。
调参一级训练,并基于训练后的所述双向长短周期记忆网络提取出的正常样本特征对单类
支持向量机进行二级训练后得到的入侵检测模型对工业控制系统的网络数据集进行异常
检测,以提高目前工业控制系统遭受越来越多的网络攻击时异常检测的自动化、通用化和
灵活化。
附图说明
些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些
附图获得其他的附图。
具体实施方式
而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳
动前提下所获得的所有其他实施例,都属于本发明保护的范围。
据集或者其他特定工业场景网络数据集特征相一致的工业控制系统的网络数据集作为待
检测的网络数据集。
种不同类别的攻击数据和正常数据。数据集中有完整数据共97018条数据,其中正常数据为
61155条,攻击数据为35863条,每一条数据的维数为26维,为26种特征属性值。选取完整数
据,按6:2:2分成3组,60%的训练数据,20%的验证数据,20%测试数据。对所选取的上述数
据集进行过采样处理之后进行标准归一化处理。该数据集所包含的具体特征见表1,攻击类
型见表2。
据和正常数据。数据集中有完整数据共236179条数据,其中正常数据为172415条,攻击数据
为63764条,每一条数据的维数为23维,为23种特征属性值。包含:地址、功能码、长度、设定
点、警报设定点、控制模式、控制方案、水压等。
特征对单类支持向量机进行二级训练后,对所述待检测的工业控制系统的网络数据集进行
检测。
长短周期记忆网络BiLSTM完成了工控网络流量数据第一级检测;之后结合单类支持向量
机,通过BiLSTM提取的正常数据特征进行训练作为第二级检测,使入侵检测模型具有更好
的检测精度以及对未知类别的检测能力。本发明能够有效解决目前工业控制系统网络攻击
时存在的异常检测的自动化程度、通用性和灵活性不高的问题。
效果,因此为了获得均衡的流量数据集,利用smote算法扩充用于训练和测试的流量样本数
据,smote算法采样均可使用python的imblearn.over_sampling库中smote函数实现,之后
再对每条数据进行标准归一化处理,从而弥补攻击样本数据量少影响学习效果等问题,加
强了训练后模型的泛化能力。所述样本数据生成方法过程如下:
周期记忆网络进行调参一级训练得到的;所述异常分类模型220是基于训练后的所述双向
长短周期记忆网络提取出的正常样本特征对单类支持向量机进行二级训练得到的。
理后,送入已训练好的BiLSTM模型进行检测。若检测结果为异常,则报警/告警处理;若检测
结果为正常,则提取正常数据特征,再将提取的特征送入训练好的OCSVM模型进行检测。若
检测结果为正常,则放行;若检测结果为异常,则报警/告警处理
数。
训练过程,获取最优BiLSTM网络模型,对于获得的最优BiLSTM网络模型对训练集的正常样
本进行特征提取,使用提取的特征训练OCSVM模型。
的是,样本数据对应的标签的种类是通过标签向量进行分类别的,这里是0‑7种类别,0代表
正常,其他值代表对应的攻击类别,之后可以处理成独立编码类型,是个T维的二进制向量,
对应类别的位置为1,如7可表示为:[0,0,0,0,0,0,0,1]这样的形式。
别率达到了98%以上。由表3和表4可知本方法对于ICS入侵检测准确率有较大提升。
量机进行训练后,对所述待检测的工业控制系统的网络数据集进行检测。
长短周期记忆网络BiLSTM完成了工控网络流量数据第一级检测;之后结合单类支持向量
机,通过BiLSTM提取的正常数据特征进行训练作为第二级检测,使入侵检测模型具有更好
的检测精度以及对未知类别的检测能力。本发明能够有效解决目前工业控制系统网络攻击
时存在的异常检测的自动化程度、通用性和灵活性不高的问题。
短周期记忆网络进行调参一级训练得到的;所述异常分类模块是基于训练后的所述双向长
短周期记忆网络提取出的正常样本特征对单类支持向量机进行二级训练得到的。
分类模块,用于输入所述正常样本特征,输出异常分类结果:若为异常则报警,否则正常放
行。
(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540
完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行ICS入侵检测方
法,该方法包括:确定待检测的工业控制系统的网络数据集;将所述待检测的工业控制系统
的网络数据集输入至入侵检测模型中,得到工业控制系统的入侵检测结果;其中,所述入侵
检测模型是基于特定工业场景网络数据集的样本数据及对应的标签向量训练得到的;所述
入侵检测模型用于基于所述样本数据及对应的标签向量对双向长短周期记忆网络进行调
参一级训练,并基于训练后的所述双向长短周期记忆网络提取出的正常样本特征对单类支
持向量机进行二级训练后,对所述待检测的工业控制系统的网络数据集进行检测。
发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以
软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以
使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施
例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,
Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种
可以存储程序代码的介质。
述程序指令被计算机执行时,计算机能够执行上述各方法所提供的ICS入侵检测方法,该方
法包括:确定待检测的工业控制系统的网络数据集;将所述待检测的工业控制系统的网络
数据集输入至入侵检测模型中,得到工业控制系统的入侵检测结果;其中,所述入侵检测模
型是基于特定工业场景网络数据集的样本数据及对应的标签向量训练得到的;所述入侵检
测模型用于基于所述样本数据及对应的标签向量对双向长短周期记忆网络进行调参一级
训练,并基于训练后的所述双向长短周期记忆网络提取出的正常样本特征对单类支持向量
机进行二级训练后,对所述待检测的工业控制系统的网络数据集进行检测。
法包括:确定待检测的工业控制系统的网络数据集;将所述待检测的工业控制系统的网络
数据集输入至入侵检测模型中,得到工业控制系统的入侵检测结果;其中,所述入侵检测模
型是基于特定工业场景网络数据集的样本数据及对应的标签向量训练得到的;所述入侵检
测模型用于基于所述样本数据及对应的标签向量对双向长短周期记忆网络进行调参一级
训练,并基于训练后的所述双向长短周期记忆网络提取出的正常样本特征对单类支持向量
机进行二级训练后,对所述待检测的工业控制系统的网络数据集进行检测。
元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其
中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性
的劳动的情况下,即可以理解并实施。
述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该
计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指
令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施
例或者实施例的某些部分所述的方法。
以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;
而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和
范围。