工控入侵检测方法、装置、存储介质和设备转让专利

申请号 : CN202111585428.3

文献号 : CN113987481B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张志群何伟还约辉彭鑫邹玲

申请人 : 浙江国利网安科技有限公司

摘要 :

本申请公开了一种工控入侵检测方法、装置、存储介质和设备,获取监控系统在当前预设时间周期内所采集的工控信息。对工控信息中各个维度的数据进行标准化处理,得到各个目标数据。对各个目标数据进行降维处理,得到工控信息的特征。将特征输入至工控入侵检测模型中,得到工控入侵检测模型输出的检测结果。在确定检测结果指示工控系统处于被入侵的状态的情况下,向用户发送报警提示。相较于现有技术,本申请利用各个工控设备所采集的数据,作为工控入侵检测的参考特征,并以GRU模型作为参考模型,构建工控入侵检测模型,利用工控入侵检测模型,能够准确识别出针对工控指令的数据域进行篡改的入侵行为,提高工控入侵检测的识别准确率。

权利要求 :

1.一种工控入侵检测方法,其特征在于,包括:获取预设的监控系统在当前预设时间周期内所采集的工控信息;所述工控信息包括多个维度的数据;每个维度的所述数据为:工控系统中每个工控设备在所述当前预设时间周期内所采集的数据;

对所述工控信息中各个维度的数据进行标准化处理,得到各个目标数据;

将各个所述目标数据作为预设的自编码模型的输入,经由所述自编码模型中的编码函数,将各个所述目标数据映射到预设的特征空间中,得到所述工控信息的特征;

将所述特征输入至预先构建的工控入侵检测模型中,得到所述工控入侵检测模型输出的检测结果;所述检测结果用于指示工控系统的状态,包括工控系统被入侵和工控系统未被入侵两种状态;所述工控入侵检测模型为采用支持向量机(SVM)的径向基函数作为激活函数的门控循环单元(GRU)模型,所述工控入侵检测模型基于样本工控信息的特征作为输入,并以人工针对所述样本工控信息所标定的状态标签作为训练目标,预先训练得到;所述样本工控信息为:所述监控系统在以往各个预设时间周期内所采集的历史工控信息;所述状态标签用于指示所述工控系统的状态;

在确定所述检测结果指示所述工控系统处于被入侵的状态的情况下,向用户发送报警提示。

2.根据权利要求1所述的方法,其特征在于,所述工控入侵检测模型基于样本工控信息的特征作为输入,并以人工针对所述样本工控信息所标定的状态标签作为训练目标,预先训练得到,包括:

获取所述监控系统在以往各个预设时间周期内所采集的历史工控信息,以及人工针对每个所述历史工控信息所标定的状态标签;所述历史工控信息包括多个维度的数据;

对以往各个预设时间周期内所采集的、且归属于同一维度的各个数据进行标准化处理,得到归属于同一维度的各个有效数据;

对于每个所述历史工控信息,对归属于同一所述历史工控信息的各个有效数据进行降维处理,得到每个所述历史工控信息的特征;

按照采集时间由早到晚的顺序,对各个所述历史工控信息的特征进行排序,得到特征序列;

将所述特征序列中的各个特征作为训练样本,输入至预设的门控循环单元模型中,获得每个所述训练样本的预测结果,并基于每个所述训练样本的预测结果,以及与每个所述训练样本对应的状态标签,利用预设的损失函数训练调整所述门控循环单元模型的参数,得到工控入侵检测模型;其中,所述门控循环单元模型所使用的激活函数为:支持向量机的径向基函数。

3.根据权利要求2所述的方法,其特征在于,所述将所述特征序列中的各个特征作为训练样本,输入至预设的门控循环单元模型中之前,还包括:预先利用网格搜索算法,确定所述门控循环单元模型的超参数。

4.根据权利要求2所述的方法,其特征在于,所述对以往各个预设时间周期内所采集的、且归属于同一维度的各个数据进行标准化处理,得到归属于同一维度的各个有效数据,包括:

计算以往各个预设时间周期内所采集的、且归属于同一维度的各个数据的中位数和绝对偏差;

将归属于同一维度的各个数据、所述中位数以及所述绝对偏差代入预设标准化公式中,计算得出归属于同一维度的各个有效数据。

5.一种工控入侵检测装置,其特征在于,包括:获取单元,用于获取预设的监控系统在当前预设时间周期内所采集的工控信息;所述工控信息包括多个维度的数据;每个维度的所述数据为:工控系统中每个工控设备在所述当前预设时间周期内所采集的数据;

标准化单元,用于对所述工控信息中各个维度的数据进行标准化处理,得到各个目标数据;

降维单元,用于将各个所述目标数据作为预设的自编码模型的输入,经由所述自编码模型中的编码函数,将各个所述目标数据映射到预设的特征空间中,得到所述工控信息的特征;

