工业控制系统防护方法及工业控制系统防护装置与流程

文档序号:17374727发布日期:2019-04-12 23:10阅读:182来源:国知局
工业控制系统防护方法及工业控制系统防护装置与流程
本发明涉及工业控制系统的安全防护
技术领域
,具体而言,涉及一种工业控制系统防护方法及工业控制系统防护装置。
背景技术
:工业控制系统(industrialcontrolsystems,ics)被用于监管和控制众多工业系统和工艺。常见ics被用于化工厂、发电与输配电系统、配水管网和废水处理设施等关键基础设施。ics通常包含由可编程逻辑控制器(programmablelogiccontroller,plc)控制的传感器和执行器,它们本身由人机界面(humanmachineinterface,hmi)进行管理。现有技术中,监控和数据采集系统(supervisorycontrolanddataacquisition,scada)作为一种ics,其通常包括分布在区域的不同站点。大多数scada网络流量是由自动化流程生成的,主要用于数据采集,以现场设备的定期轮询形式,由用于改变plc和其受控设备(例如电路开关)的操作状态的命令完成控制。但是,现有技术中,许多ics几乎没有防御恶意攻击的措施,其网络组件不会验证与其交互的其他组件的身份和权限(即没有身份验证和授权机制),他们不验证消息内容及其合法性(即没有数据完整性检查);并且通过网络发送的所有数据都是纯文本的(即内部传输不加密),因此,ics网络容易受到网络攻击,特别是会话劫持攻击。技术实现要素:本发明的目的在于,针对上述现有技术中的不足,提供一种工业控制系统防护方法及工业控制系统防护装置,以解决工业控制系统防御恶意攻击能力差,易受网络攻击的问题。为实现上述目的,本申请实施例采用的技术方案如下:第一方面,本申请实施例提供一种工业控制系统防护方法,包括:获取经过对抗样本生成模型训练得到的对抗样本;对对抗样本及正常样本采用混合编码方式进行预处理;将预处理后的对抗样本与正常样本的多种组合导入工业控制系统,用于对工业控制系统中的控制参数进行对抗训练,使工业控制系统具有虚假信息抵御能力。进一步地,获取经过对抗样本生成模型训练得到的对抗样本,包括:搭建对抗样本生成模型;对对抗样本生成模型中的网络参数进行训练,得到训练后的对抗样本生成模型;利用训练后的对抗样本生成模型,对包含有随机噪声的真实传感信息网络sin进行训练,得到对抗样本。进一步地,对抗样本生成模型中的网络参数包括:第一网络的网络参数、第二网络的网络参数,搭建对抗样本生成模型,包括:获取噪声数据z和不同时刻的真实sin,其中,真实sin为工业控制系统中的相关数据;利用维度匹配网络dmn,将噪声数据z从低维度映射到与真实sin一致的高维度;根据第一网络的网络参数,提取真实sin的特征,将真实sin的特征与待生成的数据进行匹配,生成虚假sin;根据第二网络的网络参数,提取虚假sin和真实sin的抽象特征,并对抽象特征进行分类。进一步地,对对抗样本生成模型中的网络参数进行训练,得到训练后的对抗样本生成模型,包括:根据预设方法计算第一网络的第一损失函数,其中,第二网络的网络参数为固定值;根据预设方法计算第二网络的第二损失函数,其中,第一网络的网络参数为固定值;第一损失函数与第二损失函数满足纳什平衡时,确定对对抗样本生成模型中的网络参数训练完成,得到训练后的对抗样本生成模型。进一步地,利用训练后的对抗样本生成模型,对包含有随机噪声的真实传感信息网络sin进行训练,得到对抗样本,包括:保存对抗样本生成模型和训练后的第一网络的参数和所述第二网络的参数;将包含有随机噪声的真实传感信息网络sin输入到第一网络;采用第一网络训练并生成对抗样本。第二方面,本申请实施例提供一种工业控制系统防护装置,包括:计算模块、预处理模块和确定模块;计算模块,用于获取经过对抗样本生成模型训练得到的对抗样本;预处理模块,用于对对抗样本及正常样本采用混合编码方式进行预处理;确定模块,用于将预处理后的对抗样本与正常样本的多种组合导入工业控制系统,用于对工业控制系统中的控制参数进行对抗训练,使工业控制系统具有虚假信息抵御能力。进一步地,计算模块,具体用于搭建对抗样本生成模型;对对抗样本生成模型中的网络参数进行训练,得到训练后的对抗样本生成模型;利用训练后的对抗样本生成模型,对包含有随机噪声的真实传感信息网络sin进行训练,得到对抗样本。进一步地,对抗样本生成模型中的网络参数包括:第一网络的网络参数、第二网络的网络参数,计算模块,具体用于获取噪声数据z和不同时刻的真实sin,其中,真实sin为工业控制系统中的相关数据;利用维度匹配网络dmn,将噪声数据z从低维度映射到与真实sin一致的高维度;根据第一网络的网络参数,提取真实sin的特征,将真实sin的特征与待生成的数据进行匹配,生成虚假sin;根据第二网络的网络参数,提取虚假sin和真实sin的抽象特征,并对抽象特征进行分类。进一步地,还包括参数训练模块,参数训练模块,用于根据预设方法计算第一网络的第一损失函数,其中,第二网络的网络参数为固定值;根据预设方法计算第二网络的第二损失函数,其中,第一网络的网络参数为固定值;第一损失函数与第二损失函数满足纳什平衡时,确定对对抗样本生成模型中的网络参数训练完成,得到训练后的对抗样本生成模型。进一步地,计算模块,还用于保存对抗样本生成模型和训练后的第一网络的参数和第二网络的参数;将包含有随机噪声的真实传感信息网络sin输入到第一网络;采用第一网络训练并生成对抗样本。本申请的有益效果是:通过生成式对抗网络和长短时记忆单元生成异常攻击作为对抗样本进行对抗训练,提高工业控制系统面对对抗攻击的鲁棒性和防御能力。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本申请实施例提供的工业控制系统防护方法流程示意图;图2为本申请实施例提供的对抗样本生成方法流程示意图一;图3为本申请实施例提供的对抗样本生成方法流程示意图二;图4为本申请实施例提供的对抗样本生成模型结构示意框图;图5为本申请实施例提供的对抗样本生成方法流程示意图三;图6为本申请实施例提供的对抗样本生成方法流程示意图四;图7为本申请实施例提供的预测水处理系统攻击结果图;图8为本申请一实施例提供的工业控制系统防护装置结构示意图;图9为本申请另一实施例提供的工业控制系统防护装置结构示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。第一实施例图1为本申请实施例提供的工业控制系统防护方法流程示意图,该方法可以由计算机、或服务器等设备执行,但不具体限制。如图1所示,该工业控制系统防护方法包括:s101、获取经过对抗样本生成模型训练得到的对抗样本。可选地,本实施例中通过引入时序编码的生成式对抗网络和长短时记忆单元,设计了无监督和监督相结合的深度学习模型,通过该深度学习模型对输入模型中的传感信息网络(senseinformationnetwork,简称sin)训练,生成对抗样本。该深度学习模型在样本生成和分类中均具有较好的效果。s102、对对抗样本及正常样本采用混合编码方式进行预处理。具体地,对步骤s101中训练生成的对抗样本数据以及不包含虚假信息的正常样本数据,采用多种编码方式进行重新编码,在sin中,包括节点的状态值和节点间的连接关系,节点的状态值既有离散值也有连续值;对于离散的状态值,不需要对其进行重新编码,其保持不变;对于连续的状态值,分别采用独热码(one-hot)编码和温度计码(thermometer)编码,然后将编码后的结果与离散的状态值进行级联叠加,代替原先的连续状态值。例如,对于n维的状态值,包含n1维的连续状态和n2维的离散状态,将n1维的连续状态值经过离散编码得到2*n1维的离散值,与原先的n2维离散值进行级联组合,得到新的2*n1+n2维的状态值作为输入。表1连续值离散值(one-hot)离散值(thermometer)0.11010000000001111111110.67000000100000000011110.9800000000010000000001参见表1,one-hot编码和thermometer编码方式为:表中将状态值归一化为0-1,然后等分为10份,将0.1作为离散编码过程中的阶跃值,对于不同的阶跃值,同一个连续数据能够得到不同的离散编码结果;通过将连续的状态值编码为离散的状态值,在一定程度上也能够提高工业控制系统的稳定性,例如,当攻击者的攻击使得表中0.11的状态值变为0.15时,离散编码结果不变,模型的输出不变。s103、将预处理后的对抗样本与正常样本的多种组合导入工业控制系统,用于对工业控制系统中的控制参数进行对抗训练,使工业控制系统具有虚假信息抵御能力。需要说明的是,将预处理后的对抗样本和正常样本进行多种不同强度的组合,是为了实现多强度的对抗训练,使得训练后的该工业控制系统具有更好的防御能力。可选地,在组合过程中,正常的真实sin数据样本和异常的对抗数据样本分别按照10:1、10:2、10:3、…10:10的比例进行有机组合,将组合好的样本数据集导入到工业控制系统中,对该工业控制系统进行对抗训练,具体地,开始阶段的训练,正常样本对抗样本组合比例为10:10,结束阶段的训练,正常样本与对抗样本组合比例为10:1,这是为了让该工业控制系统能够尽可能适应不同强度的对抗攻击和不同类型的对抗攻击,同时尽可能保持其原始的性能。具体地,本实施例中所述的工业控制系统为水处理系统,现实世界中水处理系统中传感器在不同时刻的状态值和相互间的关联关系定义为传感信息网络sin。可选地,该工业控制系统不限于水处理系统,也可为发电与输配电系统和配水管网等。可选地,上述所述的正常样本与异常样本组合比例不限于上述举例,可根据实际情况进行多种组合,只要满足对抗训练性能要求即可。本实施例中通过对抗样本生成模型,训练生成应用于工业控制系统中的对抗样本,通过对抗样本与正常样本的组合,对工业控制系统进行对抗训练,可以使工业控制系统具有虚假信息抵御能力,从而提高了工业控制系统面对恶意攻击的鲁棒性和防御能力。图2为本申请实施例提供的对抗样本生成方法流程示意图一,进一步地,如图2所示,获取经过对抗样本生成模型训练得到的对抗样本,包括:s201、搭建对抗样本生成模型。s202、对对抗样本生成模型中的网络参数进行训练,得到训练后的对抗样本生成模型。s203、利用训练后的对抗样本生成模型,对包含有随机噪声的真实传感信息网络sin进行训练,得到对抗样本。具体地,该对抗样本生成模型为基于时序编码的生成式对抗模型,输入工业控制系统中的真实sin及噪声数据至该模型中,根据输入模型中的数据对该模型中的网络参数进行训练,得到训练后的模型,利用该模型进行数据训练,以生成对抗样本。需要说明的是,在对模型中的网络参数训练直至多个网络损失达到纳什平衡时,训练结束,此时,利用该模型生成对抗样本应用到工业控制系统中时,具有较好的对抗训练效果。图3为本申请实施例提供的对抗样本生成方法流程示意图二,图4为本申请实施例提供的对抗样本生成模型结构示意框图,进一步地,对抗样本生成模型中的网络参数包括:第一网络的网络参数、第二网络的网络参数,如图3和图4所示,搭建对抗样本生成模型,包括:s301、获取噪声数据z和不同时刻的真实sin。其中,真实sin为工业控制系统中的相关数据。s302、利用维度匹配网络dmn,将噪声数据z从低维度映射到与真实sin一致的高维度。需要说明的是,为了能够实现噪声数据z和真实sin的维度匹配,同时保证对抗样本生成模型训练的快速性,维度匹配网络(dimensionmatchingnetwork,简称dmn)采用的是单隐层全连接网络。具体地,dmn可以采用如下公式进行纬度匹配计算:sinnoise=dmn(z)其中,z为噪声数据。s303、根据第一网络的网络参数,提取真实sin的特征,将真实sin的特征与待生成的数据进行匹配,生成虚假sin。可选地,本实施例中,设定第一网络为生成器g网络,第二网络为判别器d网络,可选地,该第一网络g采用双向长短时记忆网络(bilstm)和全连接层fc作为基础结构单元,将两个bilstm进行级联,为了平衡训练过程中的时间复杂度和空间复杂度,g中的bilstm1输出所有时间节点的信息,能够尽可能保留细节信息;g中的bilstm2输出作为fc的输入,fc的作用是将bilstm2提取的数据特征和待生成的数据进行匹配,输出虚假sin。需要说明的是,利用该第一网络g生成虚假sin,既能够使用正常的真实sin生成尽可能接近正常的虚假sin,也可以使用异常的真实sin生成尽可能接近异常的虚假sin,作为对上述工业控制系统进行对抗训练的数据扩充。具体地,第一网络g中,采用如下公式进行数据生成:sin_fake=g(dnn(z),sin_real)其中,sin_fake表示生成的虚假sin,sin_real表示真实的sin,g()表示第一网络。s304、根据第二网络d的网络参数,提取虚假sin和真实sin的抽象特征,并对抽象特征进行分类。可选地,本实施例中该第二网络d采用简单长短时记忆网络(lstm)和全连接网络fc作为基础结构单元,简单lstm能够提取sin的抽象级别信息特征,又不至于太过复杂,满足分类的要求;使用两层级联的fc作为分类器,对lstm提取的信息特征进行分类。具体地,第二网络d中,采用如下公式进行数据分类:lable=d(sin)其中,d()表示第二网络,lable表示第一网络对输入的sin的分类标签,将真实sin判别为1,将虚假sin判别为0,最后将分类结果输出。图5为本申请实施例提供的对抗样本生成方法流程示意图三,进一步地,如图5所示,对所述对抗样本生成模型中的网络参数进行训练,得到训练后的对抗样本生成模型,包括:s501、根据预设方法计算第一网络的第一损失函数,其中,第二网络的网络参数为固定值。具体地,在训练第一网络g时,将第二网络d的网络参数设为固定值,将第一网络g的输出作为第二网络d的输入,通过第二网络d进行计算后,将第二网络d的输出与1作交叉熵,求取第一网络g的第一损失函数loss_g,具体计算公式如下所示:loss_g=cross_entropy(1,d(g(ddn(z),sin_real)))其中,cross_entropy表示交叉熵计算公式,计算出的loss_g值越小,表示第二网络d输出的分类值越接近1。s502、根据预设方法计算第二网络的第二损失函数,其中,第一网络的网络参数为固定值。具体地,在训练第二网络d时,将第一网络g的网络参数设为固定值,一方面,将第一网络g的输出作为第二网络d的输入,将第二网络d的输出与0作交叉熵,求取第二网络d的损失函数loss_d_fake;另一方面,将真实的sin作为第二网络d的输入,将第二网络d的输出和1作交叉熵,求取第二网络d的损失函数loss_d_real,根据损失函数loss_d_fake和损失函数loss_d_real,计算获得第二网络d的第二损失函数loss_d,具体计算公式如下所示:loss_d_fake=cross_entropy(0,d(sin_fake));loss_d_real=cross_entropy(1,d(sin_real));loss_d=loss_d_fake+loss_d_real。需要说明的是,为满足模型参数训练的需求,上述在训练第一网络g时,定义虚假sin为1;在训练第二网络d时,定义虚假sin为0,真实sin为1。具体地,训练第一网络g的网络参数是为了能够生成尽可能接近真实sin作为对抗样本,训练第二网络d的网络参数是为了能够判别真实sin和第一网络生成的sin的区别,通过第一网络和第二网络的交替训练,以使对抗样本生成模型达到,生成的对抗样本,应用到工业控制系统中具有较好的对抗训练特性为止。s503、第一损失函数与第二损失函数满足纳什平衡时,确定对对抗样本生成模型中的网络参数训练完成,得到训练后的对抗样本生成模型。具体地,计算出第一网络g的第一损失函数loss_g和第二网络d的第二损失函数loss_d后,可根据第一损失函数loss_g和第二损失函数loss_d分别绘制出其对应的损失函数曲线,当该两个损失函数曲线达到纳什平衡时,训练结束,得到训练后的对抗样本生成模型。可选地,为了实现更好的网络参数训练效果,本实施例中,先对第二网络d进行预训练操作,即在初始的时候,先固定第一网络g的网络参数,对第二网络d的网络参数训练200次到500次,使第二网络d能够实现更好的判别效果,进而促进第一网络g更好的生成对抗样本。图6为本申请实施例提供的对抗样本生成方法流程示意图四,进一步地,如图6所示,利用训练后的对抗样本生成模型,对包含有随机噪声的真实传感信息网络sin进行训练,得到对抗样本,包括:s601、保存对抗样本生成模型和训练后的第一网络的参数和所述第二网络的参数。s602、将包含有随机噪声的真实传感信息网络sin输入到第一网络。s603、采用第一网络训练并生成对抗样本。具体地,将训练后的对抗样本生成模型中,维度匹配网络dmn和第一网络g从该对抗样本生成模型中共同剥离出来作为一个单独的整体,进行持久化保存,即保存该训练后的对抗样本生成模型的网络结构和网络参数。然后将已有的真实sin和不同分布的噪声进行随机组合,作为第一网络g的输入,然后将输出保存作为对抗样本。需要说明的是,之所以使用由第一网络生成的对抗样本,是因为在真实物理世界中,正常的sin的数据量远远超过异常的sin数据,因此需要利用第一网络对异常的sin数据样本进行扩充。本申请提供一实施例,将本申请的工业控制系统防护方法应用于实现水处理系统传感器网络控制的深度神经网络模型dnn中,通过第一网络生成的虚假sin作为对抗样本,进行对抗训练进而提高dnn模型在面对对抗样本时的控制鲁棒性。图7为本申请实施例提供的预测水处理系统攻击结果图,如图7所示,左图表示输入序列,实线是正常的原数据,虚线表示加入对抗样本的对抗序列。右图表示针对两类输入序列的预测结果。实线表示正常序列,虚线表示预测序列,点线表示对抗样本预测序列。可以看出序列没有添加扰动,预测和原始序列基本吻合。随着扰动的不断加大,导致对抗序列的预测结果完全与正常序列偏离。为了评估水处理系统中深度模型的鲁棒性,本实施例中采用两种评估指标,分别是攻击成功率和扰动幅值。成功率指迭代次数和扰动大小均在限制内的情况下,成功愚弄深度模型的样本占总样本的比例。扰动幅值指对抗扰动的平均幅值,并且已经标准化到0和1范围。参照表2,为本申请实施例提供的有无对抗训练攻击不同模型的结果示意表,表中展示了攻击三个ddn模型的实验结果。可以看出,有对抗训练后,模型被攻击成功率会随之降低,也即水处理系统被恶意袭击成功的概率降低,有效防护了系统安全。要想使攻击成功率增大,需要添加幅值更大的扰动才能最终达到目的,由此可知,利用对抗样本对水处理系统进行对抗训练后,水处理系统的防御能力大大提高。表2模型无对抗训练有对抗训练被攻击成功率0.7230.611扰动幅值0.26580.2874第二实施例图8为本申请一实施例提供的工业控制系统防护装置结构示意图,如图8所示,该工业控制系统防护装置包括:计算模块801、预处理模块802和确定模块803。计算模块801,用于获取经过对抗样本生成模型训练得到的对抗样本。预处理模块802,用于对对抗样本及正常样本采用混合编码方式进行预处理。确定模块803,用于将预处理后的对抗样本与正常样本的多种组合导入工业控制系统,用于对工业控制系统中的控制参数进行对抗训练,使工业控制系统具有虚假信息抵御能力。进一步地,计算模块801,具体用于搭建对抗样本生成模型。对对抗样本生成模型中的网络参数进行训练,得到训练后的对抗样本生成模型。利用训练后的对抗样本生成模型,对包含有随机噪声的真实传感信息网络sin进行训练,得到对抗样本。进一步地,对抗样本生成模型中的网络参数包括:第一网络的网络参数、第二网络的网络参数,计算模块801,具体用于获取噪声数据z和不同时刻的真实sin,其中,真实sin为工业控制系统中的相关数据。利用维度匹配网络dmn,将噪声数据z从低维度映射到与真实sin一致的高维度。根据第一网络的网络参数,提取真实sin的特征,将真实sin的特征与待生成的数据进行匹配,生成虚假sin。根据第二网络的网络参数,提取虚假sin和真实sin的抽象特征,并对抽象特征进行分类。进一步地,还包括参数训练模块804,参数训练模块804,用于根据预设方法计算第一网络的第一损失函数,其中,第二网络的网络参数为固定值。根据预设方法计算第二网络的第二损失函数,其中,第一网络的网络参数为固定值。第一损失函数与第二损失函数满足纳什平衡时,确定对对抗样本生成模型中的网络参数训练完成,得到训练后的对抗样本生成模型。进一步地,计算模块801,还用于保存对抗样本生成模型和训练后的第一网络的参数和第二网络的参数。将包含有随机噪声的真实传感信息网络sin输入到第一网络;采用第一网络训练并生成对抗样本。上述装置可用于执行上述方法实施例提供的方法,具体实现方式和技术效果类似,这里不再赘述。以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(applicationspecificintegratedcircuit,简称asic),或,一个或多个微处理器(digitalsingnalprocessor,简称dsp),或,一个或者多个现场可编程门阵列(fieldprogrammablegatearray,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessingunit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。图9为本申请另一实施例提供的工业控制系统防护装置结构示意图,如图9所示,该装置包括:处理器901和存储器902,其中:存储器902用于存储程序,处理器901调用存储器902存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-onlymemory,简称:rom)、随机存取存储器(英文:randomaccessmemory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1