一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种工控系统网络拓扑安全重构方法、装置及存储介质与流程

2022-11-16 17:17:08 来源:中国专利 TAG:


1.本发明涉及网络领域,尤其涉及一种工控系统网络拓扑安全重构方法、装置及存储介质。


背景技术:

2.当工控系统在运行过程中遭遇网络故障或受到网络攻击时,部分工控网络节点无法正常通讯,影响了工控网络的数据传输,造成工控网络中工控设备间连接关系的变化,相当于从网络中移除相应的工控网络节点,导致本来连通的网络不再连通,引起网络边界的变化。
3.在工控网络中的部分节点受到攻击失陷后,攻击者将会继续对工控系统网络拓扑中的连接关系造成进一步的破坏,使得工控网络中各工控设备认知的网络拓扑不一致或者网络拓扑有误,导致工控网络的连通性受到影响或者网络资源利用率较低,进而造成巨大的损失。因此,在部分节点功能异常的情况下,如何有效地、安全地对工控系统网络的拓扑进行有效的重构是亟待解决的问题。


技术实现要素:

4.为克服相关技术中存在的问题,本发明提供一种工控系统网络拓扑安全重构方法、装置及存储介质。
5.根据本发明实施例的第一方面,提供一种工控系统网络拓扑安全重构方法,所述方法包括:
6.当接收到拓扑重构指令时,基于预置工控网络拓扑重构方案进行工控设备拓扑重构,确定第一工控设备的第一重构拓扑;
7.根据所述第一重构拓扑和与所述拓扑重构指令对应的拓扑重构参量,得到第一拓扑校验向量;
8.将所述第一拓扑校验向量,在工控系统中进行遍历发送,并接收所述工控系统中第二工控设备的第二拓扑校验向量;
9.基于预置工控网络拓扑校验协议,对第二工控设备的第二拓扑校验向量执行拓扑结构校验,确定第二工控设备的第二重构拓扑;
10.若确定得到的第二工控设备的第二重构拓扑与接收到的第二工控设备的第二拓扑校验向量中的第二重构拓扑匹配,则记录第二工控设备的第二拓扑校验向量;
11.基于预设校验规则确定所述第一重构拓扑为目标拓扑,将所述第一拓扑校验向量记录在第一工控设备。
12.根据本发明实施例的第二方面,提供一种工控系统网络拓扑安全重构装置,所述装置包括:
13.第一确定模块,用于当接收到拓扑重构指令时,基于预置工控网络拓扑重构方案进行工控设备拓扑重构,确定第一工控设备的第一重构拓扑;
14.第二确定模块,用于根据所述第一重构拓扑和与所述拓扑重构指令对应的拓扑重构参量,得到第一拓扑校验向量;
15.遍历发送模块,用于将所述第一拓扑校验向量,在工控系统中进行遍历发送,并接收所述工控系统中第二工控设备的第二拓扑校验向量;
16.校验模块,用于基于预置工控网络拓扑校验协议,对第二工控设备的第二拓扑校验向量执行拓扑结构校验,确定第二工控设备的第二重构拓扑;
17.第一纪录模块,用于若确定得到的第二工控设备的第二重构拓扑与接收到的第二工控设备的第二拓扑校验向量中的第二重构拓扑匹配,则记录第二工控设备的第二拓扑校验向量;
18.第二纪录模块,用于基于预设校验规则确定所述第一重构拓扑为目标拓扑,将所述第一拓扑校验向量记录在第一工控设备。
19.根据本发明实施例的第三方面,提供一种电子设备,包括:
20.存储器,其上存储有计算机程序;
21.处理器,用于执行所述存储器中的所述计算机程序,以实现本发明第一方面中任一项所述方法的步骤。
22.根据本发明实施例的第四方面,提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明第一方面中任一项所述方法的步骤。
23.本发明的实施例提供的技术方案可以包括以下有益效果:
24.当接收到拓扑重构指令时,基于预置工控网络拓扑重构方案进行工控设备拓扑重构,确定第一工控设备的第一重构拓扑,并根据第一重构拓扑和与拓扑重构指令对应的拓扑重构参量,得到第一拓扑校验向量,进而通过将第一拓扑校验向量,在工控系统中进行遍历发送,并接收其他工控设备发送的第二拓扑校验向量,以基于预设校验规则确定目标拓扑,以便后续根据目标拓扑进一步执行工控系统拓扑图绘制、数据传输等操作,解决了工控系统治理中网络拓扑固化,不能及时有效对网络拓扑有效、安全地进行重构的问题,避免出现部分工控系统中工控设备离线后网络拓扑重构过程中受到攻击导致各工控设备认知的网络拓扑不一致或者网络拓扑有误,进而引起工控系统受到安全威胁情况,从而进一步了提升工控系统的安全性能。
25.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
26.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
27.图1是根据一示例性实施例示出的一种工控系统网络拓扑安全重构方法的流程图。
28.图2是根据一示例性实施例示出的一种工控系统网络拓扑安全重构装置的框图。
29.图3是根据一示例性实施例示出的一种电子设备的框图。
30.图4是根据一示例性实施例示出的另一种电子设备的框图。
具体实施方式
31.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相匹配的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相匹配的装置和方法的例子。
32.本技术提供的工控系统网络拓扑安全重构方法,可以应用于工控系统,具体可以应用于工控系统中的各个工控设备,工控系统中包括的多个工控设备,其中,工控设备具体可以是智能手机、平板电脑、笔记本电脑、台式计算机、工控机、plc(programmable logic controller,可编程逻辑控制器)等,但并不局限于此。工控设备还可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。工控系统中的部分或全部工控设备具备发送拓扑重构指令,以及对该拓扑重构指令进行处理的能力,下述的工控设备具体可以指具备以上能力的工控设备。
33.图1是根据一示例性实施例示出的一种工控系统网络拓扑安全重构方法的流程图,提供了一种工控系统网络拓扑安全重构方法,以该方法应用于工控系统中的工控设备为例进行说明,如图1所示,包括以下步骤:
34.步骤s101,当接收到拓扑重构指令时,基于预置工控网络拓扑重构方案进行工控设备拓扑重构,确定第一工控设备的第一重构拓扑。
35.具体地,在当前工控设备接收到拓扑重构指令时,获取与拓扑重构指令持有的拓扑重构参量,其中,拓扑重构参量可以包括与拓扑重构指令对应的发送设备指定的拓扑重构配置,即发送设备指定的包括具体重构指标的拓扑重构配置,也可以是其他可实现工控网络重构的不同重构指标的重构配置,可根据实际需求进行调整,其中,重构指标包括用于进行拓扑重构的多种配置信息,例如路由规则、dhcp(dynamic host configuration protocol,动态主机配置协议)配置等等。可以理解的是,该发送设备即为发送拓扑重构指令的工控设备。
36.其中,预置的工控网络拓扑重构方案中包括有多种重构配置,可以根据不同的实际应用场景来进行拓扑重构,并不局限于具体某种重构配置,示例地,工控网络拓扑重构方案中可以包括ntrla(network topology reconfiguration with limited link addition,基于有限添加边的网络拓扑重构)算法对应的重构配置。并且,进行拓扑重构时所需要的拓扑重构参量等(可包含在拓扑重构指令携带的参数以及工控设备配置数据中)也可不同,不局限于本技术中限定的工控设备身份令牌、拓扑重构元素值以及子拓扑分布等数据。针对发送设备所指定的拓扑重构配置,可通过判断预置的工控网络拓扑重构方案中,是否包括发送设备所指定的拓扑重构配置,来确定是否支持相应的拓扑重构配置进行拓扑重构。
37.进一步地,根据所获取的拓扑重构参量确定出发送设备所指定的拓扑重构配置,且确定当前工控设备预置有工控网络拓扑重构方案时,判断所预置工控网络拓扑重构方案中,是否包括发送设备所指定的拓扑重构配置。其中,当从工控网络拓扑重构方案中查询到拓扑重构配置时,即确定工控网络拓扑重构方案所包括的多个重构配置中存在拓扑重构配置时,根据工控网络拓扑重构方案中的拓扑重构配置进行工控设备拓扑重构,确定第一工控设备的第一重构拓扑。
38.步骤s102,根据第一重构拓扑和与拓扑重构指令对应的拓扑重构参量,得到第一拓扑校验向量。
39.具体地,可以基于第一重构拓扑和与拓扑重构指令对应的拓扑重构参量,进行数据固化操作,得到第一拓扑固化向量,并对第一拓扑固化向量进行数据加密操作,得到第一加密头部信息。进而基于第一加密头部信息执行数字标记操作,得到设备标识,并根据第一重构拓扑、拓扑重构参量以及设备标识,得到第一拓扑校验向量。其中,进行数据固化操作例如可以是序列化操作,即能够得到序列化后的拓扑固化向量,以得到更加便于存储或传输的形式。
40.其中,拓扑重构参量包括有与拓扑重构指令对应的重构标识码、重构用户校验信息、子拓扑分布、目标重构配置以及拓扑重构元素值,则具体是对重构标识码、重构用户校验信息、子拓扑分布、目标重构配置、拓扑重构元素值以及第一重构拓扑进行数据固化操作,得到第一拓扑固化向量。其中,重构用户校验信息可以包括发送设备的身份标识信息,例如发送设备的mac地址。
41.进一步地,通过对第一拓扑固化向量进行数据加密操作,以得到相应的第一加密头部信息。其中,具体可以是对第一拓扑固化向量进行哈希散列算法计算,该哈希散列算法例如可以是sha256运算、md5运算等等,哈希散列算法计算表示为计算加密值所用的加密值算法,通过进行哈希散列算法计算,可得到对应的哈希加密信息,即第一加密头部信息。而通过对第一加密头部信息执行数字标记操作,可得到设备标识,进而可根据第一重构拓扑、拓扑重构参量以及设备标识,得到第一拓扑校验向量。
42.在一个实施例中,工控系统中的各工控设备预置工控网络拓扑重构方案,可以理解为数字协议,即通过根据数字协议实现工控系统的拓扑重构。其中,数字协议包括不同重构配置,具备拓扑重构功能和重构拓扑校验功能。具体地,数字协议实现拓扑重构的具体过程如下:
43.1)获取发送设备所指定的拓扑重构配置,并判断是否能成功从数字协议中匹配得到发送设备指定的拓扑重构配置。
44.2)当查询到发送设备指定的拓扑重构配置时,根据数字协议中的拓扑重构配置,对工控设备的工控设备身份令牌和拓扑重构元素值对应匹配。
45.其中,工控设备身份令牌可以是工控设备在工控系统的中的mac地址或者其他唯一标识,拓扑重构元素值可以为随机生成数,该随机数可以是非负自然数,用于和工控设备身份令牌对应匹配。
46.3)对匹配得到的设备重构令牌进行数据加密,得到重构加密数据。
47.其中,进行数据加密可以是通过哈希计算,该哈希计算对应的哈希函数可根据实际应用场景或发送设备的需求进行设置、选择、调整或修改,本发明对此不进行具体限定。
48.4)获取发送设备指示的子拓扑分布,并根据确定的重构加密数据对子拓扑分布进行拓扑定位,确定各工控设备所在的子拓扑,生成重构拓扑。
49.其中,工控系统网络可以包括多个子网络,例如现场网络、监控网络、管理网络、生产网络等,即工控系统网络的拓扑也可以包括对应不同子网络的多个子拓扑,子拓扑分布可以包括子拓扑的数量信息,以及各个子拓扑中工控设备的数量信息等信息。
50.5)获取发送设备指示的重构标识码、重构用户校验信息、子拓扑分布、目标重构配
置以及拓扑重构元素值,得到拓扑重构参量,并对重构拓扑和拓扑重构参量进行数据固化操作,得到拓扑固化向量。
51.6)对拓扑固化向量进行数据加密操作,得到对应的加密头部信息,并对加密头部信息执行数字标记操作,得到设备标识。
52.其中,具体可以是对拓扑固化向量进行哈希散列算法计算,哈希散列算法计算表示为计算加密值所用的加密值算法,通过进行哈希散列算法计算,可得到对应的哈希加密信息,即上述加密头部信息。其中,还可还用其他各类加密值算法进行运算处理,本实施例中不做具体限定。
53.7)根据重构拓扑、拓扑重构参量以及设备标识,生成拓扑校验向量。
54.8)根据重构标识码、重构用户校验信息以及工控设备身份令牌,得到拓扑校验定位行,并将拓扑校验定位行和第一拓扑校验向量对应记录至工控系统中。
55.其中,拓扑校验定位行可以是用于检索校验信息的数据行,上述对应记录工控系统中具体可以是将该数据行以及第一拓扑校验向量创建关联关系后,存储至至工控系统中的某个数据库中。
56.9)将拓扑校验向量遍历发送至工控系统上供第二工控设备进行校验。
57.其中,可以理解的是,该第二工控设备为工控系统中除去上述第一工控设备外的其他的一个或多个工控设备。
58.步骤s103,将第一拓扑校验向量,在工控系统中进行遍历发送,并接收工控系统中第二工控设备的第二拓扑校验向量。
59.遍历发送即是指将第一拓扑校验向量发送至工控系统中的每一个第二工控设备。其中,在将第一拓扑校验向量发送至工控系统中的每一个第二工控设备时,可以是基于重构前的网络拓扑发送的。
60.具体地,工控系统中的各工控设备,在将自身的第一拓扑校验向量遍历发送至工控系统中的第二工控设备进行校验时,同样也会收到工控系统中第二工控设备遍历发送的第二拓扑校验向量。
61.同样地,在当前工控设备将自身的第一拓扑校验向量,遍历发送至工控系统中的第二工控设备进行校验时,第二工控设备同样根据自身所预置工控网络拓扑校验协议,对当前工控设备的第一拓扑校验向量进行校验,并得到相应的校验结果。
62.其中,该预设校验规则可以是一种基于投票实现的共识认证机制,针对每个工控设备而言,当任一重构拓扑至少包含一个工控设备的目标拓扑认证时,则可理解为当前工控设备已收到足够多的目标拓扑认证,表明当前工控设备的拓扑校验向量通过校验,对应重构拓扑为目标拓扑。其中,目标拓扑认证表示工控系统中第二工控设备,对当前工控设备的第一拓扑校验向量进行校验后,得到的校验结果为校验通过时,则对应拓扑校验向量则为目标拓扑认证。
63.步骤s104,基于预置工控网络拓扑校验协议,对第二工控设备的第二拓扑校验向量执行拓扑结构校验,确定第二工控设备的第二重构拓扑。
64.具体地,当前工控设备预置有工控网络拓扑校验协议,用于对第二工控设备的第二拓扑校验向量执行拓扑结构校验。其中,当前工控设备,基于预置工控网络拓扑校验协议,对第二工控设备的第二拓扑校验向量进行数据还原操作,得到拓扑校验标准向量,并从
拓扑校验标准向量中提取出设备标识,以对拓扑校验标准向量中出设备标识外的第二重构拓扑和拓扑重构参量,进行数据固化操作,得到第二拓扑固化向量。
65.其中,第二工控设备的第二拓扑校验向量包括第二重构拓扑,拓扑重构参量以及设备标识,其中,拓扑重构参量包括有与拓扑重构指令对应的重构标识码、重构用户校验信息、子拓扑分布、目标重构配置以及拓扑重构元素值,则具体是对第二重构拓扑、重构标识码、重构用户校验信息、子拓扑分布、目标重构配置以及拓扑重构元素值,进行数据固化操作,得到第二拓扑固化向量。
66.进一步地,通过对第二拓扑固化向量进行数据加密操作,得到第二加密头部信息,并根据第二加密头部信息和重构用户校验信息,对设备标识进行比对,得到比对结果。其中,当比对结果为比对通过时,从第二拓扑固化向量中提取拓扑重构配置,并根据拓扑重构配置,确定第二工控设备的第二重构拓扑。
67.其中,具体可以是对第二拓扑固化向量进行哈希散列算法计算,哈希散列算法计算表示为计算加密值所用的加密值算法,通过进行哈希散列算法计算,可得到对应的哈希加密信息,即第二加密头部信息。而根据第二加密头部信息和重构用户校验信息,对设备标识进行比对,可得到比对结果。
68.在一个实施例中,当比对结果为比对通过时,从第二拓扑固化向量中提取拓扑重构配置,并根据拓扑重构配置,确定第二工控设备的第二重构拓扑。而当比对结果为比对失败时,则确定当前重构拓扑为无效拓扑。
69.步骤s105,若确定得到的第二工控设备的第二重构拓扑与接收到的第二工控设备的第二拓扑校验向量中的第二重构拓扑匹配,则记录第二工控设备的第二拓扑校验向量。
70.具体地,通过将第二拓扑校验向量中的第二重构拓扑,和当前工控设备实际确定的第二重构拓扑进行比对,判断两者是否匹配。其中,当确定得到的第二工控设备的第二重构拓扑与接收到的第二工控设备的第二拓扑校验向量中的第二重构拓扑匹配时,则对第二工控设备的校验通过,将第二工控设备的第二拓扑校验向量进行记录。
71.其中,当确定得到的第二工控设备的第二重构拓扑与接收到的第二工控设备的第二拓扑校验向量中的第二重构拓扑不匹配时,则对第二工控设备的校验失败,移除对应其他第二工控设备的第二拓扑校验向量。
72.步骤s106,基于预设校验规则确定第一重构拓扑为目标拓扑,将第一拓扑校验向量记录在第一工控设备。
73.其中,目标拓扑则是通过预设校验规则验证后确定为有效的网络拓扑。此外,在工控设备纪录对应的拓扑校验向量之后,既可以基于该拓扑校验向量对工控系统中的重构拓扑进行有效地认知,并基于该拓扑校验向量中的重构拓扑执行后续数据传输任务,或者基于目标拓扑实现对工控系统的有效治理和维护。
74.可以理解的是,当前工控设备可基于预设校验规则,确定自身的第一重构拓扑是否为目标拓扑,同样地,第二工控设备也可基于预设校验规则,确定各自的第二重构拓扑是否为目标拓扑。在当前工控设备确定自身的第一重构拓扑为目标拓扑时,将第一拓扑校验向量记录在第一工控设备。
75.具体地,将第一拓扑校验向量,在工控系统中进行遍历发送,并接收工控系统中第二工控设备的第二拓扑校验向量,进而基于预置工控网络拓扑校验协议,对第二工控设备
的第二拓扑校验向量执行拓扑结构校验,确定第二工控设备的第二重构拓扑。其中,若确定得到的第二工控设备的第二重构拓扑与接收到的第二工控设备的第二拓扑校验向量中的第二重构拓扑匹配,则可以确定得到的第二工控设备的第二重构拓扑校验通过,并记录第二工控设备的第二拓扑校验向量。进而基于预设校验规则的共识机制,确定第一重构拓扑为目标拓扑,将第一拓扑校验向量记录在第一工控设备。其中,工控系统中的各工控设备,在将自身的第一拓扑校验向量遍历发送至工控系统中的第二工控设备进行校验时,同样也会收到工控系统中第二工控设备遍历发送的第二拓扑校验向量。由于工控系统中的工控设备均预置有工控网络拓扑校验协议,进行可基于工控网络拓扑校验协议,对第二工控设备遍历发送的第二拓扑校验向量执行拓扑结构校验,确定第二工控设备的重构拓扑是否有效。
76.可以理解的是,当前工控设备可基于预设校验规则,确定自身的第一重构拓扑是否为目标拓扑,同样地,第二工控设备也可基于预设校验规则,确定各自的第二重构拓扑是否为目标拓扑。在当前工控设备确定自身的第一重构拓扑为目标拓扑时,将第一拓扑校验向量记录在第一工控设备。
77.在一个实施例中,工控系统中的各工控设备预置工控网络拓扑校验协议,可以理解为数字协议,即通过根据数字协议实现第二工控设备的重构拓扑校验。数字协议实现重构拓扑校验的具体过程可以包括:
78.1)根据数字协议对拓扑校验向量进行数据还原操作,该数据还原操作例如可以是反序列化操作,得到结构化的拓扑校验向量。
79.2)从拓扑校验向量中提取出设备标识,并对拓扑校验标准向量中的重构拓扑和拓扑重构参量进行数据固化操作,得到序列化后的拓扑固化向量。
80.3)对拓扑固化向量进行数据加密操作,得到对应的加密头部信息。
81.其中,具体可以是对拓扑固化向量进行哈希运算以实现数据加密操作,例如,进行哈希散列算法计算,哈希散列算法计算表示为计算加密值所用的加密值算法,通过进行哈希散列算法计算,可得到对应的哈希加密信息。其中,还可还用其他各类加密值算法进行加密操作,本实施例中不做具体限定。
82.4)根据加密头部信息和重构用户校验信息,对设备标识进行比对,得到比对结果。
83.其中,设备标识可以是基于加密头部信息进行数字签名操作得到的,即数字标记操作即为数字签名操作得到的,上述对设备标识进行比对具体可以是基于数字签名进行验签实现的。
84.5)当比对结果为比对通过时,从第二拓扑固化向量中提取拓扑重构配置,并根据拓扑重构配置,确定第二工控设备的第二重构拓扑。
85.6)当比对结果为比对失败时,则确定当前重构拓扑为无效拓扑,并移除当前重构拓扑。
86.7)判断确定得到的第二工控设备的第二重构拓扑与接收到的第二工控设备的第二拓扑校验向量中的第二重构拓扑是否匹配。
87.8)当确定得到的第二工控设备的第二重构拓扑与接收到的第二工控设备的第二拓扑校验向量中的第二重构拓扑匹配时,则对第二工控设备的校验通过,将第二工控设备的第二拓扑校验向量进行记录。
88.9)当不匹配时,则对第二工控设备的校验失败,移除对应第二工控设备的第二拓扑校验向量。
89.在本发明实施例的上述工控系统网络拓扑安全重构方法中,当接收到拓扑重构指令时,基于预置工控网络拓扑重构方案进行工控设备拓扑重构,确定第一工控设备的第一重构拓扑,并根据第一重构拓扑和与拓扑重构指令对应的拓扑重构参量,得到第一拓扑校验向量,进而通过将第一拓扑校验向量,在工控系统中进行遍历发送,并接收其他工控设备发送的第二拓扑校验向量,以基于预设校验规则确定目标拓扑,以便后续根据目标拓扑进一步执行工控系统拓扑图绘制、数据传输等操作。不仅可以有效地对网络拓扑进行重构,还通过获取第二拓扑校验向量进行校验,有效地保证了拓扑重构的安全性。解决了工控系统治理中网络拓扑固化,不能及时有效对网络拓扑有效、安全地进行重构的问题,避免出现部分工控系统中工控设备离线后网络拓扑重构过程中受到攻击导致各工控设备认知的网络拓扑不一致或者网络拓扑有误,进而引起工控系统受到安全威胁情况,从而进一步了提升工控系统的安全性能。
90.通过将第一拓扑校验向量,在工控系统中进行遍历发送,并接收工控系统中第二工控设备的第二拓扑校验向量,并基于预置工控网络拓扑校验协议,对第二工控设备的第二拓扑校验向量执行拓扑结构校验,确定第二工控设备的第二重构拓扑。若确定得到的第二工控设备的第二重构拓扑与接收到的第二工控设备的第二拓扑校验向量中的第二重构拓扑匹配,则记录第二工控设备的第二拓扑校验向量,进而基于预设校验规则确定第一重构拓扑为目标拓扑,将第一拓扑校验向量记录在第一工控设备。实现了通过工控系统中预置工控网络拓扑校验协议,对工控设备的拓扑校验向量执行拓扑结构校验,以确保被校验的工控设备的拓扑校验向量是否真实有效,避免执行被攻击的工控设备发起的无效或非法的拓扑重构指令,提升工控系统的数据安全性能以及保障工控系统的稳定运行。
91.在一个实施例中,拓扑重构参量还包括:与拓扑重构指令对应的重构标识码和重构用户校验信息,在根据第一重构拓扑和与拓扑重构指令对应的拓扑重构参量,得到第一拓扑校验向量之后,还包括:
92.根据重构标识码、重构用户校验信息以及工控设备身份令牌,得到拓扑校验定位行;将拓扑校验定位行和第一拓扑校验向量对应记录至工控系统中。
93.具体地,当根据第一重构拓扑和拓扑重构参量,生成第一拓扑校验向量后,进一步根据重构标识码、重构用户校验信息以及工控设备身份令牌,得到拓扑校验定位行,则后续需要根据所记录的第一拓扑校验向量时,可根据拓扑校验定位行直接进行定位和匹配,获取与拓扑校验定位行对应记录的第一拓扑校验向量。
94.在一个实施例中,不同重构标识码用于根据目标工控系统配置同步实现工控设备拓扑重构,得到与不同目标工控系统配置对应的目标拓扑。
95.具体地,由于不同发送设备的功能需求以及目标工控系统配置有所不同,为提高对工控系统中各工控设备的重构效率,则可通过设置重构标识码的方式区分不同发送设备,则同一重构标识码的各工控设备可根据发送设备指示的子拓扑分布,进行重构,得到相应的目标拓扑,不同重构标识码的各工控设备则同步实现工控设备拓扑重构,得到对应不同目标工控系统配置的目标拓扑,进一步根据目标拓扑执行后续数据传输任务,或者基于目标拓扑实现对工控系统的有效治理和维护。
96.在一个实施例中,工控设备中预置工控网络拓扑重构方案以及工控网络拓扑校验协议,包括了重构配置和设备标识,一方面增加了拓扑校验的置信度,另一方面也很方便对拓扑校验进行有效性校验。
97.本实施例中,根据重构标识码、重构用户校验信息以及工控设备身份令牌,得到拓扑校验定位行,并将拓扑校验定位行和第一拓扑校验向量对应记录至工控系统中。实现了对第一拓扑校验向量和拓扑校验定位行的对应记录,以便后续需要根据所记录的第一拓扑校验向量时,可根据拓扑校验定位行进行检索定位和匹配,直接获取其对应记录的第一拓扑校验向量,以提升第一拓扑校验向量的获取效率,进一步提升工控系统中的工控设备拓扑重构效率。
98.在一个实施例中,根据工控网络拓扑重构方案中的拓扑重构配置进行工控设备拓扑重构,确定第一工控设备的第一重构拓扑的步骤,包括:
99.根据工控网络拓扑重构方案中的拓扑重构配置,将工控设备身份令牌和拓扑重构元素值对应匹配,得到设备重构令牌;基于设备重构令牌进行数据加密,生成对应的重构加密数据;根据重构加密数据和子拓扑分布,确定第一工控设备的第一重构拓扑。其中,当根据与拓扑重构指令对应的拓扑重构参量,确定出发送设备所指定的拓扑重构配置后,且确定当前工控设备预置有工控网络拓扑重构方案时,判断所预置工控网络拓扑重构方案中,是否包括发送设备所指定的拓扑重构配置。
100.具体地,当从工控网络拓扑重构方案中查询到拓扑重构配置时,即确定工控网络拓扑重构方案所包括的多个重构配置中存在对应的拓扑重构配置时,根据工控网络拓扑重构方案中的拓扑重构配置,将工控设备身份令牌和拓扑重构元素值对应匹配,得到设备重构令牌。其中,工控设备身份令牌可以是工控设备在工控系统中的mac地址或者其他唯一标识,拓扑重构元素值为随机生成数,用于和工控设备身份令牌对应匹配。
101.进一步地,基于设备重构令牌进行数据加密,生成对应的重构加密数据,并根据重构加密数据对子拓扑分布进行拓扑定位,确定工控设备所在的子拓扑,即确定第一工控设备的第一重构拓扑。
102.其中,进行数据加密哈希散列算法,可根据实际应用场景或发送设备的需求进行设置、选择、调整或修改,不进行具体限定。
103.本实施例中,通过根据工控网络拓扑重构方案中的拓扑重构配置,将工控设备身份令牌和拓扑重构元素值对应匹配,以得到设备重构令牌,并基于设备重构令牌进行数据加密,生成对应的重构加密数据,进一步根据重构加密数据和子拓扑分布,可确定第一工控设备的第一重构拓扑。实现了基于工控网络拓扑重构方案中的拓扑重构配置,实现对工控设备的拓扑重构,解决了工控系统治理中网络拓扑固化,不能及时有效对网络拓扑有效、安全地进行重构的问题,避免出现部分工控系统中工控设备离线后网络拓扑重构过程中受到攻击导致各工控设备认知的网络拓扑不一致或者网络拓扑有误,进而引起工控系统受到安全威胁情况,从而进一步了提升工控系统的安全性能。
104.在一个实施例中,确定第二工控设备的第二重构拓扑的步骤,即基于预置工控网络拓扑校验协议,对第二工控设备的第二拓扑校验向量执行拓扑结构校验,确定第二工控设备的第二重构拓扑的步骤,具体包括:
105.1)基于预置工控网络拓扑校验协议,对第二工控设备的第二拓扑校验向量进行数
据还原操作,得到拓扑校验标准向量。
106.具体地,工控系统中的各工控设备,在将自身的第一拓扑校验向量遍历发送至工控系统中的第二工控设备进行校验时,同样也会收到工控系统中第二工控设备遍历发送的第二拓扑校验向量,则当确定当前工控设备预置有工控网络拓扑校验协议时,则根据预置工控网络拓扑校验协议,对第二工控设备的第二拓扑校验向量进行数据还原操作,得到结构化的拓扑校验标准向量。
107.同样地,在当前工控设备对第二工控设备遍历发送的第二拓扑校验向量进行校验时,第二工控设备同样根据自身所预置工控网络拓扑校验协议,对当前工控设备的第一拓扑校验向量进行校验,并得到相应的校验结果。
108.2)从拓扑校验标准向量中提取出设备标识,并对拓扑校验标准向量中的第二重构拓扑和拓扑重构参量进行数据固化操作,得到第二拓扑固化向量。
109.具体地,通过从拓扑校验标准向量中提取出设备标识,并对除设备标识外的拓扑校验标准向量中的第二重构拓扑和拓扑重构参量进行数据固化操作,得到第二拓扑固化向量。
110.其中,由于结构化的拓扑校验标准向量中的设备标识,后续需要进行进一步的比对,则需要将设备标识从拓扑校验标准向量中提取出,以便对拓扑校验标准向量中的其他数据进行数据固化操作,得到第二拓扑固化向量。
111.3)对第二拓扑固化向量进行数据加密操作,得到第二加密头部信息。
112.具体地,通过对第二拓扑固化向量进行数据加密操作,具体可以是对第二拓扑固化向量进行哈希散列算法计算,其中,哈希散列算法计算表示为计算加密值所用的加密值算法,通过进行哈希散列算法计算,可得到对应的哈希加密信息,即第二加密头部信息。
113.其中,还可还用其他各类加密值算法进行运算处理,本实施例中不做具体限定。
114.4)根据第二加密头部信息和重构用户校验信息,对设备标识进行比对,得到比对结果。
115.具体地,重构用户校验信息可以理解为生成拓扑校验向量对应的工控设备校验加密参数,则具体是根据第二加密头部信息和生成拓扑校验向量对应的校验加密参数,对设备标识进行比对,得到比对结果。其中,在非对称加密的情况下,校验加密参数例如可以是生成拓扑校验向量对应的工控设备存储的校验公钥。
116.5)当比对结果为比对通过时,从第二拓扑固化向量中提取拓扑重构配置。
117.具体地,当比对结果为比对通过时,则表明第二工控设备的第二拓扑校验向量未被非法劫持,则进一步从第二拓扑固化向量中提取拓扑重构配置。
118.其中,比对结果包括比对通过和比对失败,当比对结果为比对失败时,则确定当前重构拓扑为无效拓扑。
119.6)根据拓扑重构配置,确定第二工控设备的第二重构拓扑。
120.具体地,由于对设备标识的比对通过时,表明第二工控设备的第二拓扑校验向量未被非法劫持,则需要根据从第二拓扑校验向量中提取的拓扑重构配置,确定第二工控设备的第二重构拓扑。
121.进一步地,通过根据拓扑重构配置,对第二工控设备的工控设备身份令牌和拓扑重构元素值对应匹配,得到设备重构令牌,并基于设备重构令牌进行数据加密,生成对应的
重构加密数据,进而根据重构加密数据和第二工控设备所要求的子拓扑分布,确定针对其他工控设备的第二重构拓扑。本实施例中,基于预置工控网络拓扑校验协议,对第二工控设备的第二拓扑校验向量进行数据还原操作,得到拓扑校验标准向量,并从拓扑校验标准向量中提取出设备标识,进而对拓扑校验标准向量中的第二重构拓扑和拓扑重构参量进行数据固化操作,得到第二拓扑固化向量。进一步通过对第二拓扑固化向量进行数据加密操作,得到第二加密头部信息,并据第二加密头部信息和重构用户校验信息,对设备标识进行比对,得到比对结果。当比对结果为比对通过时,从第二拓扑固化向量中提取拓扑重构配置,并根据拓扑重构配置,确定第二工控设备的第二重构拓扑。实现了基于工控网络拓扑校验协议,对第二工控设备的第二拓扑校验向量进行重构拓扑校验,使得工控系统中各工控设备的拓扑校验向量均能得到第二工控设备的进一步校验,以避免出现被攻击工控设备的非法拓扑重构申请,从而提升工控系统的安全性能,保障工控系统的安全稳定运行。
122.在一个实施例中,提供了一种预置工控系统拓扑重构方案的获取方法,具体包括:
123.1)获取第一重构配置和第二重构配置。
124.第一重构配置和第二重构配置是从多个备选重构配置中获取得到的,该多个备选重构配置是通过对基础重构配置中各重构指标对应的配置信息进行预处理操作得到的;基础重构配置与工控系统的网络协议以及拓扑类型相支持。
125.在一个可能的实施方式中,基础重构配置也可称之为根配置,例如ntrla算法对应的重构配置就可以是一种根配置,而该工控系统在基于该基础重构配置中各重构指标对应的配置信息,对该基础重构配置执行预处理操作时,该工控系统具体可基于重构指标对应的配置信息进行随机取值得到多个备选重构配置。例如,针对某个基础重构配置中的某一重构指标对应的配置信息的取值为20,而该重构指标的取值范围为0至30,则可以将该重构指标对应的值取为11、12,进而得到多个备选重构配置。而在该工控系统得到多个备选重构配置后,则可从多个备选重构配置中获取得到第一重构配置和第二重构配置。
126.在一种实现方式中,该工控系统可从得到的多个备选重构配置中任意选取随机两个备选重构配置,并将选取出的随机两个备选重构配置作为第一重构配置和第二重构配置;而在另一种实现方式中,该工控系统在从得到的多个备选重构配置中获取得到第一重构配置和第二重构配置时,还可先在工控系统中按照各个备选重构配置执行拓扑重构,并得到各个备选重构配置对应的配置可行指标,而在该工控系统得到各备选重构配置对应的配置可行指标后,则可根据各个备选重构配置对应的配置可行指标,对多个备选重构配置进行可行重构配置的提取,并将从多个备选重构配置中提取得到的随机两个可行重构配置作为第一重构配置和第二重构配置。
127.2)对第一重构配置和第二重构配置分别对应的全部重构指标进行配置向量化,得到第一重构配置对应的第一特征向量及第二重构配置对应的第二特征向量,并基于相应的特征向量对进行随机特征置换操作,得到置换特征向量,并循环遍历对通过配置可行指标提取的置换特征向量进行随机特征置换操作,并得到多个子备选重构配置。
128.随机特征置换操作包含:对第一重构配置和第二重构配置进行随机特征置换操作,并对随机特征置换后创建的子备选重构配置对应的配置可行指标进行提取得到的可行配置中的随机两个进行随机特征置换操作。其中,置换特征向量可以是一个或多个。
129.具体地,循环遍历可以是一种迭代的过程,基于第一特征向量以及第二特征向量
进行随机特征置换操作得到一批置换特征向量之后,则基于配置可行指标对得到的这一批置换特征向量进行随机特征置换操作再得到下一批置换特征向量,直至满足预设条件的情况下,再停止该循环遍历,得到子备选重构配置。
130.在一个可能的实施方式中,若该第一重构配置和第二重构配置是从多个备选重构配置中随机选取出的随机两个,该工控系统对第一重构配置和第二重构配置进行随机特征置换操作包括:对该第一重构配置和第二重构配置进行随机特征置换操作,以及对由第一重构配置和第二重构配置随机特征置换后创建得到的子备选重构配置中的随机两个子备选重构配置的随机特征置换操作。也就是说,如果该第一重构配置和第二重构配置是从多个备选重构配置中随机选取出的随机两个,则该工控系统对该第一重构配置和第二重构配置进行随机特征置换操作得到的多个子备选重构配置包括:在完成对第一重构配置和第二重构配置进行多次循环遍历的随机特征置换操作后,每次随机特征置换操作所创建的子备选重构配置。需要说明的是,当工控系统在对第一重构配置和第二重构配置进行随机特征置换操作,得到多个子备选重构配置后,在基于得到的子备选重构配置循环遍历进行后续子备选重构配置的创建时,该工控系统可以是从得到的子备选重构配置中随机选取出两个子备选重构配置进行随机特征置换的,或者,该工控系统可以从得到的子备选重构配置及原先的第一重构配置和第二重构配置中随机选取出两个配置进行随机特征置换操作。
131.在另一个可能的实施方式中,若该工控系统获取的第一重构配置和第二重构配置是基于备选重构配置的配置可行指标进行提取得到的,该工控系统对第一重构配置和第二重构配置进行随机特征置换操作包括:对该第一重构配置和第二重构配置进行随机特征置换操作,并对第一重构配置和第二重构配置随机特征置换后创建的子备选重构配置对应的配置可行指标进行提取得到的子备选重构配置中的随机两个进行随机特征置换操作。那么,该工控系统第一重构配置和第二重构配置进行随机特征置换操作得到的多个子备选重构配置包括第一该第一重构配置和第二重构配置循环遍历进行随机特征置换操作后,对随机特征置换操作得到的子备选重构配置完成提取后的子备选重构配置。
132.在一个可能的实施方式中,工控系统在基于第一重构配置和第二重构配置循环遍历进行子备选重构配置创建时,该工控系统可在得到的子备选重构配置的数量满足预设数量时,停止进行子备选重构配置的循环遍历与创建,或者,该工控系统可基于循环遍历得到的子备选重构配置对应的配置可行指标,在配置可行指标指示得到的子备选重构配置均不满足提取需求时,停止进行子备选重构配置的循环遍历与创建。而在工控系统得到多个子备选重构配置后,则可基于每个子备选重构配置在工控系统中的重构拓扑,确定每个子备选重构配置对应的配置可行指标,从而根据该配置可行指标进行预置工控系统拓扑重构方案的创建。
133.另外,工控系统在得到工控系统中的第一重构配置和第二重构配置后,在对该第一重构配置和第二重构配置进行随机特征置换操作之前,可先对该第一重构配置和该第二重构配置进行配置向量化,其中,配置向量化可以是基于编码实现的,工控系统对该第一重构配置和第二重构配置进行的配置向量化,可以是分别对该第一重构配置所包括的重构指标及该第二重构配置所包括的重构指标进行线性分组编码,该第一重构配置包括的重构指标,及第二重构配置包括的重构指标可以是一个或多个。在具体实现中,该工控系统可通过对重构配置(例如可以是第一重构配置或第二重构配置)的任一重构指标分别进行配置向
量化,并得到任一重构指标对应的特征值,而在工控系统得到重构配置中包括的每个重构指标对应的特征值后,则可将各重构指标对应的特征值进行组合,并将组合得到的组合结果作为重构配置参数对应的特征向量。在一个实施例中,重构配置中的任一重构指标归一化后的数值可记为a,其中,重构配置中的重构指标可以包括自然数,其例如可以是7或9等,那么,该工控系统在对任一重构指标进行配置向量化时,可先将重构指标进行归一化处理,在重构配置还可以包括字符串类型的重构指标,则可以将字符串类型的重构指标进行数值化后再执行归一化。
134.3)在工控系统中分别按照各个子备选重构配置执行拓扑重构,并根据各个子备选重构配置的重构拓扑,确定工控系统与各个子备选重构配置之间的配置可行指标。
135.其中,在上述步骤中在工控系统中分别按照各个子备选重构配置执行拓扑重构可以是基于该工控系统构件的虚拟环境中执行的,例如虚拟环境中移除工控系统中的任意一个工控设备后,控制任意一个工控设备基于各个子备选重构配置执行拓扑重构。
136.其中,配置可行指标用于反映工控系统控制目标工控设备基于相应子备选重构配置进行有效拓扑重构的能力;确定工控系统与任一子备选重构配置之间的配置可行指标的方式包括:获取每个重构子拓扑在不同测试流量下对应的丢包率,并基于相应的异常丢包目标值,确定每个重构子拓扑在不同测试流量下对应的丢包率与相应异常丢包目标值之间的数据包损失;对得到的数据包损失进行倒数运算,得到多个可行指标值,再从得到的可行指标值中进行降序抽取,以确定出该工控系统与相应子备选重构配置之间的配置可行指标。其中,目标工控设备可以是工控系统中的任意一个能够发送上述拓扑重构指令的工控设备。可以理解的是,在丢包率小于异常丢包目标值的情况下,若损失越小,经过倒数运算后得到的可行指标值越大,上述降序抽取指将可行指标值按照由大到小进行排序,并抽取数值较大的可行指标值。此外,测试流量可以是工控系统控制任意一个工控设备基于重构的网络拓扑向多个其他工控设备发送数据包,并根据其他工控设备针对这些数据包的接收情况以确定丢包率,不同的测试流量对应的数据包的通信协议可以不同,例如可以分别是tcp协议的测试流量、modbus协议等。值得说明的是,配置可行指标还可以包括基于其他信息计算得到的其他类型的配置可行指标,并不限于基于丢包率计算得到的这类配置可行指标。
137.应理解的是,工控系统在得到多个子备选重构配置后,可根据工控系统与得到的各子备选重构配置之间的配置可行指标,从得到的多个子备选重构配置中提取出可行重构配置,并将提取出的可行重构配置作存储至预置工控系统拓扑重构方案中。在具体实施时,该工控系统可先在基于各子备选重构配置进行拓扑重构,以得到工控系统与对应子备选重构配置之间的配置可行指标,其中,由于该配置可行指标可反映工控系统控制目标工控设备基于相应的子备选重构配置进行有效拓扑重构的能力,因此,该工控系统在确定任一子备选重构配置对应的配置可行指标时,可在该工控系统中运行任一子备选重构配置后,得到预置于工控系统中的任一子备选重构配置所设置的各项重构子拓扑对应的可行程度,进而则可根据获取的丢包率,及相应重构子拓扑对应的异常丢包目标值,确定出该任一子备选重构配置对应的配置可行指标。其中,该异常丢包目标值可以是该工控系统在有效运行时对应重构子拓扑丢包率所能达到的最大值(或边界值),也即是说,若工控系统拓扑重构后的重构子拓扑的丢包率大于该异常丢包目标值,该工控系统将可能存在不能正常运行等
问题。
138.在一个可能的实施方式中,在工控系统根据各重构子拓扑对应的丢包率及对应的异常丢包目标值,确定该任一子备选重构配置对应的配置可行指标时,该工控系统可先根据每个重构子拓扑对应的丢包率与相应异常丢包目标值,对该工控系统和相应的子备选重构配置进行可行度的计算,得到由每个重构子拓扑确定出的可行指标值,然后,该工控系统则可从每个重构子拓扑确定出的可行指标值中,选取出对应可行指标值的最大值,并将取得最大值的可行指标值作为相应子备选重构配置的配置可行指标。其中,该工控系统在根据重构子拓扑对应的丢包率与相应异常丢包目标值,对该工控系统和相应的子备选重构配置进行适应度的计算时,可先对各个重构子拓扑对应的丢包率和相应的异常丢包目标值取差值作为损失,再将差值的倒数作为由相应的重构子拓扑得到的可行指标值。在另一种实现方式中,该工控系统在确定该任一子备选重构配置对应的配置可行指标时,还可在得到每个重构子拓扑的丢包率及相应的异常丢包目标值后,直接得到每个丢包率和相应异常丢包目标值之间的损失,从而可基于该损失,从得到的丢包率中确定出取得最小值的丢包率,并将该取得最小值的丢包率与相应异常丢包目标值之间的差值的倒数作为相应子备选重构配置的配置可行指标。
139.4)根据各个子备选重构配置对应的配置可行指标,确定各个子备选重构配置对应的提取权重。其中,一个子备选重构配置对应的配置可行指标越大,对应确定出的提取权重越大。
140.5)根据提取权重,从多个子备选重构配置中提取出可行重构配置,并将从多个子备选重构配置中提取得到的可行重构配置存储至预置工控系统拓扑重构方案。
141.在具体实现中,配置可行指标值越大的表征重构拓扑的可行程度越大,即网络传输效率较高、网络资源成本较低、工控设备之间信息总是沿着最短路径来传播,因此,该工控系统可根据各子备选重构配置对应的配置可行指标,按照对应配置可行指标从大到小的顺序选择前m个配置可行指标最高的子备选重构配置,即按照配置可行指标高低选择排序较高的m个,从而可将选取出的子备选重构配置作为可行重构配置。
142.应理解的是,在本发明中,基于配置可行指标的大小进行可行重构配置的提取并等同于以配置可行指标的高低为提取的唯一标准,如果直接进行前m个子备选重构配置的提取,由于在提取可行重构配置时,仅选择了配置可行指标高的子备选重构配置,那么,将可能导致梯度下降过快陷入局部最优解而不能够得到全局最优解。基于此,该工控系统在基于配置可行指标进行可行重构配置的提取时,还可根据各个子备选重构配置对应的配置可行指标,确定各个子备选重构配置对应的提取权重,其中,一个子备选重构配置对应的配置可行指标越大,工控系统确定出的对应的提取权重越大;进而使得该工控系统根据提取权重,从多个子备选重构配置中提取出可行重构配置,基于确定出的提取权重进行可行重构配置的提取,可有效避免该工控系统局部收敛的问题。
143.在该工控系统得到该工控系统与各子备选重构配置之间的配置可行指标后,该工控系统则可根据各子备选重构配置对应的配置可行指标,从多个子备选重构配置中提取出可行重构配置,并将从子备选重构配置中提取出的可行重构配置存储至预置工控系统拓扑重构方案中。在一个实施例中,如果该工控系统得到的子备选重构配置所包括的是由对第一重构配置和第二重构配置进行多次循环遍历的随机特征置换操作得到的,那么该工控系
统在将从多个子备选重构配置中提取出的可行重构配置存储至预置工控系统拓扑重构方案的过程中,该工控系统还可以分别根据第一重构配置和第二重构配置执行拓扑重构,并得到该工控系统与第一重构配置之间的配置可行指标,以及该工控系统与第二重构配置之间的配置可行指标,从而使得该工控系统可根据第一重构配置对应的配置可行指标,及第二重构配置对应的配置可行指标,从第一重构配置和第二重构配置中进行可行重构配置的提取,并将提取得到的可行重构配置存储至预置工控系统拓扑重构方案。而在另一种实现方式中,如果该子备选重构配置是包括的是由第一重构配置和第二重构配置随机特征置换和提取得到的子备选重构配置,那么,在该工控系统在将从多个子备选重构配置中提取出的可行重构配置存储至预置工控系统拓扑重构方案后,还将从多个备选重构配置中提取得到的可行重构配置,存储至预置工控系统拓扑重构方案,也就是说,由于该第一重构配置和该第二重构配置是已经提取出的可行重构配置,因此,该工控系统还可将该第一重构配置和该第二重构配置存储至该预置工控系统拓扑重构方案中。
144.也就是说,获取第一重构配置和第二重构配置,包括:获取多个备选重构配置,并在工控系统中按照各个备选重构配置执行拓扑重构,得到各个备选重构配置对应的配置可行指标;根据各个备选重构配置对应的配置可行指标,对多个备选重构配置进行可行重构配置的提取;将从多个备选重构配置中提取得到的随机两个可行重构配置作为第一重构配置和第二重构配置;并,将从多个备选重构配置中提取得到的可行重构配置,存储至预置工控系统拓扑重构方案;
145.进一步,对第一重构配置和第二重构配置进行随机特征置换操作,得到多个子备选重构配置,包括:获取对第一重构配置进行配置向量化得到的第一特征向量,以及对第二重构配置进行配置向量化得到的第二特征向量;对第一特征向量和第二特征向量进行随机特征置换操作,得到一个或多个置换特征向量,并对得到的一个或多个置换特征向量进行随机特征突变操作,得到突变特征向量;对一个或多个置换特征向量和突变特征向量进行反向量化操作,创建多个子备选重构配置。
146.示例地,若第一特征向量为[a,b,c,d,e],第二特征向量为[f,g,h,i,j],那么得到的置换特征向量可以为[a,g,c,d,e],[f,b,h,i,j]等,在得到一个或多个置换特征向量后,还可对得到的一个或多个置换特征向量进行随机特征突变操作,得到突变特征向量,其中,随机特征突变操作包括按照一定的突变概率(该突变概率例如可以是0.1-0.0001)对特征向量中的特征值的随机替换,若得到的置换特征向量为上述的[a,g,c,d,e],该工控系统基于该置换特征向量得到的突变特征向量可以为[a,x,c,d,e],[a,g,y,d,e]等等。工控系统在得到突变特征向量后,则可对一个或多个置换特征向量和突变特征向量进行反向量化操作,创建多个子备选重构配置。在一个实施例中,对特征向量执行的反向量化操作是与配置向量化相对的逆处理过程,也即是说,该反向量化操作可将向量表示的特征向量转换为相应的文本或数值,以便于作为重构配置信息后续的拓扑重构。
[0147]
在一个实施例中,在获取到基础重构配置后,可对该基础重构配置的重构指标的配置信息进行随机取值,得到多个备选重构配置,进而可根据每个备选重构配置对应的配置可行指标,从多个备选重构配置中提取出第一重构配置和第二重构配置,其中,该工控系统从该多个备选重构配置中提取出的第一重构配置和第二重构配置,可以是该工控系统基于每个备选重构配置的配置可行指标进行可行重构配置提取出的随机两个。在确定出第一
重构配置和第二重构配置后,则可对该第一重构配置和第二重构配置分别进行随机特征置换操作和随机特征突变操作,并获取用于停止进行子备选重构配置创建的预设停止信号,其中,预设停止信号包括:从多个子备选重构配置中进行可行重构配置提取失败的信号;或者,循环遍历次数达到遍历次数阈值的信号;若该工控系统获取的预设停止信号指示停止进行子备选重构配置的创建,则将当前创建的配置作为子备选重构配置,而如果工控系统获取到的预设停止信号指示继续进行子备选重构配置的创建,则从当前创建的子备选重构配置中提取出随机两个可行重构配置,并将提取得到的随机两个可行重构配置作为第一重构配置和第二重构配置,继续循环遍历进行子备选重构配置的创建。
[0148]
在一个示例中,获取多个备选重构配置之后,从多个备选重构配置中任意选取随机两个,并将选取出的随机两个备选重构配置作为第一重构配置和第二重构配置;
[0149]
在工控系统中分别按照第一重构配置和第二重构配置执行拓扑重构,并得到工控系统与第一重构配置之间的配置可行指标,以及工控系统与第二重构配置之间的配置可行指标;根据第一重构配置对应的配置可行指标,及第二重构配置对应的配置可行指标,从第一重构配置和第二重构配置中进行可行重构配置的提取;将从第一重构配置和第二重构配置中提取得到的可行重构配置存储至预置工控系统拓扑重构方案。
[0150]
采用上述实施例记载的方案,通过选取基础重构配置的任意两个配置进行随机特征置换,能够得到多个置换生成得到的重构配置,并且确定生成得到的重构配置的可行指标,进而确定生成的重构配置中能够对该工控系统有效进行拓扑重构的重构配置,并将生成得到的拓扑重构配置加入预置的工控系统拓扑重构方案中,使得工控系统中用于拓扑重构的拓扑重构配置更具多样性,以满足不同拓扑重构的需求,以供工控系统在不同的应用场景进行拓扑重构时,能够有效地对拓扑进行重构。
[0151]
为了使得本领域技术人员更加理解本发明提供的整体技术方案,在一个实施例中,提供了一种工控系统网络拓扑安全重构方法,具体包括:
[0152]
1)获取第一重构配置和第二重构配置。
[0153]
其中,第一重构配置和第二重构配置是从多个备选重构配置中获取得到的,多个备选重构配置是通过对基础重构配置中各重构指标对应的配置信息进行预处理操作得到的;基础重构配置与工控系统的网络协议以及拓扑类型相支持。
[0154]
2)对第一重构配置和第二重构配置分别对应的全部重构指标进行配置向量化,得到第一重构配置对应的第一特征向量及第二重构配置对应的第二特征向量,并基于相应的特征向量对进行随机特征置换操作,得到一个或多个置换特征向量,并循环遍历对通过配置可行指标提取的置换特征向量进行随机特征置换操作,并得到多个子备选重构配置。
[0155]
3)在工控系统中分别按照各个子备选重构配置执行拓扑重构,并根据各个子备选重构配置的重构拓扑,确定工控网络与各个子备选重构配置之间的配置可行指标。
[0156]
4)根据各个子备选重构配置对应的配置可行指标,确定各个子备选重构配置对应的提取权重。
[0157]
5)根据提取权重,从多个子备选重构配置中提取出可行重构配置,并将从多个子备选重构配置中提取得到的可行重构配置存储至预置工控网络拓扑重构方案。
[0158]
6)在当前工控设备接收到拓扑重构指令时,获取与拓扑重构指令对应的拓扑重构参量。
[0159]
7)当从预置工控网络拓扑重构方案中查询到拓扑重构配置时,根据工控网络拓扑重构方案中的拓扑重构配置,将工控设备身份令牌和拓扑重构元素值对应匹配,得到设备重构令牌。
[0160]
8)基于设备重构令牌进行数据加密,生成对应的重构加密数据。
[0161]
9)根据重构加密数据和子拓扑分布,确定第一工控设备的第一重构拓扑。
[0162]
10)基于第一重构拓扑和与拓扑重构指令对应的拓扑重构参量,进行数据固化操作,得到第一拓扑固化向量。
[0163]
11)对第一拓扑固化向量进行数据加密操作,得到第一加密头部信息。
[0164]
12)基于第一加密头部信息执行数字标记操作,得到设备标识。
[0165]
13)根据第一重构拓扑、拓扑重构参量以及设备标识,得到第一拓扑校验向量。
[0166]
14)将第一拓扑校验向量,在工控系统中进行遍历发送,并接收工控系统中第二工控设备的第二拓扑校验向量。
[0167]
15)基于预置工控网络拓扑校验协议,对第二工控设备的第二拓扑校验向量进行数据还原操作,得到拓扑校验标准向量。
[0168]
16)从拓扑校验标准向量中提取出设备标识,并对拓扑校验标准向量中的第二重构拓扑和拓扑重构参量进行数据固化操作,得到第二拓扑固化向量。
[0169]
17)对第二拓扑固化向量进行数据加密操作,得到第二加密头部信息。
[0170]
18)根据第二加密头部信息和重构用户校验信息,对设备标识进行比对,得到比对结果。
[0171]
19)当比对结果为比对通过时,从第二拓扑固化向量中提取拓扑重构配置,根据拓扑重构配置,确定第二工控设备的第二重构拓扑。
[0172]
20)若确定得到的第二工控设备的第二重构拓扑与接收到的第二工控设备的第二拓扑校验向量中的第二重构拓扑匹配,则记录第二工控设备的第二拓扑校验向量。
[0173]
21)基于预设校验规则确定第一重构拓扑为目标拓扑,将第一拓扑校验向量记录在第一工控设备。
[0174]
应该理解的是,虽然本发明中的多个实施例涉及的各个步骤按照顺序依次进行说明,但是这些步骤并不是必然按照上述实施例的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述实施例涉及的各流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0175]
基于相同的发明构思,本发明还提供如图2所示的一种工控系统网络拓扑安全重构装置20,应用于工控系统中的各工控设备,装置20包括:
[0176]
第一确定模块21,用于当接收到拓扑重构指令时,基于预置工控网络拓扑重构方案进行工控设备拓扑重构,确定第一工控设备的第一重构拓扑;
[0177]
第二确定模块22,用于根据所述第一重构拓扑和与所述拓扑重构指令对应的拓扑重构参量,得到第一拓扑校验向量;
[0178]
遍历发送模块23,用于将所述第一拓扑校验向量,在工控系统中进行遍历发送,并
接收所述工控系统中第二工控设备的第二拓扑校验向量;
[0179]
校验模块24,用于基于预置工控网络拓扑校验协议,对第二工控设备的第二拓扑校验向量执行拓扑结构校验,确定第二工控设备的第二重构拓扑;
[0180]
第一纪录模块25,用于若确定得到的第二工控设备的第二重构拓扑与接收到的第二工控设备的第二拓扑校验向量中的第二重构拓扑匹配,则记录第二工控设备的第二拓扑校验向量;
[0181]
第二纪录模块26,用于基于预设校验规则确定所述第一重构拓扑为目标拓扑,将所述第一拓扑校验向量记录在第一工控设备。
[0182]
可选地,第一确定模块21还用于:
[0183]
当接收到拓扑重构指令时,获取与拓扑重构指令对应的拓扑重构参量;拓扑重构参量包括与拓扑重构指令对应的发送设备所指定的拓扑重构配置;
[0184]
当从工控网络拓扑重构方案中查询到拓扑重构配置时,根据工控网络拓扑重构方案中的拓扑重构配置进行工控设备拓扑重构,确定第一工控设备的第一重构拓扑;
[0185]
拓扑重构参量还包括:工控设备身份令牌、子拓扑分布以及拓扑重构元素值;根据工控网络拓扑重构方案中的拓扑重构配置进行工控设备拓扑重构,确定第一工控设备的第一重构拓扑,包括:
[0186]
根据工控网络拓扑重构方案中的拓扑重构配置,将工控设备身份令牌和拓扑重构元素值对应匹配,得到设备重构令牌;
[0187]
基于设备重构令牌进行数据加密,生成对应的重构加密数据;
[0188]
根据重构加密数据和子拓扑分布,确定第一工控设备的第一重构拓扑;
[0189]
第二确定模块22还用于:
[0190]
基于第一重构拓扑和与拓扑重构指令对应的拓扑重构参量,进行数据固化操作,得到第一拓扑固化向量;
[0191]
对第一拓扑固化向量进行数据加密操作,得到第一加密头部信息;
[0192]
基于第一加密头部信息执行数字标记操作,得到设备标识;
[0193]
根据第一重构拓扑、拓扑重构参量以及设备标识,得到第一拓扑校验向量。
[0194]
可选地,校验模块24还用于:
[0195]
基于预置工控网络拓扑校验协议,对第二工控设备的第二拓扑校验向量进行数据还原操作,得到拓扑校验标准向量;从拓扑校验标准向量中提取出设备标识,并对拓扑校验标准向量中的第二重构拓扑和拓扑重构参量进行数据固化操作,得到第二拓扑固化向量;对第二拓扑固化向量进行数据加密操作,得到第二加密头部信息;根据第二加密头部信息和重构用户校验信息,对设备标识进行比对,得到比对结果;当比对结果为比对通过时,从第二拓扑固化向量中提取拓扑重构配置;根据拓扑重构配置,确定第二工控设备的第二重构拓扑。
[0196]
可选地,拓扑重构参量还包括:与拓扑重构指令对应的重构标识码和重构用户校验信息;
[0197]
装置20还用于:
[0198]
根据重构标识码、重构用户校验信息以及工控设备身份令牌,得到拓扑校验定位行;
[0199]
将拓扑校验定位行和第一拓扑校验向量对应记录至工控系统中。
[0200]
可选地,不同重构标识码用于根据目标工控系统配置同步实现工控设备拓扑重构,得到与不同目标工控系统配置对应的目标拓扑。
[0201]
可选地,装置20还用于:
[0202]
获取第一重构配置和第二重构配置;第一重构配置和第二重构配置是从多个备选重构配置中获取得到的,多个备选重构配置是通过对基础重构配置中各重构指标持有的配置信息进行预处理操作得到的;基础重构配置与工控系统的网络协议以及拓扑类型相支持;
[0203]
对第一重构配置和第二重构配置分别持有的全部重构指标进行配置向量化,得到第一重构配置对应的第一特征向量及第二重构配置对应的第二特征向量,并基于相应的特征向量对进行随机特征置换操作,得到置换特征向量,并循环遍历对通过配置可行指标提取的置换特征向量进行随机特征置换操作,并得到多个子备选重构配置;随机特征置换操作包含:对第一重构配置和第二重构配置进行随机特征置换操作,并对随机特征置换后创建的子备选重构配置对应的配置可行指标进行提取得到的可行配置中的随机两个进行随机特征置换操作;
[0204]
在工控系统中分别按照各个子备选重构配置执行拓扑重构,并根据各个子备选重构配置的重构拓扑,确定工控系统与各个子备选重构配置之间的配置可行指标;其中,配置可行指标用于反映工控系统控制目标工控设备在相应子备选重构配置进行有效拓扑重构的能力;确定工控系统与任一子备选重构配置之间的配置可行指标的方式包括:获取每个重构子拓扑在不同测试流量下对应的丢包率,并基于相应的异常丢包目标值,确定每个重构子拓扑在不同测试流量下对应的丢包率与相应异常丢包目标值之间的数据包损失;对得到的数据包损失进行倒数运算,得到多个可行指标值,再从得到的可行指标值中进行降序抽取,以确定出该工控系统与相应子备选重构配置之间的配置可行指标;
[0205]
根据各个子备选重构配置对应的配置可行指标,确定各个子备选重构配置对应的提取权重,其中,一个子备选重构配置对应的配置可行指标越大,对应确定出的提取权重越大;根据提取权重,从多个子备选重构配置中提取出可行重构配置,并将从多个子备选重构配置中提取得到的可行重构配置存储至预置工控系统拓扑重构方案。
[0206]
可选地,装置20还用于:
[0207]
获取多个备选重构配置,并在工控系统中按照各个备选重构配置执行拓扑重构,得到各个备选重构配置对应的配置可行指标;
[0208]
根据各个备选重构配置对应的配置可行指标,对多个备选重构配置进行可行重构配置的提取;
[0209]
将从多个备选重构配置中提取得到的随机两个可行重构配置作为第一重构配置和第二重构配置;并,将从多个备选重构配置中提取得到的可行重构配置,存储至预置工控系统拓扑重构方案;
[0210]
基于相应的特征向量对进行随机特征置换操作,得到置换特征向量,并循环遍历对通过配置可行指标提取的置换特征向量进行随机特征置换操作,并得到多个子备选重构配置,包括:
[0211]
获取对第一重构配置进行配置向量化得到的第一特征向量,以及对第二重构配置
进行配置向量化得到的第二特征向量;
[0212]
对第一特征向量和第二特征向量进行随机特征置换操作,得到置换特征向量,并对得到的置换特征向量进行随机特征突变操作,得到突变特征向量;
[0213]
对置换特征向量和突变特征向量进行反向量化操作,创建多个子备选重构配置;
[0214]
装置20还用于:
[0215]
获取用于停止进行子备选重构配置创建的预设停止信号;预设停止信号包括:从多个子备选重构配置中进行可行重构配置提取失败的信号;或者,循环遍历次数达到遍历次数阈值的信号;
[0216]
若预设停止信号指示停止进行子备选重构配置的创建,则触发执行将从多个备选重构配置中提取得到的可行重构配置,存储至预置工控系统拓扑重构方案的步骤;
[0217]
若预设停止信号指示继续进行子备选重构配置的创建,则从多个子备选重构配置中提取出随机两个可行重构配置,并将从多个子备选重构配置中提取得到的随机两个可行重构配置作为第一重构配置和第二重构配置。
[0218]
获取多个备选重构配置之后,从多个备选重构配置中任意选取随机两个,并将选取出的随机两个备选重构配置作为第一重构配置和第二重构配置;
[0219]
在工控系统中分别按照第一重构配置和第二重构配置执行拓扑重构,并得到工控系统与第一重构配置之间的配置可行指标,以及工控系统与第二重构配置之间的配置可行指标;
[0220]
根据第一重构配置对应的配置可行指标,及第二重构配置对应的配置可行指标,从第一重构配置和第二重构配置中进行可行重构配置的提取;
[0221]
将从第一重构配置和第二重构配置中提取得到的可行重构配置存储至预置工控系统拓扑重构方案。
[0222]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0223]
图3是根据一示例性实施例示出的一种电子设备300的框图。如图3所示,该电子设备300可以包括:处理器301,存储器302。该电子设备300还可以包括多媒体组件303,输入/输出(i/o)接口304,以及通信组件305中的一者或多者。
[0224]
其中,处理器301用于控制该电子设备300的整体操作,以完成上述的工控系统网络拓扑安全重构方法中的全部或部分步骤。存储器302用于存储各种类型的数据以支持在该电子设备300的操作,这些数据例如可以包括用于在该电子设备300上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器302可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(static random access memory,简称sram),电可擦除可编程只读存储器(electrically erasable programmable read-only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read-only memory,简称eprom),可编程只读存储器(programmable read-only memory,简称prom),只读存储器(read-only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件303可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在
存储器302或通过通信组件305发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口304为处理器301和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件305用于该电子设备300与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(near field communication,简称nfc),2g、3g、4g、nb-iot、emtc、或其他5g等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件305可以包括:wi-fi模块,蓝牙模块,nfc模块等等。
[0225]
在一示例性实施例中,电子设备300可以被一个或多个应用专用集成电路(application specific integrated circuit,简称asic)、数字信号处理器(digital signal processor,简称dsp)、数字信号处理设备(digital signal processing device,简称dspd)、可编程逻辑器件(programmable logic device,简称pld)、现场可编程门阵列(field programmable gate array,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的工控系统网络拓扑安全重构方法。
[0226]
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的工控系统网络拓扑安全重构方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器302,上述程序指令可由电子设备300的处理器301执行以完成上述的工控系统网络拓扑安全重构方法。
[0227]
图4是根据一示例性实施例示出的一种电子设备400的框图。例如,电子设备400可以被提供为一服务器。参照图4,电子设备400包括处理器422,其数量可以为一个或多个,以及存储器432,用于存储可由处理器422执行的计算机程序。存储器432中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器422可以被配置为执行该计算机程序,以执行上述的工控系统网络拓扑安全重构方法。
[0228]
另外,电子设备400还可以包括电源组件426和通信组件450,该电源组件426可以被配置为执行电子设备400的电源管理,该通信组件450可以被配置为实现电子设备400的通信,例如,有线或无线通信。此外,该电子设备400还可以包括输入/输出(i/o)接口458。电子设备400可以操作基于存储在存储器432的操作系统,例如windows server
tm
,mac os x
tm
,unix
tm
,linux
tm
等等。
[0229]
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的工控系统网络拓扑安全重构方法的步骤。例如,该非临时性计算机可读存储介质可以为上述包括程序指令的存储器432,上述程序指令可由电子设备400的处理器422执行以完成上述的工控系统网络拓扑安全重构方法。
[0230]
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的工控系统网络拓扑安全重构方法的代码部分。
[0231]
以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献