【编者按】2019年11月,世界经济论坛(World Economic Forum)发布《区块链在供应链中的包容性部署:区块链网络安全架构》(Inclusive Deployment of Blockchain for Supply Chains:A Framework for Blockchain Cybersecurity)。报告描述了目前区块链在网络安全领域面临的争议及产生原因。介绍了在部署区块链时需关注的网络安全因素,以及区块链的特性给网络安全带来的挑战,并提供了区块链安全部署的技术指南。最后,报告认为区块链或许比其他任何技术都更需要网络安全以保护它所依赖的数字信任。

1、区块链需要网络安全吗?

目前,关于区块链安全性的争论呈现两极分化。一方面,由于区块链链上数据公开可查,缺乏对隐私数据的保护机制,因此,部分人认为区块链技术是不安全的;另一方面,从区块链所采用的密码技术层面讲,区块链技术是难以破解的、安全性极高的技术。

引起区块链安全性争议的原因有二,一是现有区块链周边固有的安全性问题。如数字货币交易所、数字货币钱包、智能合约代码漏洞等。实际上,这些问题是每年爆发的网络攻击的一部分,归属于传统信息安全领域,而不是与区块链技术特有的技术缺陷有关。另一种观点认为,区块链技术提供了内在的安全保障,这种观点同样是有问题的,因为区块链技术及解决方案,并不是安全的灵丹妙药。区块链有其固有优势,但安全性始终是一个权衡的问题——必须将区块链技术作为更广泛的数字化工具包中的一个工具进行评估。

2、区块链中的关键网络安全概念

网络安全的定义是保护或防御网络空间,使其免受网络攻击。在部署区块链技术时,有部分关键的网络安全概念需要考虑在内。

概念1:机密性,旨在确保被授权访问者访问相关信息。

不同区块链可提供不同程度的机密性,通常情况下,区块链可能只提供与传统数据库相同级别的保密性。公共区块链一般缺乏机密性。

概念2:完整性,旨在确保信息可靠和准确。

DLT(分布式账本技术)的设计是为了保证信息的完整性,但依赖于数据输入的质量,当输入数据无用时,也会输出无用信息。信息完整性仍然取决于输入源。

概念3:可用性,旨在确保数据在任何需要的时候都是可用的。

鉴于区块链的容错机制,区块链绝大多数采取了分布式结构,但当面对某些供应链服务至关重要的实时动态更新需求时,区块链分布式配置的特性,可能在效率方面难以满足。

概念4:CIA三要素,机密性、完整性和可用性的结合。

要提高数据的完整性和可用性,应使更多的参与方能够访问和验证数据。但是,访问量的增加可能会对数据机密性产生负面影响。

概念5:分层方法,即所谓的纵深防御。

分层方法允许在系统的核心被破坏之前,有较长的时间检测网络攻击,通过层层设置安全控制机制,建立一个严密的安全网。在区块链中,这转换为对多个阶段的控制:从开发到部署再到淘汰;以及从节点到智能合约和访问端口的多个层。

概念6:整体安全,整体设计。

安全控制需要从更广泛的、更系统的角度来看,如在军事防御领域中,应该将防御视作一个整体,而不是每一个防御墙或沟。由于缺乏技术收敛性和标准,区块链系统设计相当困难,并且开发人员更有可能将各种元素组合在一起,而使其安全特性相互抵消,安全治理问题变得更加突出。

概念7:设计和默认安全。

整体安全的自然扩展,设计安全意味着安全已嵌入到基础系统中,并在默认情况下激活,而不是由终端用户选择性加入。这对于区块链有许多含义,从在智能合约中嵌入更新特性或终止开关,到确保在解决方案初始即考虑安全性。区块链要实现上述目标,需要普及此类安全机制和必要的业务操作。

概念8:过程即安全。

安全不是最终目的,而是过程。安全需要持续的关注,因为攻击者会不断提高技能,安全研究人员会发现新的漏洞,终端用户也会改变他们的习惯。虽然区块链这一新兴技术的大部分漏洞还没有被发现,但随着DLT的普及,黑客攻击行为会越来越多。持续的系统监控和安全风险管理对保护区块链至关重要。

概念9:通过透明化实现安全。

几个世纪以来,人们通常通过模糊化(信息、线索等)保守秘密,隐藏安全系统的逻辑可有效阻止敌人破解它。但现代安全倡导的观点是,一个系统越透明——如何保护信息的内部逻辑越开放——就越好。DLT中使用的密码算法是开源的,该机制已被许多行业广泛测试并使用。

概念10:通过简化实现安全。

复杂性是安全的大敌。保护由复杂部件组成的复杂系统更加困难。在区块链中,管理具有多个交互组件的复杂区块链解决方案难度较大,特别是在供应链管理已经很复杂的情况下。因此,无论部署什么解决方案,都应该设法简化操作,而不是增加复杂性。

3、与网络安全相关的关键区块链概念

概念1:去中心化