检测单元,用于将所述特征输入至预先构建的工控入侵检测模型中,得到所述工控入侵检测模型输出的检测结果;所述检测结果用于指示工控系统的状态,包括工控系统被入侵和工控系统未被入侵两种状态;所述工控入侵检测模型为采用支持向量机(SVM)的径向基函数作为激活函数的门控循环单元(GRU)模型,所述工控入侵检测模型基于样本工控信息的特征作为输入,并以人工针对所述样本工控信息所标定的状态标签作为训练目标,预先训练得到;所述样本工控信息为:所述监控系统在以往各个预设时间周期内所采集的历史工控信息;所述状态标签用于指示所述工控系统的状态;

提示单元,用于在确定所述检测结果指示所述工控系统处于被入侵的状态的情况下,向用户发送报警提示。

6.根据权利要求5所述的装置,其特征在于,所述检测单元用于预先训练得到所述工控入侵检测模型的过程,包括:

获取所述监控系统在以往各个预设时间周期内所采集的历史工控信息,以及人工针对每个所述历史工控信息所标定的状态标签;所述历史工控信息包括多个维度的数据;

对以往各个预设时间周期内所采集的、且归属于同一维度的各个数据进行标准化处理,得到归属于同一维度的各个有效数据;

对于每个所述历史工控信息,对归属于同一所述历史工控信息的各个有效数据进行降维处理,得到每个所述历史工控信息的特征;

按照采集时间由早到晚的顺序,对各个所述历史工控信息的特征进行排序,得到特征序列;

将所述特征序列中的各个特征作为训练样本,输入至预设的门控循环单元模型中,获得每个所述训练样本的预测结果,并基于每个所述训练样本的预测结果,以及与每个所述训练样本对应的状态标签,利用预设的损失函数训练调整所述门控循环单元模型的参数,得到工控入侵检测模型;其中,所述门控循环单元模型所使用的激活函数为:支持向量机的径向基函数。

7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,所述程序执行权利要求1‑4任一所述的工控入侵检测方法。

8.一种工控入侵检测设备,其特征在于,包括:处理器、存储器和总线;所述处理器与所述存储器通过所述总线连接;

所述存储器用于存储程序,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1‑4任一所述的工控入侵检测方法。

说明书 :

工控入侵检测方法、装置、存储介质和设备

技术领域

[0001] 本申请涉及工控领域,尤其涉及一种工控入侵检测方法、装置、存储介质和设备。

背景技术

[0002] 传统的工控安全技术,如用户认证、防火墙、数据加密等,已经无法应对不断创新的网络入侵手段。因此,入侵检测领域已成为研究热点,成为工业控制信息安全的第二道防
线。
[0003] 目前,较为常见的工控入侵检测方式为:监控工控系统流量数据,判断流量数据的变化是否异常,若流量数据的变化存在异常,则确定工控系统被入侵。然而,部分入侵方式
会针对工控指令的数据域进行篡改,并不会给流量数据的变化带来任何影响。显然,现有的
工控入侵检测方式难以识别出针对工控指令的数据域进行篡改的入侵行为,其识别准确率
较低。
[0004] 为此,如何提高工控入侵检测的识别准确率,成为了本领域亟需解决的问题。

发明内容

