『链得得APP』刘志毅:区块链技术与网络安全( 三 )


区块链的运行为了维持其数据的有效性与真实性 , 必须要有相应的验证机制来限制节点必须将真实信息写入区块中 。 验证机制的代码是区块链应用的核心之一 , 一旦出现问题将直接导致区块链的数据混乱 , 而且核心代码的修改与升级都涉及到区块链分叉的问题 , 所以验证机制的严谨性就显得尤为重要 。 必须要结合验证机制代码的语言特性来进行大量的白盒审计或是模糊测试 , 来保证验证机制的不可绕过 。
(3) 扩展层安全风险:目前扩展层所实现的主要就是智能合约的功能 , 由于智能合约的起步应用交完 , 相关的程序开发中的安全问题尚未得到解决 , 因此会造成代码实现中的很多安全漏洞 。 虽然智能合约的基本要求是合约处理逻辑的正确性和完备性 , 但是由于开发者能力的不足以及私人利益导致的安全问题仍然很明显 , 譬如在以太坊上多次发生的智能合约的程序漏洞导致的数亿美金的众筹资金被劫持的问题 。
随着区块链技术的不断升级 , 区块链已经具备在链上繁衍出多种应用的功能 , 而实现这种功能的基础就是合约虚拟机(用于运行各种智能合约的平台) , 此技术的出现极大的提高了区块链的可扩展性 , 是区块链2.0的重要标志 。合约虚拟机运行在区块链的各个节点上 , 接受并部署来自节点的智能合约代码 , 若虚拟机存在漏洞或相关限制机制不完善 , 很可能运行来自攻击者的恶意的智能合约 。 这些供给方式包括可重入攻击、调用深度攻击、时间戳供给等方式 。 我们需要理解的是智能合约本质上是一份代码程序 , 难免会有因为考虑不周的导致出现漏洞的情况 , 所以在发布一份智能合约之前 , 进行大量的模糊测试与白盒审计是必不可少的 。
(4) 应用层安全风险:区块链的应用层主要用于面向用户提供服务 , 涉及了不同行业领域的应用场景和用户交互 。 应用层的业务类别多样且交互频繁 , 所以很多传统安全问题都在这一层之中集中 , 成为了攻击装实施攻击和突破区块链系统的首选目标 。 应用层安全风险涉及了私钥管理安全、账户窃取、应用软件漏洞、DDos攻击、环境漏洞等多种安全问题 。
由于区块链平台对于网络带宽的存在高需求 , 所以一旦发生DDoS攻击 , 对于平台和整个行业来说是非常严重的 。 若交易平台被DDoS攻击 , 不但交易平台蒙受损失 , 区块链货币的交易量也将大大减少 , 间接影响区块链货币的涨跌 , 在相关统计的安全事件中 , 以及调查的相关案例显示目前只要是交易平台上线都遭受到DDOS攻击过 。
我们从上面的分析可以看到 , 区块链技术架构本身是存在着安全风险的 , 且其去中心化、自治化和匿名性等特点也对现有网络和数据安全监管带来了新的挑战 。 本质上来说 , 区块链的安全性是由P2P网络加上密码学所保障的 , 因此它的优势在于基本不存在单点故障所带来的系统性的影响 , 不过我们也需要注意到区块链技术本身由于发展尚在早期 , 存在着各种各样的安全挑战 , 并不是使用了区块链技术就一定保障系统的安全性 。
我们可以看到随着技术的发展 , 区块链安全问题越来越趋向于用户、平台层面 , 也就是说区块链的安全问题已经延伸到了传统的网络安全、基础设施、移动信息安全等问题 。 所以在谈及区块链安全的时候 , 不应该仅仅局限于区块链本身 , 它的使用者以及衍生的东西都需要我们的重点关注 。 因此 , 随着区块链技术在各个领域上的应用 , 我们应该正视相应的风险 , 加强对区块链应用领域的正确引导 , 推动和强化区块链安全产品和服务市场的发展 , 鼓励自主可控的区块链平台和应用开发 , 打造更加符合市场需求和拥有自主产权的区块链技术生态 。
『链得得APP』刘志毅:区块链技术与网络安全
本文插图


推荐阅读