安全治理传统上是一个集中的过程,在关键情况下可以快速执行决策。分散治理是向区块链过渡的组织需要进行的范式转换。去中心化的直接后果是减少了对系统的控制和监督,增加了确保物理安全和在需要时关闭系统的难度。除了减少对组织的控制之外,去中心化还拓宽了分布式账本的被攻击面,因为在大多数类型的区块链中,所有节点都拥有相同版本的分布式账本。因此,当去中心化时,这种共同的责任有时可能导致责任缺失。

概念2:共识

共识机制是允许在分布式账本中添加记录的机制。在区块链中,有多种协商机制以解决其共识机制中存在的复杂的平衡性问题,主要涉及可扩展性、抗合谋(collusion resistance)、计算成本和实时性。共识机制中的漏洞可能会破坏总账本的完整性,进而降低系统的可信度。不同的共识机制要求不同的安全级别。一些区块链使用多种机制来达成共识。

概念3:智能合约

智能合约是一种计算机化的协议,一旦满足预定义的条件,就会在区块链上自动执行合约条款。智能合约是一把双刃剑——合约内容对区块链的所有成员都是可见的,这无疑增加了合约漏洞充分暴露的可能。与此同时,当相关实体就不可变更且公众可浏览的智能合约达成一致时,在某些情况下,利用该智能合约中的漏洞也可以视为“合理使用”。

概念4:终端和密钥管理

终端是访问区块链的硬件和软件元素,密钥管理是安全使用终端的主要技术。由于区块链技术采用了加密算法,因此区块链用户通常需要创建和管理用于验证交易的加密密钥,并确保一条记录与合法的数据输入代理相关联。

4、区块链安全部署的10步流程

本节为用户提供了部署区块链的安全指南。

步骤1:获得专业的区块链知识。在考虑部署区块链之前,第一步(可能也是最重要的一步)是获得区块链安全人才。最终目标是创建一个安全监督团队,负责推动下一步的工作。安全监督团队必须拥有组织中最高的访问权限,访问范围涉及首席信息安全官(CISO)、首席信息官(CIO),甚至是董事会。

步骤2:定义安全目标。在组织内构建良好的安全文化,对安全目标有清晰的理解。最终目标是形成一份用简单的语言描述重要目标的文档。

步骤3:选择区块链类型。根据业务目标和安全目标,选择最佳区块链平台。最终目标是创建一个文档,列出所考虑的各种区块链类型的安全性、业务优势及优缺点。

步骤4:进行风险评估。为了避免在生产环境中使用部分和不完整的风险,最好将此风险评估作为概念验证的一部分。最终目标是列出一份包含所有风险和不同管理策略的文档。

步骤5:定义安全控制。最终目标是列出区块链的安全功能规范并为开发团队推荐安全控制相关的文档。

步骤6:定义安全治理。治理过程在很大程度上取决于要监控的风险。需要管理的风险越多,治理过程就应该越彻底。实施和监控的安全控制越多,需要的安全控制人员就越多。风险越分散,就越需要与解决方案开发人员、操作人员、生态系统所有者和参与者进行协调。最终目标是保持技术迭代的连续性并制定灾难恢复计划。

步骤7:选择一个安全的供应商。选择规范的安全产品和服务供应商。最终目标是与安全供应商签订一个或多个合同。

步骤8:安全开发。确保开发团队遵循安全的开发路线,特别是安全的软件开发生命周期(S-SDLC)方法。最终目标是保持源代码记录(并更新),遵循已设定好的安全活动计划(并执行)。

步骤9:监控和审计安全性。保持对区块链解决方案的积极监管。一方面,必须定期对与解决方案交互的基础设施和应用程序进行渗透测试。另一方面,建议设置一个安全运营中心(SOC)来监控区块链解决方案以及该组织的其他资产。在必要时,可定期进行内部或外部的独立审计。最终目标是在SOC中建立对区块链解决方案的积极监管。

步骤10:应急响应。当安全事件发生时,需具备及时响应能力并尝试不同解决方案。事件发生后,必须进行事后评估,以改善解决方案的整体安全状况,并规避该类型安全事件再次发生的风险。最终目标是及时解决安全事件。

5、结论

区块链或许比其他任何技术都更需要网络安全以保护它所依赖的数字信任。虽然传统的网络安全适用于区块链,但区块链技术的应用,对安全措施的独特功能也提出相应诉求。最重要的是,区块链是一种分布式的技术,且拥有不断变化的安全目标,需要一个持续的、敏捷的安全过程。

需要注意的是,虽然引入安全技术对于提高应对网络攻击的能力至关重要,但还远远不够。目前,区块链解决方案已经开始受到网络攻击。长时段的、可持续性的安全解决方案是在业务层采用生态系统方法。这可能是区块链使网络安全从业者目前面临的最大挑战。

以往,安全事务的集中性较强,(区块链技术的应用将)打破原有的规则,(社会、产业链等)都需要一种包容性更强的范式的转变。

编译 | 王新刚/赛博研究院研究员

声明:本文来自赛博研究院,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。