区块链可信指数模型分析

区块链推广工作中遇到很多人误认为区块链是用来解决安全问题的;还有些安全测试机构扫描一些区块链项目后发布的区块链安全问题报告,但报告内容只是集中在一些代码实现缺陷和传统IT系统攻防问题上、虽然不能说这种评测结果有问题但又感觉哪里不太对。区块链的安全模型和传统信息系统的有什么区别?又应该怎样来分类处理呢?本文想探讨一下这个问题。

首先区块链不是专门用来给某个信息系统做安全保护的,也做不到给某个信息系统提供全面的安全保护。区块链只是以它的不可篡改的特质和使用到的一些密码学的方法,为某些信息提供了一定的防篡改保护而已。

针对区块链安全模型,《中国区块链应用发展报告2019》中《区块链技术与应用安全分析报告》中将区块链安全模型自下而上分为七层:基础设施层、密码算法层、节点通信层、共识协议层、运行平台层、智能合约层和系统应用层。其中基础设施层针对节点服务器的木马植入,窃听网络通信等传统信息系统的安全漏洞;系统应用层中针对交易平台的账户撞库穷举、web注入、钓鱼网页,针对密钥钱包的私钥窃取、硬破解、APP内存篡改、中间人攻击、侧通道攻击、彩虹攻击等,系统应用层的大部分安全问题本质上都是上层应用自身存在的安全管理漏洞导致的,并不涉及底层的区块链技术;和区块链实际紧密相关的实际是剩下的5层。剩下的5层,可被分为两类:智能合约类安全相关的智能合约层和运行平台层,区块链基础设计类安全相关的密码算法层、节点通信层和共识协议层。

智能合约作为以以太坊为代表的二代区块链平台(BTC只支持非图灵完备的简单脚本)的主要创新拓展之处,其图灵完备性在为智能合约带来强大功能潜力的同时,也与生具来的带来巨多的安全问题,区块链相关的安全问题80%以上聚集在智能合约类安全上。智能合约类安全是指运行平台(即智能合约运行虚拟机)的设计实现中的安全问题,和智能合约(尤其是应用级智能合约)的代码实现漏洞和合约逻辑设计漏洞。安全的智能合约虚拟机是提供一个安全隔离沙盒运行环境。智能合约虚拟机的主要攻击方式有逃逸漏洞攻击、逻辑漏洞攻击、堆栈溢出漏洞攻击、资源滥用漏洞攻击等。

2018年360安全卫士发现了EOS的虚拟机逃逸漏洞,可能造成所有超级节点被窃取控制权。每个节点上运行的只能合约虚拟机完全相同,存在的漏洞也完全相同,同样运行包含恶意代码的相同合约时,无论有多少个节点参与,其实本质上和一个节点参与没有区别。针对这类问题:(1)目前几乎所有的区块链网络结构采用同质化的节点端,容易造成相同漏洞的泛滥,区块链网络是建立在协议组之上的,未来可能存在相同协议下的异质节点。(2)目前一般区块链系统和智能合约虚拟机是紧密绑定关系,智能合约的安全问题会牵连到区块链系统的运行,或许智能合约虚拟机和区块链的解绑以及各自运行环境的隔离,以及各节点智能合约虚拟机的异质化将是一种有效的安全解决方案。

区块链系统链上数据不可篡改一部分来自于去中心化节点间的相互备份,去中心化程度的加剧会导致区块链整体性能上限的骤降(比如比特币),去中性化程度的降低虽然会提升区块链整体性能的上限,但会削弱数据的不可篡改程度,并且区块链性能上限和去中心化带来的不可篡改可信性之间的矛盾是不可调和的。当然去中心化只是达成区块链不可篡改可信性的诸多维度之一,但其代表的却是目前区块链系统在架构时以性能提升为目标,反而不惜削弱区块链的价值根本点:不可篡改可信性、的一种有着误导性的趋势。我们提出区块链可信指数指某个区块链系统中承载的数据不可篡改可信性的强度,也就是数据篡改难度指数在不考虑区块链可信指数,只谈区块链性能提升,很明显是种耍流氓行为

我们将区块链可信指数模型分为:第〇级别(即使控制了大部分节点,乃至全部节点也无法实施数据篡改),第一级别(需控制大部分节点【大于1/3】才可能实施篡改),第二级别(需控制少数节点【1/3≤且>1】即可实施篡改),第三级别(控制任一节点,即可实施篡改),第四级别(无需控制节点,即可实施篡改)。备注:(1)不考虑密钥保存不善导致的盗用等链外安全问题。(2)这里的节点是指区块链中的全部节点,像DPOS等使用了代理机制的系统中,区分了共识节点和非共识节点,上述等级中的节点是指共识节点和非共识节点的相加和。举例说明:2018年360安全卫士发现了EOS的虚拟机逃逸漏洞问题来看EOS的可信指数属于第三级,即控制任一节点即可实施篡改。

目前很多使用了代理共识(类DPOS和BFT)共识的区块链系统(最高到可信指数第二级别)号称可达到每秒十万TPS以上,并以此来证明其系统的技术超越BTC网络(最高到可信指数第一级别),但实际这样的比较是无意义的,因为两者处于不同的可信指数级别中,本身不具有可比性。

另外需要指出的是去中心化程度只是影响区块链安全指数评级的一项因素,其他向区块链技术架构、共识机制选择、密码学算法使用甚至区块链的部署方式等都属于影响区块链安全指数评级的一项因素。并不是不存在在去中心化程度低,甚至中心化的区块链系统获得高的安全指数评级。

你可能感兴趣的:(区块链可信指数模型分析)