本发明涉及具有网络特性的物理系统融合的控制和信息安全领域,具体涉及一种应用于网络控制系统的安全及攻击检测和防御的架构设计和模型的建立。
背景技术:
在网络控制系统中,随着控制目标和控制器的广域异地分布的广泛应用,信息安全问题逐渐成为具备网络特征的控制系统正常运行的威胁甚至造成危害,尤其是对关乎国家安全和具有重大经济效益、前景的关键设备安全。所谓的关键设备的安全,如电网系统中的SCADA系统、核电站中的离心机转速监测系统、分布式编队执行任务的空军巡航队的协同控制系统等。要求由控制器发出的执行任务的命令能够准确及时到达而不被截获和篡改,同时监测执行设备运转的重要、关键数据能够安全及时的传递给控制器所在的控制中心而不被截获、修改和干扰。但是由于系统规模大、复制程度高,加之控制中心和远程被控对象多呈现为地理区域不在同一处的分布式网络控制系统。
研究发现,CPS的物理层的基础设施或设备,尤其是一些关键设备,以及管理层的数据和通信层的信息易于受到远程的攻击,而变得脆弱甚至是功能失灵。网络控制系统作为一类典型的CPS,广泛应用于各类通用和专用系统,如电力系统、交通运输系统、物联网系统、工业控制过程(本地或远程)等。系统的关键的设备和流程的安全和可靠是系统正常运转的保证。2009年,伊朗的核工程项目中的位于纳坦兹的浓缩铀工厂和布什尔核电厂汽轮机控制同时遭到了“超级工厂病毒-Stuxnet”的恶意攻击,使得铀浓缩设备中约1000台离心机因攻击而瘫痪,伊朗的核工程项目的进展受到了极大的影响。
震网(Stuxnet)病毒于2010年6月首次被检测出来,极具毒性和破坏力,是第一个专门定向攻击真实世界中基础(能源)设施的“蠕虫”病毒,比如核电站,水坝,国家电网。12月,一位德国计算机高级顾问表示,“震网”计算机病毒令德黑兰的核计划拖后了两年。
“震网”代码非常精密,主要有两个功能,一是使被攻击对象(如伊朗的离心机)运行失控,二是掩盖被攻击对象发生故障的情况,以“正常运转”的假记录回传给管理部门,造成决策的误判,是一类典型的欺骗攻击方式。
由于在典型的闭环回路的控制系统中,从控制器到远程被控对象的控制信号和从远程被控对象反馈到控制器的输出反馈信号,经过闭环双向回路,控制指令和输出反馈信号都可能会因为网络环节的不安全受到截获、篡改等可能存在的网络攻击,使得系统的鲁棒性下降甚 至系统崩溃。而在一些情况下,攻击方主要采用信息传输过程中的一些漏洞得到一些泄露信息,从中得到系统的特征,根据这些特征进行隐藏攻击。
若要保证系统的稳定和准确运行,必须设计相应的装置和控制单元,对回路中传送和接收端接收的信号进行鉴别,对系统中的故障进行检测和隔离,甚至是设计一套有效的方案对系统遭受攻击后能够快速恢复到正常状态或次正常的稳定状态。保证系统的安全,就是在系统被攻击的情况下,能够有一套有效的方案将攻击信号从被攻击后的信号中。
技术实现要素:
本发明主要是根据在闭环系统的双向回路中可能出现的对控制信号和输出反馈信号可能出现的攻击进行分析和预测,并根据预测可能会出现的信息截获、篡改、拒绝服务等攻击行为进行防御,设计出一种新型的具备反攻击能力的闭环控制系统的架构。在该架构下,针对一般情况下的具有隐藏功能的网络攻击和具备智能性的隐藏攻击分别设计不同的架构环节,对两种不同的网络攻击进行防御,同时这两种结构,在防御攻击的同时也具备不易被检测的特性,在防御和消除网络攻击的同时也能隐藏好自己,这样使得攻击方的时间攻击作用被屏蔽。
针对上述的技术目的,本发明将采取如下的技术方案,具体是:
一种具有攻击防护的工业网络闭环控制方法,包括:在闭环控制系统中,控制器将控制信号经过网络传给远程被控对象,远程被控对象在接收到控制信号后,通过判断控制信号在传输前后的异同,甄别出控制信号在传输中是否遭受攻击系统的隐藏攻击信号μ的攻击或破坏;在甄别出控制信号在传输中遭受攻击或破坏的情况下,能够获取隐藏攻击信号μ以及远程被控对象的真实控制信息,该真实控制信息为与控制信号近似的真实控制信号;将真实控制信息输入远程被控对象,以维持整个工业网络控制的正常工作,得到远程被控对象在真实控制信号下工作时的测量信息;将隐藏攻击信号μ输入虚拟被控对象,以模拟攻击状态下的整个工业网络控制的工况,得到虚拟被控对象在隐藏攻击信号μ下工作时的虚拟测量信息;将远程被控对象在真实控制信号下工作时的测量信息、虚拟被控对象在隐藏攻击信号下工作时的虚拟测量信息融合后,得到融合信息;在融合信息回传至控制器前,通过判断融合信息在传输前后的异同,判断融合信息是否在回传过程中遭受攻击系统的隐藏攻击信号η的攻击或破坏;在判断出融合信息在回传过程中遭受攻击或破坏的情况下,能够获取隐藏攻击信号η以及与融合信息近似的融合替代信息;以该融合替代信息输入控制器,计算下一周期的控制信号。
本发明的另一技术目的是提供一种具有攻击防护和屏蔽的反攻击工业网络闭环架构,包 括:控制器,远程被控对象,设置在控制器前端的前端输出反馈处理装置,设置在控制器后端的后端控制输出融合、编码处理单元,设置在远程被控对象前端的前端接收信号解码、处理单元,以及设置在远程被控对象后端的后端测量输出融合、编码处理单元;其中:所述的后端控制输出融合、编码处理单元,能够完成控制信号的时间戳形成、加密、数据封装;采用明文和隐文结合编码控制信号;所述的前端接收信号解码、处理单元,包括控制信号攻击检测模块、控制信号攻击防护模块、隐藏攻击模拟模块;所述的控制信号攻击检测模块,根据控制信号在远程传输前后的异同,甄别出控制信号在远程传输中是否遭受攻击系统的隐藏攻击信号μ的攻击或破坏;且在判断出控制信号在传输中遭受攻击系统的隐藏攻击信号μ的攻击或破坏时,启动控制信号攻击防护模块;所述的控制信号攻击防护模块,用于获取隐藏攻击信号μ以及与控制信号近似的远程被控对象的真实控制信息,并将所得到的隐藏攻击信号μ输入隐藏攻击模拟模块,真实控制信息输入远程被控对象;所述的隐藏攻击模拟模块,具有模型结构与远程被控对象近似的虚拟被控对象,通过输入的隐藏攻击信号μ,模拟攻击状态下的整个工业网络控制的工况,得到虚拟被控对象在隐藏攻击信号μ下工作时的虚拟测量信息;所述的远程被控对象,通过输入的真实控制信息,得到远程被控对象在真实控制信息下工作时的测量信息;后端测量输出融合、编码处理单元,具有信号融合模块以及数据加密编码封装模块;信号融合模块,能够分别完成远程被控对象在真实控制信息控制下的输出和虚拟被控对象在隐藏攻击信号μ下的虚拟测量信息的融合处理;数据加密编码封装模块,对输入的数据能够完成加密编码封装,包括时间戳形成、加密、数据封装,并采用明文和隐文结合编码传输信号;所述的前端输出反馈处理装置,包括反馈信息攻击检测模块、反馈信息攻击防护模块;所述的反馈信息攻击检测模块,根据反馈信息在传输前后的异同,判断反馈信息是否在回传过程中遭受攻击系统的隐藏攻击信号η的攻击或破坏;当判断出反馈信息在回传过程中遭受攻击系统的隐藏攻击信号η的攻击或破坏时,启动反馈信息攻击防护模块;所述反馈信息攻击防护模块,用于获取隐藏攻击信号η以及与反馈信息近似的反馈真实信息;所述控制器,通过输入的反馈信息,结合控制律,计算下一周期的控制信号。
根据上述的技术方案,本发明具有如下的有益效果:
本申请比传统常用容错控制中采用的冗余单元结构精简,具有成本低,效率高的优点。同时还具备了容错控制无法检测隐藏(或欺骗)攻击的特点。
附图说明
图1为闭环系统反攻击架构工作原理示意图;
图2为控制信号数据包(帧)封装结构示意图;
图3为输出信号数据包(帧)封装结构示意图;
图4具备前处理单元和后处理单元的攻击可屏蔽反攻击架构示意图;
图5数据分离并行反攻击结构图;
图6隐藏攻击具有智能隐藏单元的流程图;
图7隐藏攻击无智能隐藏单元的流程图;
注:图中虚线框中的是对网络环境中隐藏攻击的模型结构的设计和建模,P(plant):远程被控对象;Pre-P:输入控制信号预处理单元,C:(controller):控制器;Pre-C:控制器前端输入的反馈信号的预处理环节;CA(Covert Agent):隐藏智能(攻击)单元。
具体实施方式
下面将结合附图详细地说明本发明所涉及的技术方案。
系统启动之初,在控制对象端,因存有训练、学习的良好数据,在[0,ts]时间段内,系统状况正常,为后续过程中选择需要的可信数据提供依据,这个是一个非常重要的设计前提。
根据图1,闭环系统的反攻击架构工作原理和工作过程如下,启动系统,控制序列按照图2所示三个部分进行数据封装,对工信号和鉴别信号分别采用显性编码和隐性编码技术进行编码,然后通过网络媒介传送至远程控制端,远程控制端接收到检测信号,远程控制端接收到控制信号之后进行鉴别,若没有发现被攻击、篡改,系统则正常进行指令执行,若发现控制信号被攻击或篡改等,则从前期的历史健康数据中选取比较合适的数据信息代替执行,然后系统运行的传感和测量输出按照图3所示封装数据,并通过显性和隐性编码,然后通过网络将数据传送回控制器端,形成一个闭环的回来。
在本地控制器端,对接收到的回传输出信号进行攻击检测,若没有被攻击,代如计算,得出下一时刻(周期)的控制决策信息,若检测发现回传的输出信号遭到攻击或者篡改等,则从前期的历史数据库中选择最佳的历史信息作为依据,替换已经被攻击或被病毒感染的数据。
根据图4所示,在控制器和执行机构(本地控制中心和远程被控对象)的信号处理单元的前端和后端均设计增加了前置单元和后处理单元。本地控制的后置单元主要完成控制信息的时间戳、控制输入信号和控制输入特征信号的编码和传送;而前置单元主要负责将远程控制对象传回的反馈信号根据类型、大小、结构等和控制规则下的预测结果已经前期训练的健康数据做对比分析,鉴别、判定回传数据是否遭到攻击、篡改或病毒感染等,为下一周期控制决策提供依据。
与本地控制器相比,远程被控对象端刚好相反,被控对象后端功能单元主要完成设备运 行后的测量输出信号的数据封装,以及数据编码和传送;而在远程被控对象前端,主要完成对从网络通道接收的控制信息的解码和鉴别计算,提取出原信号送给控制对象(执行结构),然后将检测得到攻击相关数据直接送到控制对象后端,然后与执行机构运行后的测量输出一起封装传送。该检测单元主要用于确认信息在从控制器传送到远程被控对象的环节中是否遭受攻击、篡改或病毒感染等,以保证控制的有效性和安全性。
换句话说,本发明提供了一种具有攻击防护的工业网络闭环控制方法,包括:在闭环控制系统中,控制器将控制信号经过网络传给远程被控对象,远程被控对象在接收到控制信号后,通过判断控制信号在传输前后的异同,甄别出控制信号在传输中是否遭受攻击系统的隐藏攻击信号μ的攻击或破坏;在甄别出控制信号在传输中遭受攻击或破坏的情况下,能够获取隐藏攻击信号μ以及远程被控对象的真实控制信息,该真实控制信息为与控制信号近似的真实控制信号;将真实控制信息输入远程被控对象,以维持整个工业网络控制的正常工作,得到远程被控对象在真实控制信号下工作时的测量信息;将隐藏攻击信号μ输入虚拟被控对象,以模拟攻击状态下的整个工业网络控制的工况,得到虚拟被控对象在隐藏攻击信号μ下工作时的虚拟测量信息;将远程被控对象在真实控制信号下工作时的测量信息、虚拟被控对象在隐藏攻击信号下工作时的虚拟测量信息融合后,得到融合信息;在融合信息回传至控制器前,通过判断融合信息在传输前后的异同,判断融合信息是否在回传过程中遭受攻击系统的隐藏攻击信号η的攻击或破坏;在判断出融合信息在回传过程中遭受攻击或破坏的情况下,能够获取隐藏攻击信号η以及与融合信息近似的融合替代信息;以该融合替代信息输入控制器,计算下一周期的控制信号。
在融合信息回传至控制器前,通过判断融合信息在传输前后的异同,还能够判断出攻击系统是否具有智能特性;当判断出攻击系统不具有智能时,下一周期的工业网络闭环控制方法简化如下:在闭环控制系统中,控制器将控制信号经过网络传给远程被控对象,被控对象在接收到控制信号后,通过判断控制信号在传输前后的异同,甄别出控制信号在传输中是否遭受隐藏攻击信号μ的攻击或破坏;在甄别出控制信号在传输中遭受攻击或破坏的情况下,能够获取隐藏攻击信号μ以及远程被控对象的真实控制信息,该真实控制信息为与控制信号近似的真实控制信号;将真实控制信息输入远程被控对象,以维持整个工业网络控制的正常工作,得到被控对象在真实控制信号下工作时的测量信息;将隐藏攻击信号μ输入虚拟被控对象,以模拟攻击状态下的整个工业网络控制的工况,得到虚拟被控对象在隐藏攻击信号μ下工作时的虚拟测量信息;将远程被控对象在真实控制信号下工作时的测量信息回传至控制器前,通过判断测量信息在传输前后的异同,判断测量信息是否在回传过程中遭受隐藏攻击信 号η的攻击或破坏;在判断出测量信息在回传过程中遭受攻击或破坏的情况下,能够获取隐藏攻击信号η以及与测量信息近似的测量替代信息;以该测量替代信息输入控制器,计算下一周期的控制信号。
基于上述的闭环控制方法,本发明提供了一种具有攻击防护和屏蔽的反攻击工业网络闭环架构,包括:控制器,远程被控对象,设置在控制器前端的前端输出反馈处理装置,设置在控制器后端的后端控制输出融合、编码处理单元,设置在远程被控对象前端的前端接收信号解码、处理单元,以及设置在远程被控对象后端的后端测量输出融合、编码处理单元;其中:所述的后端控制输出融合、编码处理单元,能够完成控制信号的时间戳形成、加密、数据封装;采用明文和隐文结合编码控制信号;所述的前端接收信号解码、处理单元,包括控制信号攻击检测模块、控制信号攻击防护模块、隐藏攻击模拟模块;所述的控制信号攻击检测模块,根据控制信号在远程传输前后的异同,甄别出控制信号在远程传输中是否遭受攻击系统的隐藏攻击信号μ的攻击或破坏;且在判断出控制信号在传输中遭受攻击系统的隐藏攻击信号μ的攻击或破坏时,启动控制信号攻击防护模块;所述的控制信号攻击防护模块,用于获取隐藏攻击信号μ以及与控制信号近似的远程被控对象的真实控制信息,并将所得到的隐藏攻击信号μ输入隐藏攻击模拟模块,真实控制信息输入远程被控对象;所述的隐藏攻击模拟模块,具有模型结构与远程被控对象近似的虚拟被控对象,通过输入的隐藏攻击信号μ,模拟攻击状态下的整个工业网络控制的工况,得到虚拟被控对象在隐藏攻击信号μ下工作时的虚拟测量信息;所述的远程被控对象,通过输入的真实控制信息,得到远程被控对象在真实控制信息下工作时的测量信息;后端测量输出融合、编码处理单元,具有信号融合模块以及数据加密编码封装模块;信号融合模块,能够分别完成远程被控对象在真实控制信息控制下的输出和虚拟被控对象在隐藏攻击信号μ下的虚拟测量信息的融合处理;数据加密编码封装模块,对输入的数据能够完成加密编码封装,包括时间戳形成、加密、数据封装,并采用明文和隐文结合编码传输信号;所述的前端输出反馈处理装置,包括反馈信息攻击检测模块、反馈信息攻击防护模块;所述的反馈信息攻击检测模块,根据反馈信息在传输前后的异同,判断反馈信息是否在回传过程中遭受攻击系统的隐藏攻击信号η的攻击或破坏;当判断出反馈信息在回传过程中遭受攻击系统的隐藏攻击信号η的攻击或破坏时,启动反馈信息攻击防护模块;所述反馈信息攻击防护模块,用于获取隐藏攻击信号η以及与反馈信息近似的反馈真实信息;所述控制器,通过输入的反馈信息,结合控制律,计算下一周期的控制信号。
进一步地,所述的前端输出反馈处理装置,还包括攻击系统智能判断模块;该攻击系统智能判断模块,根据融合信息在传输前后的异同进行判断;当攻击系统智能判断模块判断出 攻击系统不具有智能监测模块时,下一周期中,控制信号执行前处理单元中,关闭隐藏攻击模拟模块;远程被控对象后端的后端测量输出融合、编码处理单元中,关闭信号融合模块,直接将远程被控对象在控制真实信号下工作时的测量信息作为反馈信息攻击检测模块的输入信息进行检测判断。
以上部分是闭环系统反攻击架构的大致工作原理,具体细节将继续给出。
若系统满足如下两个假设条件:
假设1:隐藏攻击方已经完全掌握了控制对象的模型信息,即Pu=Πu,表示控制对象的信息已经完全泄露。
假设2:系统除攻击外不受到任何外界扰动的影响,或者外界的扰动不足以影响系统的鲁棒性和安全性。
假设3:假设用于检测的信号和通过信息隐藏技术传送可保证安全。
则会出现系统遭到攻击后因此类攻击方可完全隐藏起攻击行为而不被察觉,因此,设计控制信号组成形式如下:其中Tstamp(k)用于表示时间戳, 表示实际用于控制的控制信息,表示用于鉴别的附加信息利用哈希函数 获得,并分别采用显性编码和隐藏编码技术进行编码。并且根据哈希函数可将任意长度的数据,通过哈希函数生成固定长度的摘要信息(验证信息),然后可以用 来验证的信息是否遭到攻击。在控制系统中,考虑系统的实时性和稳定性,选择相应算法的等级和复杂度。
信号接收端,即所设计的工业控制系统的执行机构端,也就是工业网络中的远程被控端,接收到控制信息后,进行攻击检测,即验证闭环回路中的控制和反馈信号的完整性、机密性、可获得性等指标是否遭到破坏。
上述定义中的hash(.)函数,在信息安全领域中通常会采用各种哈希函数算法来实现,本发明就函数这部分参考现有的哈希函数算法,并允许根据实际设计需求在其中进行修改和完善,进而得到改进型哈希函数,即定义中的hash(.)函数。
根据上述设计,在控制器后端将控制信息的序列,按照设计的三个部分进行加密、封装,然后才用UDP协议进行传送。另外,在本地网络,考虑系统的实时性,一般采用总线协议进行数据传输。
在没有攻击的情况下,到达Pre-plant的控制信号为的序列,仅通过解密运算和上述设计的逆过程,即可得到真实有效的控制信息。Pre-plant单元通过解密运算得到利用和Tstamp(k)的直接大小比较,初步判断系统是否遭受攻击,安全情况下否则可判断系统不安全;然后利用 与的关系进一步判断系统的安全性,安全情况下两者相等,否则两者不等;若成立,则可进一步确定系统是安全的。最后根据时间戳的形成过程,更深一步验证形成时间戳的摘要文件是否相等,更高级别的判定控制信号的安全性。
在[t0,t1,...,tr]时间段内,用于鉴别的附加信息序列 若控制信息在ts(s<r)时刻遭到攻击,此时传输来的控制信号包括以下三个部分:分别为和隐藏攻击信号μ,通过解密运算得到的耦合信息分别为;和其中利用逆函数 得到而通过得到最接近uc(k)的信息,其中 代表健康历史数据库中最接近的值,从历史健康数据库系统中通过查询历史时刻的信息:找到最接近的历史数据uc(k-ih)替代当前时刻的uc(k),输入远程被控对象;然后利用解密得到的此时有关系 成立,通过算法分离出隐藏攻击信号μ。
攻击信号被分离后,被控对象前置处理器替代信号uc(k-ih)和攻击信号μ分别送至真实被控对象和虚拟被控对象两个不同的回路,分别输出真实的输出和攻击拟合输出
然后针对两种不同情况分别设计该部分的数据封装形式和内容:
(一)考虑攻击方没有智能检测功能:
此时只要系统的实际测量输出按照控制器端输出的控制信息的封装形式和方法,封装成如下结构其中为输出的时间戳, 其中F(.)为加密算法函数,为检测验证信息,通过哈希函数运算获得然后利用UDP编码传输,编码过程中对时间戳和测量输出的加密信号采用显性编码,而第三部分的验证信息采用隐性编码,给予更高级的保护。
在控制器的接收端(pre-controller)前置单元,接收到上述远程被控对象的测量输出数据结构为经过网络环境后到达本地解密后的信号为 通过前面的假设3,可以保证控制器的前端处理装置,采用类似于远程被控对象的对接收到的控制信号的处理的方式,可以通过时间戳、加密后的测量输出已经隐性编码传送过来的检测验证信息。
(二)当攻击方回路中存在智能单元:
在远程被控对象到控制器的回路中,攻击方可截获回传的信息,同时因其因一直检测系统和系统的信息泄露,已经初步掌握了控制系统的模型信息,同时也已经破解了明文信息中的控制输入和测量输出的信息,所以才能够实施中间人攻击,将具备隐蔽特性的攻击信号μ,插入到控制信息的序列中,然后在反馈回路中将攻击形成的效果去除,进而达到隐藏攻击(欺骗攻击的效果)。
针对上述这种比较高级的攻击形式,在信息回传的时候,必须将其攻击效果一起封装回传,以便于攻击方在反馈回路将攻击效果去除进而隐藏攻击行为,欺骗控制器做出决策。
将攻击行为μ的影响通过虚拟被控对象的拟合作用,得到拟合输出为然后利用 形成时间戳,然后利用加密算法函数F(.)对和分别进加密,获得密文信号为和并计算作为被控对象末端的测量输出,然后验证信号最后采用UDP协议传输封装了时间戳、综合测量输出已经检测验证信号的数据包
在反馈回路接收数据到的信为采取类似被控对象前端对控制信号的解密类似的过程。因为攻击存在,且攻击方有智能检测和处理单元,因此,我们知道在接收到的信号中中已经去除了攻击信号的作用于远程被控对象的输出,那么这个时候只需要验证如下一些指标来判断系统是否遭受攻击:
(1)检测时间戳,判断是否成立,不成立则说明系统遭受较为验证的攻击;
(2)若(1)成立,判断是否成立,若等式成立,表明系统安全,若等式不成立,则表明系统遭受攻击;
(3)在(2)中等式成立的基础上,进一步解密时间戳,对比原文哈希运算后的摘要文件,更深一步确定系统的安全性;(若系统实时性要求较高,此步骤可以推迟到最 后一步完成,为下个周期决策服务);
(4)利用还原被控对象的测量输出为下一个时刻的控制决策做参考。
在不确定攻击方是否存在智能检测环节之前,先快速高效解密反馈回路回传的数据
得到然后验证几个条件:若条件(i)(ii)成立则可判定攻击系统没有智能检测环节,攻击级别较低,下个周期可改进回传数据的结构,将攻击数据分类后,可以不做任何处理,减少模拟被控对象这个冗余环节的设计。若(i)(iii)条件成立,则可以判断攻击方架构内存在智能检测环节,该环节可以将其攻击效果去除,以达到“中间人”攻击(欺骗攻击)的效果,让控制器端无法发现。
当上述所有条件都不成立的时候,表明测量输出在回传的过程中再次遭受攻击,针对这种情况,需要采用被控对象前端预处理环节的同样思路和方法,对回传并解密后的信号 进行处理,根据历史数据库提供的信息,快速查询找到符合条件的数据分离出反馈回路中的攻击η。然后将健康、安全的数据送至控制器,控制器运算决策下一个周期的控制策略uc(k+1),进入下一个周期循环。