区块链的出现与走热似乎为解决企业之间的信任问题提供了一条新通路。但你可能不知道的是,由于自身设计缺陷,区块链却存在了6个攻击面,可诱发安全风险。
区块链的6个攻击面
区块链是一套可记录事务、交易的分布式帐本,该技术除了拥有分布式特性,其去中心化、无法篡改特性也令其与众不同。然而现阶段大众对区块链的热情正在从概念层面转移到技术层面。因此,对于区块链本身是否值得信赖、链上链下如何锚定、如何有效治理区块链等问题,显然还需展开深入实践才行。
相信在不少宣传口径中,你一定听过区块链是安全的说法。比如区块链的链上数据公开透明并且可溯源,由于其分布式机制,还有效能防止数据上链后被篡改,所以它能保障数据的安全。但实际上,区块链技术设计中自身就存在着一定的安全隐患,如51%攻击性问题、双花问题、恶意攻击等,而这些技术本身存在的问题,都能打破区块链安全的“神话”。如果根据区块链架构来划分,其攻击层面实际可以分为6个,主要包括了:
- 应用层
- 合约层
- 激励层
- 共识层
- 网络层
- 数据层
三大层面安全问题凸显
实际上,在上面提到的每个层面上都会存在一些风险点,而目前最易出现问题的有应用层、合约层和数据层,急需引发业内人士关注。
比如,应用层可分为交易所、矿机、矿池、钱包等。交易所往往会面临比较传统的外部安全问题,以及业务方面安全问题。矿机主要是可遭受远程弱口令登陆问题,而矿池则存在可被伪造的问题,还有钱包的安全问题等等,不一而足。
而合约层面临的问题也很多,比如相对熟知的智能合约。截至目前,针对智能合约所发生的攻击次数已多达21次,累计造成了10亿美金的损失。虽然智能合约的代码逻辑比较简单,但却可以造成巨大的经济损失。安全专家在对当前以太坊网络上现存合约做全面排查后,总共发现有160多个合约漏洞,其中有大量还未被公开的漏洞。
数据层则往往面临恶意信息攻击、资源滥用攻击等威胁。由于区块数据是分布在多个节点上的链式结构数据,节点与节点之间的交互变化记录到区块中,然后各节点间同步完整的区块数据。但随着时间的推移,区块数据可能会爆炸式增长,也有可能被写入恶意信息,如病毒特征码,都可能导致整个链条存在威胁。今年5月份,就有因为攻击者篡改了区块链生成时间,导致挖矿难度下降的事件,让劫持整条主链成为可能,最终致使攻击者获取到大量代币。
4方面化解不安因素
为了确保区块链系统安全,可以参照美国国家标准与技术研究院(NIST)的网络安全框架,从战略层面、一个企业或者组织的网络安全风险管理的整个生命周期的角度出发,进而构建识别、保护、检测、响应和恢复5个核心组成部分,以感知、阻断区块链风险和威胁。
除此之外,也可区块链技术自身特点重点关注算法、共识机制、使用及设计上的安全,包括针对上述6个层面的问题逐一解决。
具体为:在算法安全上,对核心算法代码进行严格、完整测试的同时进行源码混淆,增加黑客逆向攻击的难度和成本。在共识机制上,使用更有效的共识算法和策略。在使用安全性上,可管控私钥生成,对其存储进行保护,加密存储敏感数据等手段,来降低私钥泄露可能性。而在机制设计上,确保完善的功能设计优化。
结语
虽然区块链技术面临了上述6个层面上的安全问题困扰,但其所带来的积极意义亦不容抹杀。相信未来通过合规严谨的技术规划与演进,企业与组织还是可以借助区块链技术中的优势特性,进而拓展出更为安全高效的商业模式来的。