[0005] 本申请提供了一种工控入侵检测方法、装置、存储介质和设备,目的在于提高工控入侵检测的识别准确率。
[0006] 为了实现上述目的,本申请提供了以下技术方案:
[0007] 一种工控入侵检测方法,包括:
[0008] 获取预设的监控系统在当前预设时间周期内所采集的工控信息;所述工控信息包括多个维度的数据;每个维度的所述数据为:工控系统中每个工控设备在所述当前预设时
间周期内所采集的数据;
[0009] 对所述工控信息中各个维度的数据进行标准化处理,得到各个目标数据;
[0010] 对各个所述目标数据进行降维处理,得到所述工控信息的特征;
[0011] 将所述特征输入至预先构建的工控入侵检测模型中,得到所述工控入侵检测模型输出的检测结果;所述工控入侵检测模型基于样本工控信息的特征作为输入,并以人工针
对所述样本工控信息所标定的状态标签作为训练目标,预先训练得到;所述样本工控信息
为:所述监控系统在以往各个预设时间周期内所采集的历史工控信息;所述状态标签用于
指示所述工控系统的状态;
[0012] 在确定所述检测结果指示所述工控系统处于被入侵的状态的情况下,向用户发送报警提示。
[0013] 可选的,所述对各个所述目标数据进行降维处理,得到所述工控信息的特征,包括:
[0014] 将各个所述目标数据作为预设的自编码模型的输入,经由所述自编码模型中的编码函数,将各个所述目标数据映射到预设的特征空间中,得到所述工控信息的特征。
[0015] 可选的,所述工控入侵检测模型基于样本工控信息的特征作为输入,并以人工针对所述样本工控信息所标定的状态标签作为训练目标,预先训练得到,包括:
[0016] 获取所述监控系统在以往各个预设时间周期内所采集的历史工控信息,以及人工针对每个所述历史工控信息所标定的状态标签;所述历史工控信息包括多个维度的数据;
[0017] 对以往各个预设时间周期内所采集的、且归属于同一维度的各个数据进行标准化处理,得到归属于同一维度的各个有效数据;
[0018] 对于每个所述历史工控信息,对归属于同一所述历史工控信息的各个有效数据进行降维处理,得到每个所述历史工控信息的特征;
[0019] 按照采集时间由早到晚的顺序,对各个所述历史工控信息的特征进行排序,得到特征序列;
[0020] 将所述特征序列中的各个特征作为训练样本,输入至预设的门控循环单元模型中,获得每个所述训练样本的预测结果,并基于每个所述训练样本的预测结果,以及与每个
所述训练样本对应的状态标签,利用预设的损失函数训练调整所述门控循环单元模型的参
数,得到工控入侵检测模型;其中,所述门控循环单元模型所使用的激活函数为:支持向量
机的径向基函数。
[0021] 可选的,所述将所述特征序列中的各个特征作为训练样本,输入至预设的门控循环单元模型中之前,还包括:
[0022] 预先利用网格搜索算法,确定所述门控循环单元模型的超参数。
[0023] 可选的,所述对以往各个预设时间周期内所采集的、且归属于同一维度的各个数据进行标准化处理,得到归属于同一维度的各个有效数据,包括:
[0024] 计算以往各个预设时间周期内所采集的、且归属于同一维度的各个数据的中位数和绝对偏差;
[0025] 将归属于同一维度的各个数据、所述中位数以及所述绝对偏差代入预设标准化公式中,计算得出归属于同一维度的各个有效数据。
[0026] 一种工控入侵检测装置,包括:
[0027] 获取单元,用于获取预设的监控系统在当前预设时间周期内所采集的工控信息;所述工控信息包括多个维度的数据;每个维度的所述数据为:工控系统中每个工控设备在
所述当前预设时间周期内所采集的数据;
[0028] 标准化单元,用于对所述工控信息中各个维度的数据进行标准化处理,得到各个目标数据;
[0029] 降维单元,用于对各个所述目标数据进行降维处理,得到所述工控信息的特征;
[0030] 检测单元,用于将所述特征输入至预先构建的工控入侵检测模型中,得到所述工控入侵检测模型输出的检测结果;所述工控入侵检测模型基于样本工控信息的特征作为输
入,并以人工针对所述样本工控信息所标定的状态标签作为训练目标,预先训练得到;所述
样本工控信息为:所述监控系统在以往各个预设时间周期内所采集的历史工控信息;所述
状态标签用于指示所述工控系统的状态;
[0031] 提示单元,用于在确定所述检测结果指示所述工控系统处于被入侵的状态的情况下,向用户发送报警提示。
[0032] 可选的,所述降维单元具体用于:
[0033] 将各个所述目标数据作为预设的自编码模型的输入,经由所述自编码模型中的编码函数,将各个所述目标数据映射到预设的特征空间中,得到所述工控信息的特征。
[0034] 可选的,所述检测单元用于预先训练得到所述工控入侵检测模型的过程,包括:
[0035] 获取所述监控系统在以往各个预设时间周期内所采集的历史工控信息,以及人工针对每个所述历史工控信息所标定的状态标签;所述历史工控信息包括多个维度的数据;
[0036] 对以往各个预设时间周期内所采集的、且归属于同一维度的各个数据进行标准化处理,得到归属于同一维度的各个有效数据;
[0037] 对于每个所述历史工控信息,对归属于同一所述历史工控信息的各个有效数据进行降维处理,得到每个所述历史工控信息的特征;
[0038] 按照采集时间由早到晚的顺序,对各个所述历史工控信息的特征进行排序,得到特征序列;
[0039] 将所述特征序列中的各个特征作为训练样本,输入至预设的门控循环单元模型中,获得每个所述训练样本的预测结果,并基于每个所述训练样本的预测结果,以及与每个
所述训练样本对应的状态标签,利用预设的损失函数训练调整所述门控循环单元模型的参
数,得到工控入侵检测模型;其中,所述门控循环单元模型所使用的激活函数为:支持向量
机的径向基函数。
[0040] 一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,所述程序执行所述的工控入侵检测方法。
[0041] 一种工控入侵检测设备,包括:处理器、存储器和总线;所述处理器与所述存储器通过所述总线连接;
[0042] 所述存储器用于存储程序,所述处理器用于运行程序,其中,所述程序运行时执行所述的工控入侵检测方法。
[0043] 本申请提供的技术方案,获取预设的监控系统在当前预设时间周期内所采集的工控信息。工控信息包括多个维度的数据,每个维度的数据为:工控系统中每个工控设备在当
前预设时间周期内所采集的数据。对工控信息中各个维度的数据进行标准化处理,得到各
个目标数据。对各个目标数据进行降维处理,得到工控信息的特征。将特征输入至预先构建
的工控入侵检测模型中,得到工控入侵检测模型输出的检测结果。工控入侵检测模型基于
样本工控信息的特征作为输入,并以人工针对样本工控信息所标定的状态标签作为训练目
标,预先训练得到。样本工控信息为:监控系统在以往各个预设时间周期内所采集的历史工
控信息。在确定检测结果指示工控系统处于被入侵的状态的情况下,向用户发送报警提示。
相较于现有技术,本申请所示方案利用工控系统各个工控设备所采集的数据,作为工控入
侵检测的参考特征,并以GRU模型作为参考模型,构建工控入侵检测模型,利用工控入侵检
测模型,能够准确识别出针对工控指令的数据域进行篡改的入侵行为,提高工控入侵检测
的识别准确率。此外,对各个工控设备所采集的数据进行标准化处理以及降维处理,使得工
控入侵检测模型的检测结果更加可靠,从而进一步提高工控入侵检测的识别准确率。

