基于区块链技术的工业数据安全防护的研究

2022-07-26 03:05马刚
网络安全技术与应用 2022年5期
关键词:哈希攻击者数据安全

◆马刚

基于区块链技术的工业数据安全防护的研究

◆马刚

(中国核工业电机运行技术开发有限公司 北京 100043)

数据库作为工业控制系统网络中的重要节点,用于接收、解析和保存通过网络传输的数据和命令,此数据至少有两种用途:一种用途是检查因组件故障和网络攻击而可能发生的流程异常;另一种用途是作为工业数据安全分析的重要输入,这也是本文研究的重点。为了保护数据库的工业数据安全,本文提出了一种新的体系架构,从完整性和冗余性这两个方面来增强工业数据安全性。完整性检查机制与区块链技术相结合,用于确保数据完整性。数据冗余性通过应用动态复制机制来实现的,用以在遭受网络攻击后恢复数据。

区块链;工业数据安全;网络攻击

2010年伊朗布什尔核电站的“震网病毒”攻击、2015年底乌克兰电力部门遭受到恶意代码攻击等安全事件表明,针对工业控制系统[1]的漏洞攻击正朝着关键基础设施攻击的趋势发展。数据库作为核电站仪控系统中的重要设备,通过可编程逻辑控制器(PLC)、传感器和执行器接收、解析和保存通过网络传输的数据和命令。数据库的数据可用于对仪控系统中的故障进行根本原因分析,也可用于确定是否对工厂控制器发生了攻击行为。因此,保护数据库中的数据至关重要。

为了保护数据库中的工业数据安全,重点主要考虑以下两个方面:不变性和冗余。设计的数据安全防护方案要求是可用、可靠以及一致的,也就意味着:(1)将数据库与网络隔离是不可行的;(2)不得影响核电站的任何控制逻辑;(3)必须与现有仪控系统集成部署。以下从数据完整性和冗余两方面,通过对比多个不同方案,阐述适用于工业数据安全防护的具体方法和措施。

1 数据完整性方案

加密哈希主要用于完整性检查。下面的解决方案可以提供数据完整性,但是,每种解决方案都有自己的优点和缺点。

解决方案 1:每个向量的加密散列。使用加密哈希函数生成每个向量的散列,例如SHA256算法。每个散列存储在同一台计算机或不同计算机上的另一个数据库中。知道这种机制的攻击者在绕过的同时,会破坏向量的同时覆盖相应的散列。

解决方案 2:哈希链。每个向量对应一个散列:按照上面讨论的解决方案1的方法生成每个向量的加密散列。但是,在这种情况下,加密哈希函数的输入不仅是当前的向量,而且也将前一个向量的加密散列与当前的向量一起作为输入。但是,如果攻击者盖写整个哈希链而未被发现,那么此解决方案就无法检测到攻击。当攻击者未更改向量数据库中的任何内容,但删除部分或全部散列时,由于缺乏哈希有效性校验,解决方案1和解决方案2都无法确保数据完整性。

解决方案 3:去中心化哈希链。保留了解决方案2的哈希生成机制,但哈希链的存储在架构上是分散的,在逻辑上是集中的。这意味着相同的哈希链存储在多台计算机中,而不是单个计算机中。然而,在设计这种去中心化存储时会遇到几个挑战:如何在网络上安全地同步哈希链?当不同的计算机上有不同的哈希链时,如何选择正确的哈希链?这些问题可通过区块链[2]得到解决。

解决方案 4:区块链作为去中心化哈希存储。区块链是比特币的底层技术,一种分布式账本。每个区块可能包含一个或多个事务。由于每个区块都包含前一个区块的散列,因此攻击者几乎不可能更改每个区块内的数据(事务)。

区块链在架构上是分散的,在逻辑上是集中的。一个相同的区块链存储在网络中的多台计算机上。这些计算机之间的块同步是通过使用共识机制来实现的。共识规则的选择可以改变区块链去中心化的行为,即公有或私有区块链。区块的加密链与共识协议一起保护区块链免受网络攻击。

区块链使用底层架构提供事务防篡改功能,同时,通过应用运行在区块链之上的基于事务的状态机来实现数字资产的跟踪,即包含任何信息的交易。在这种情况下,交易是触发区块链内部状态机的输入。状态机的状态变量通过处理交易的输入而改变。状态机将其状态变量存储在区块链的块中。区块链为这些状态变量提供防篡改功能。这种基于交易的状态机最初是由以太坊引入,并称为智能合约。

从上面的方案对比可以看出,通过使用区块链和共识机制,可以解决上述去中心化问题。此外,任何类型的数据都可以使用智能合约存储在区块链中。通过使用区块链可以更轻松地实现去中心化哈希链架构。向量的散列存储在区块链的块中,如图1所示。

图1 区块链用于哈希存储

哈希链和去中心化是在底层区块链层完成的。因此,只有向量的单个散列需要存储在防篡改的区块链中。这种使用区块链作为底层来提供数据完整性的概念,如图2所示。

图2 区块链用于数据完整性概念图

除了上面提到的方案,还有其他机制来保证数据库的数据完整性。数据二极管[3]是提供只读数据库的解决方案。数据二极管提供来自底层网络层的单向数据流。但是,在数据库网络中使用数据二极管可能会影响仪控系统的当前网络架构。

另一种方法将数据库配置为向其添加值,并且不允许对数据进行任何其他操作。但是,攻击者可能不会使用数据库引擎盖写数据。相反,攻击者可能会更改操作系统较低层的值。这种操纵将给检测数据完整性带来重大挑战。

2 数据冗余性方案