附图说明

[0044] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他的附图。
[0045] 图1为本申请实施例提供的一种工控入侵检测方法的流程示意图;
[0046] 图2为本申请实施例提供的另一种工控入侵检测方法的流程示意图;
[0047] 图3为本申请实施例提供的一种工控入侵检测装置的架构示意图。

具体实施方式

[0048] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于
本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例,都属于本申请保护的范围。
[0049] 如图1所示,为本申请实施例提供的一种工控入侵检测方法的流程示意图,包括如下步骤:
[0050] S101:获取预设的监控系统在以往各个预设时间周期内所采集的历史工控信息,以及人工针对每个历史工控信息所标定的状态标签。
[0051] 其中,历史工控信息包括工控系统中各个工控设备(例如传感器、致动器等)在以往预设时间周期内所采集的数据(该数据与工控指令之间存在关联关系)。在本申请实施例
中,将每个工控设备所采集的数据视为一个维度的数据,为此,工控信息包括m个维度的数
据,m代表工控系统中各个工控设备的总数。此外,人工针对每个历史工控信息所标定的状
态标签,用于指示工控系统的状态,即用于指示工控系统是否被入侵,具体的,状态标签设
为1,则确定工控系统处于被入侵状态,状态标签设为0,则确定工控系统处于未被入侵状
态。
[0052] 具体的,假设监控系统每间隔一个时刻(即假设预设时间周期为一个时刻)采集m个维度的数据,在以往T个时刻内,监控系统采集了T个历史工控信息,为此,按照采集时间
由早到晚的顺序,对T个历史工控信息进行排序,得到历史工控信息序列,将历史工控信息
序列设为X。显然,X作为监控系统在以往T时刻内所采集的历史工控信息集合,可以将X视为
时序数据。
[0053] 需要说明的是,传统的工控入侵检测方式为:对工控网络中的流量进行分析,然后通过学习流量的特点得到流量特征,使用流量特征作为工控系统的入侵检测特征,训练工
控入侵检测模型。然而,使用流量特征作为工控系统的入侵检测的参考依据,只能在一定程
度上检测出工控系统的状态。但是,如果攻击者只篡改工控指令的数据域,仅仅通过检测流
量特征不一定能够发现这种篡改,而使用工控系统中各个工控设备所采集的数据作为工控
入侵检测的参考依据,可以为检测这种入侵行为提供有效依据。也就是说,利用各个工控设
备所采集的数据,作为工控入侵检测的参考特征,训练所得到的工控入侵检测模型,其识别
入侵行为的准确性较高。
[0054] S102:对以往各个预设时间周期内所采集的、且归属于同一维度的各个数据进行标准化处理,得到归属于同一维度的各个有效数据。
[0055] 其中,归属于同一维度的各个数据均为同一工控设备所采集的数据,由于同一工控设备所采集的数据在某一个取值上可能存在上下波动、或者逐渐变化(例如增长、减小)
的情况,因此,不同的工控设备所采集的数据在值域上存在较大的差别,例如,温度传感器
所采集的数据(即温度)的取值范围为[‑50,50],压力传感器所采集的数据(即压力)的取值
范围为[1000,3000]。
[0056] 显然,各个维度的数据具有不同的量纲和数量级,当直接利用各个维度的数据作为后续模型的训练输入,则会突出取值较高的数据在模型中的作用,以及相对削弱取值较
低的数据在模型中的作用,从而降低模型的检测结果的可靠性。为了保证模型的检测结果
的可靠性,需对各个维度的数据进行标准化处理。
[0057] 所谓的标准化处理,实质就是将有量纲的数据进行无量纲化处理,即将各个维度的数据的波动程度和均值都稳定在预设取值范围内。在本申请实施例中,对以往各个预设
时间周期内所采集的、且归属于同一维度的各个数据进行标准化处理的具体过程,可以参
见公式(1)所示。
[0058] (1)。
[0059] 在公式(1)中,x'代表归属于同一维度的各个有效数据,x代表以往各个预设时间周期内、且归属于同一维度的各个数据,xmedian代表以往各个预设时间周期内、且归属于同
一维度的各个数据的中位数,d代表以往各个预设时间周期内、且归属于同一维度的各个数
据的绝对偏差,绝对偏差的计算公式如公式(2)所示。
[0060]   (2)。
[0061] 在公式(2)中,N代表以往各个预设时间周期内、且归属于同一维度的各个数据的总数,n为以往各个预设时间周期内、且归属于同一维度的各个数据的索引。
[0062] 所谓的中位数,其计算原理为:按照取值由小到大的顺序(也可以按照由大到小的顺序),对以往时间段内所采集的、且归属于同一维度的N个数据进行排序,得到数据序列,
并选取数据序列中的中位数。一般来讲,若N为奇数,则xmedian等于数据序列中序位为(N+1)/
2的数据的取值。若N为偶数,则xmedian等于第一数值和第二数值的平均值,第一数值为数据
序列中序位为N/2的数据的取值,第二数值为数据序列中序位为N/2+1的数据的取值。
[0063] 在本申请实施例中,可以将公式(1)和公式(2)看作为预设标准化公式。
[0064] 可选的,标准化处理的具体实现原理,可以概括为:计算以往各个预设时间周期内所采集的、且归属于同一维度的各个数据的中位数和绝对偏差;将归属于同一维度的各个
数据、中位数以及绝对偏差代入预设标准化公式中,计算得出归属于同一维度的各个有效
数据。
[0065] S103:对于每个历史工控信息,对归属于同一历史工控信息的各个有效数据进行降维处理,得到每个历史工控信息的特征。
[0066] 其中,可以利用自编码(Auto Encoder)模型,对归属于同一历史工控信息的各个有效数据进行降维处理,具体的,将归属于同一工控信息的各个有效数据作为自编码模型
的输入,经由自编码模型中的编码函数encoder(g),将各个有效数据x'映射到预设的特征
空间z中,实现对各个有效数据的降维处理。
[0067] 需要说明的是,对归属于同一历史工控信息的各个有效数据进行降维处理,其目的是为了从各个有效数据中提取出效果最优(即最能够体现工控信息的特点)的有效数据,
作为历史工控信息的特征。
[0068] 在本申请实施例中,特征的具体表达形式可以为向量。
[0069] S104:按照采集时间由早到晚的顺序,对各个历史工控信息的特征进行排序,得到特征序列。
[0070] 其中,由于各个历史工控信息属于时序数据,为此,各个特征同样也属于时序数据。
[0071] S105:将特征序列中的各个特征作为训练样本,输入至预设的门控循环单元(Gated Recurrent Unit,GRU)模型中,获得每个训练样本的预测结果,并基于每个训练样
本的预测结果,以及与每个训练样本对应的状态标签,利用预设的损失函数训练调整GRU模
型的参数,得到工控入侵检测模型。
[0072] 其中,为了提高GRU模型输出结果的准确性以及非线性映射的表达能力,可以利用径向基函数作为GRU模型中的激活函数,具体的,可以采用支持向量机(Support Vector 
Machine,SVM)的径向基函数,作为GRU模型中的激活函数。每个训练样本所属工控信息的状
态标签,即为与每个训练样本对应的状态标签。
[0073] 对于GRU模型来讲,GRU 模型具有两个门,即一个重置门(reset gate)和一个更新门(update gate)。从直观上来说,重置门决定了如何将新的输入信息(即训练样本)与前面
的记忆相结合,更新门定义了前面记忆保存到当前时间步的量。具体的,GRU模型的工作原
理为:利用门控机制控制输入、记忆等信息而在当前时间步做出预测。
[0074] 需要说明的是,GRU模型的数学表达式如下述公式(3)、(4)、(5)和(6)所示。
[0075] (3)。
[0076] 在公式(3)中,zt代表更新门,xt代表第t个时间步的输入向量,即特征序列中的第t(z) (z)
个特征,σ代表激活函数(具体为SVM的径向基函数),W 代表预设的权重矩阵,W  xt代表
(z) (z)
对xt进行线性变换,U 代表预设的偏移矩阵,ht‑1代表前一个时间步的信息,U ht‑1代表对
ht‑1进行线性变换。
[0077] 更新门将W(z) xt和U(z) ht‑1这两部分信息相加并投入到 SVM的径向基函数中,因此,将激活结果压缩到 0 到 1 之间。
[0078]   (4)。
[0079] 在公式(4)中,rt代表重置门,W(r)代表预设的权重矩阵,W(r) xt代表对xt进行线性(r) (r)
变换,U 代表预设的偏移矩阵,U ht‑1代表对ht‑1进行线性变换。
[0080] 重置门将W(r) xt和U(r)ht‑1这两部分信息相加并投入到SVM的径向基函数中,得到激活值。本质上来说,重置门主要决定了到底有多少过去的信息需要遗忘。
[0081]   (5)。
[0082] 在公式(5)中,h't代表当前记忆内容,W代表预设的矩阵,tanh代表双曲正切激活函数,W xt代表对xt进行线性变换,U代表预设的矩阵,rt⊙Uht‑1 代表计算rt与Uht‑1之间的
哈达玛积(简称为Hadamard乘积),即计算rt与Uht‑1之间的对应元素乘积。由于重置门rt是一
个由 0 到 1 组成的向量,因此,h't可以用于衡量门控开启的大小,具体的,若元素对应的
门控值h't为 0,那么h't就代表这个元素的信息完全被遗忘掉。此外,Hadamard 乘积将确定
所要保留与遗忘的以前信息。
[0083] 公式(5)用于将W xt和rt⊙Uht‑1这两部分信息相加并投入到双曲正切激活函数中,得到当前记忆内容。由公式(4)可知,在重置门的使用中,新的记忆内容将使用重置门来存
储过去相关的信息。
[0084]   (6)。
[0085] 在公式(6)中,ht代表当前时间步的最终记忆(具体为最终门控循环单元输出的内容),zt代表更新门的激活结果,zt同样以门控的形式控制了信息的流入,zt⊙ht‑1代表前一
时间步保留到最终记忆的信息,(1‑zt)⊙h't代表当前记忆保留至最终记忆的信息,zt⊙ht‑1
所示信息与(1‑zt)⊙h't所示信息的总和即为ht。
[0086] 预设的损失函数,又可以称为代价函数,用于衡量GRU模型的输出(即训练样本的预测结果)与目标(即与训练样本对应的状态标签)之间的差距(该差距来用于评估工控系
统是否遭受到入侵,即用于评估工控系统的状态),该差距可以用来更新GRU模型的各个参
(z) (z) (r) (r)
数(即上述公式提及的W 、U 、W  、U 、W与U),使得差距不断减小,最终会低于预设阈
值。可选的,预设的损失函数具体可以为均方误差(Mean Square Error,MSE)函数。
[0087] 为了能够提升GRU模型的预测精度,避免GRU模型因训练样本所具有的大样本、多特征、以及个别特征缺失等特点,而无法找到合适的参数致使预测精度降低的问题出现,为
此,在训练GRU模型之前,还需要确定GRU模型的超参数。可选的,本申请实施例所采用的超
参数,包括但不限于为:学习率、隐藏层层数、每层神经元的数量等。此外,确定GRU模型的超
参数的具体实现方式包括但不限于为网格搜索法。
[0088] S106:获取监控系统在当前预设时间周期内所采集的工控信息。
[0089] 其中,工控信息包括各个维度的数据,每个维度的数据为:工控系统中每个工控设备在当前预设时间周期内所采集的数据。
[0090] S107:对工控信息中各个维度的数据进行标准化处理,得到各个目标数据。
[0091] 其中,可以利用以往各个预设时间周期内所采集的各个维度的数据,实现对工控信息中各个维度的数据进行标准化处理,标准化处理的具体实现原理,可以参见S102所示
步骤的解释说明。
[0092] S108:对各个目标数据进行降维处理,得到工控信息的特征。
[0093] 其中,对各个目标数据进行降维处理的具体实现方式,包括但不限于为:将各个目标数据作为自编码模型的输入,经由自编码模型中的编码函数,将各个目标数据映射到预
设的特征空间中,得到工控信息的特征。
[0094] S109:将工控信息的特征输入至工控入侵检测模型中,得到工控入侵检测模型输出的检测结果。
[0095] 其中,检测结果用于指示工控系统的状态。具体的,若检测结果的取值为1,则确定工控系统被入侵,若检测结果的取值为0,则确定工控系统未被入侵。
[0096] S110:在确定检测结果指示工控系统被入侵的情况下,向用户发送报警提示。
[0097] 综上所述,相较于现有技术,本实施例所示方案利用工控系统各个工控设备所采集的数据,作为工控入侵检测的参考特征,并以GRU模型作为参考模型,构建工控入侵检测
模型,利用工控入侵检测模型,能够准确识别出针对工控指令的数据域进行篡改的入侵行
为,提高工控入侵检测的识别准确率。此外,对各个工控设备所采集的数据进行标准化处理
以及降维处理,使得工控入侵检测模型的检测结果更加可靠,从而进一步提高工控入侵检
测的识别准确率。
[0098] 需要说明的是,上述实施例提及的S101,为本申请所述工控入侵检测方法的一种可选的实现方式。此外,上述实施例提及的S102,也为本申请所述工控入侵检测方法的一种
可选的实现方式。为此,上述实施例所示的流程,可以概括为图2所示的方法。
[0099] 如图2所示,为本申请实施例提供的另一种工控入侵检测方法的流程示意图,包括如下步骤:
[0100] S201:获取预设的监控系统在当前预设时间周期内所采集的工控信息。
[0101] 其中,工控信息包括多个维度的数据;每个维度的数据为:工控系统中每个工控设备在当前预设时间周期内所采集的数据。
[0102] S202:对工控信息中各个维度的数据进行标准化处理,得到各个目标数据。
[0103] S203:对各个目标数据进行降维处理,得到工控信息的特征。
[0104] S204:将特征输入至预先构建的工控入侵检测模型中,得到工控入侵检测模型输出的检测结果。
[0105] 其中,工控入侵检测模型基于样本工控信息的特征作为输入,并以人工针对样本工控信息所标定的状态标签作为训练目标,预先训练得到。样本工控信息为:监控系统在以
往各个预设时间周期内所采集的历史工控信息;状态标签用于指示工控系统的状态。
[0106] S205:在确定检测结果指示工控系统处于被入侵的状态的情况下,向用户发送报警提示。
[0107] 综上所述,相较于现有技术,本实施例所示方案利用工控系统各个工控设备所采集的数据,作为工控入侵检测的参考特征,并以GRU模型作为参考模型,构建工控入侵检测
模型,利用工控入侵检测模型,能够准确识别出针对工控指令的数据域进行篡改的入侵行
为,提高工控入侵检测的识别准确率。此外,对各个工控设备所采集的数据进行标准化处理
以及降维处理,使得工控入侵检测模型的检测结果更加可靠,从而进一步提高工控入侵检
测的识别准确率。
[0108] 与上述本申请实施例提供的工控入侵检测方法相对应,本申请实施例还提供了一种工控入侵检测装置。
[0109] 如图3所示,为本申请实施例提供的一种工控入侵检测装置的架构示意图,包括:
[0110] 获取单元100,用于获取预设的监控系统在当前预设时间周期内所采集的工控信息;工控信息包括多个维度的数据;每个维度的数据为:工控系统中每个工控设备在当前预
设时间周期内所采集的数据。
[0111] 标准化单元200,用于对工控信息中各个维度的数据进行标准化处理,得到各个目标数据。
[0112] 降维单元300,用于对各个目标数据进行降维处理,得到工控信息的特征。
[0113] 其中,降维单元300具体用于:将各个目标数据作为预设的自编码模型的输入,经由自编码模型中的编码函数,将各个目标数据映射到预设的特征空间中,得到工控信息的
特征。
[0114] 检测单元400,用于将特征输入至预先构建的工控入侵检测模型中,得到工控入侵检测模型输出的检测结果;工控入侵检测模型基于样本工控信息的特征作为输入,并以人
工针对样本工控信息所标定的状态标签作为训练目标,预先训练得到;样本工控信息为:监
控系统在以往各个预设时间周期内所采集的历史工控信息;状态标签用于指示工控系统的
状态。
[0115] 其中,检测单元400用于预先训练得到工控入侵检测模型的过程,包括:获取监控系统在以往各个预设时间周期内所采集的历史工控信息,以及人工针对每个历史工控信息
所标定的状态标签;历史工控信息包括多个维度的数据;对以往各个预设时间周期内所采
集的、且归属于同一维度的各个数据进行标准化处理,得到归属于同一维度的各个有效数
据;对于每个历史工控信息,对归属于同一历史工控信息的各个有效数据进行降维处理,得
到每个历史工控信息的特征;按照采集时间由早到晚的顺序,对各个历史工控信息的特征
进行排序,得到特征序列;将特征序列中的各个特征作为训练样本,输入至预设的门控循环
单元模型中,获得每个训练样本的预测结果,并基于每个训练样本的预测结果,以及与每个
训练样本对应的状态标签,利用预设的损失函数训练调整门控循环单元模型的参数,得到
工控入侵检测模型;其中,门控循环单元模型所使用的激活函数为:支持向量机的径向基函
数。
[0116] 检测单元400还用于:预先利用网格搜索算法,确定门控循环单元模型的超参数。
[0117] 检测单元400具体用于:计算以往各个预设时间周期内所采集的、且归属于同一维度的各个数据的中位数和绝对偏差;将归属于同一维度的各个数据、中位数以及绝对偏差
代入预设标准化公式中,计算得出归属于同一维度的各个有效数据。
[0118] 提示单元500,用于在确定检测结果指示工控系统处于被入侵的状态的情况下,向用户发送报警提示。
[0119] 综上所述,相较于现有技术,本实施例所示方案利用工控系统各个工控设备所采集的数据,作为工控入侵检测的参考特征,并以GRU模型作为参考模型,构建工控入侵检测
模型,利用工控入侵检测模型,能够准确识别出针对工控指令的数据域进行篡改的入侵行
为,提高工控入侵检测的识别准确率。此外,对各个工控设备所采集的数据进行标准化处理
以及降维处理,使得工控入侵检测模型的检测结果更加可靠,从而进一步提高工控入侵检
测的识别准确率。
[0120] 本申请还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,程序执行上述本申请提供的工控入侵检测方法。
[0121] 本申请还提供了一种工控入侵检测设备,包括:处理器、存储器和总线。处理器与存储器通过总线连接,存储器用于存储程序,处理器用于运行程序,其中,程序运行时执行
上述本申请提供的工控入侵检测方法,包括如下步骤:
[0122] 获取预设的监控系统在当前预设时间周期内所采集的工控信息;所述工控信息包括多个维度的数据;每个维度的所述数据为:工控系统中每个工控设备在所述当前预设时
间周期内所采集的数据;
[0123] 对所述工控信息中各个维度的数据进行标准化处理,得到各个目标数据;
[0124] 对各个所述目标数据进行降维处理,得到所述工控信息的特征;
[0125] 将所述特征输入至预先构建的工控入侵检测模型中,得到所述工控入侵检测模型输出的检测结果;所述工控入侵检测模型基于样本工控信息的特征作为输入,并以人工针
对所述样本工控信息所标定的状态标签作为训练目标,预先训练得到;所述样本工控信息
为:所述监控系统在以往各个预设时间周期内所采集的历史工控信息;所述状态标签用于
指示所述工控系统的状态;
[0126] 在确定所述检测结果指示所述工控系统处于被入侵的状态的情况下,向用户发送报警提示。
[0127] 具体的,在上述实施例的基础上,所述对各个所述目标数据进行降维处理,得到所述工控信息的特征,包括:
[0128] 将各个所述目标数据作为预设的自编码模型的输入,经由所述自编码模型中的编码函数,将各个所述目标数据映射到预设的特征空间中,得到所述工控信息的特征。
[0129] 具体的,在上述实施例的基础上,所述工控入侵检测模型基于样本工控信息的特征作为输入,并以人工针对所述样本工控信息所标定的状态标签作为训练目标,预先训练
得到,包括:
[0130] 获取所述监控系统在以往各个预设时间周期内所采集的历史工控信息,以及人工针对每个所述历史工控信息所标定的状态标签;所述历史工控信息包括多个维度的数据;
[0131] 对以往各个预设时间周期内所采集的、且归属于同一维度的各个数据进行标准化处理,得到归属于同一维度的各个有效数据;
[0132] 对于每个所述历史工控信息,对归属于同一所述历史工控信息的各个有效数据进行降维处理,得到每个所述历史工控信息的特征;
[0133] 按照采集时间由早到晚的顺序,对各个所述历史工控信息的特征进行排序,得到特征序列;
[0134] 将所述特征序列中的各个特征作为训练样本,输入至预设的门控循环单元模型中,获得每个所述训练样本的预测结果,并基于每个所述训练样本的预测结果,以及与每个
所述训练样本对应的状态标签,利用预设的损失函数训练调整所述门控循环单元模型的参
数,得到工控入侵检测模型;其中,所述门控循环单元模型所使用的激活函数为:支持向量
机的径向基函数。
[0135] 具体的,在上述实施例的基础上,所述将所述特征序列中的各个特征作为训练样本,输入至预设的门控循环单元模型中之前,还包括:
[0136] 预先利用网格搜索算法,确定所述门控循环单元模型的超参数。
[0137] 具体的,在上述实施例的基础上,所述对以往各个预设时间周期内所采集的、且归属于同一维度的各个数据进行标准化处理,得到归属于同一维度的各个有效数据,包括:
[0138] 计算以往各个预设时间周期内所采集的、且归属于同一维度的各个数据的中位数和绝对偏差;
[0139] 将归属于同一维度的各个数据、所述中位数以及所述绝对偏差代入预设标准化公式中,计算得出归属于同一维度的各个有效数据。
[0140] 本申请实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实
施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,
该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计
算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部
分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光
盘等各种可以存储程序代码的介质。
[0141] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
[0142] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的
一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请
将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一
致的最宽的范围。