为仪控系统的工业数据提供冗余可快速实现数据恢复。在仪控系统中,数据根据核电站的规模存储在一个或多个数据库中。下面将阐述数据冗余的方法及其优缺点。

解决方案 1:传统备份系统。备份系统可以定期将数据从数据库复制到存档文件和另一个存储设备上。此类备份的目的是在发生数据丢失事件后恢复原始数据。

解决方案 2:静态复制。在静态复制中数据从数据库实时复制到另一个类似的设备中。然而,由于每个数据库都需要存储整个状态数据,因此,需要配备大量的数据库。然而,大多数仪控系统只配备少量的数据库。攻击者可以更改所有复制的数据库中的数据,或者攻击者可以选择性地清除所有数据库中的数据。

解决方案 3:动态复制。在动态复制中,要复制的数据被分割成更小的数据块。网络中的多台计算机(称为节点)复制数据块。每个数据块都被复制到网络中所有节点中的一组动态选择的节点。可以在仪控系统中配置要复制的节点数量,例如,在Hadoop分布式文件系统(HDFS)[4]中每个数据块被复制到三个不同的节点,如图3所示。

图3 HDFS架构

在HDFS架构中,有Namenode、Datanodes和Client。Datanodes 负责存储文件的数据块,而Namenode 负责跨不同数据节点的数据块复制。Client为最终用户提供了一个接口来操作系统中的文件。HDFS中的每个文件都存储为块序列。文件中除最后一个块外的所有块的大小相同。文件中的块在大型集群中的不同数据节点之间动态复制。存储文件数据块副本的数据节点列在Namenode内该文件的元数据中。每个文件的块大小和复制因子是可配置的。

在仪控系统中,上述描述的动态复制用于核电站网络中的不同数据库。数据库中的数据收集为多个时间序列的向量形式。数据库中的每个向量都可以通过电厂网络复制到其他数据库中,标记为副本。例如,假设考虑工厂中有100个数据库。数据库1的向量1被复制到数据库3和4,而数据库1的向量2被复制到数据库6和10。当一个向量被篡改时,它可以从任何一个副本节点中恢复。攻击者必须知道要损坏的向量的所有副本的位置或所有数据库都必须受到攻击,而这使攻击者的任务变得极具挑战性。在三种冗余机制中,动态冗余被认为最优。

3 工业数据安全防护架构与设计

采用区块链和动态复制相结合的方式来实现工业数据安全的防护。区块链用于去中心化的散列存储架构,以保证数据完整性。通过动态复制实现对数据完整性攻击的恢复能力。工业控制系统每一阶段的数据都保存到相应的数据库中。传感器的测量值按时间序列存为向量。每个向量的生成相应的散列并将其存储在区块链中。散列大小和区块链中块大小的组合是数据安全防护的主要开销。为了减少存储开销,例如为一分钟间隔收集的向量组生成散列。

向量分组可实现跨多个存储节点执行动态复制。每组向量被复制到电厂网络中的不同存储节点。与在HDFS中一样,存储节点以及每个向量组的副本必须存储在媒体上,以备恢复使用。由于每个向量组的散列都存储在区块链中,因此每个组对应的存储节点可以与散列一起存储在区块链中。散列、时间范围和存储节点列表共同构成了向量组的索引。索引存储在区块链的区块内。来自仪控系统中每个数据存储在相应的存储节点内,并动态复制到其他存储节点。图4显示了基于区块链技术的工业数据安全防护的架构。

使用智能合约在区块链的区块内存储索引。智能合约可以保存任何类型的状态变量,例如整数、字符串、数组、映射和结构。结构数据类型用于包含向量组的散列、时间范围和存储节点列表的索引。可以使用具有动态长度的空索引数组初始化智能合约。当存储节点存储向量组的索引时,索引会附加到数组中。

智能合约包含存储新索引的函数。该函数的参数包括向量组的散列和时间范围。为了存储向量组的索引,存储节点发送一个事务,其中包含对智能合约的函数调用以及相应的参数。在索引通过智能合约的状态变量成功存储在区块链中后复制该向量组。

在此架构中,每个存储节点都有自己的加密密钥对。存储节点的公钥在部署时被标记为授权在智能合约中存储索引。然后,存储节点发送事务以存储向量组的索引。此方法可以防止从未知资源存储接收的索引。

总之,本框架以有效的方式利用区块链,为工业数据的完整性检查提供不可变的散列。通过使用动态复制以有效实现向量的冗余。

图4 基于区块链技术的工业数据安全防护架构

4 结束语

本文研究了为抵御网络攻击维护数据完整性以及冗余的解决方案,并通过对比优缺点,设计了基于区块链技术的工业数据安全防御的架构。使用区块链作为数据存储机制可以保证数据防篡改,提高数据的真实性。

[1]K. Stouffer, J. Falco, K. Scarfone, Guide to industrial control systems (ICS) security, in: NIST Special Publication, vol. 800,2011.

[2]S. Nakamoto,Bitcoin:A Peer-to-Peer Electronic Cash System,2010,https://bitcoin.org/bitcoin.pdf.

[3]王文宇,刘玉红.基于数据二极管技术的百度木马防御研究[J].信息安全与通信保密,2011.

[4]赵波,郭瑞.Hadoop框架核心技术在高校大数据教学系统中的应用[J].无线互联科技,2017.

猜你喜欢
哈希攻击者数据安全
基于贝叶斯博弈的防御资源调配模型研究
我国5G数据安全保护供给不足,“四步”拉动产业发展
基于特征选择的局部敏感哈希位选择算法
哈希值处理 功能全面更易用
文件哈希值处理一条龙
云计算中基于用户隐私的数据安全保护方法
正面迎接批判
建立激励相容机制保护数据安全
正面迎接批判
大数据云计算环境下的数据安全