Page 295 - 《软件学报》2021年第5期
P. 295
田国华 等:区块链系统攻击与防御技术研究进展 1519
库攻击.此外,在日常的区块链网络活动中应提高个人安全意识,忽略来历不明的邮件和网址,避免落
入攻击者为实施钓鱼攻击和中间人劫持攻击而设置的陷阱.
7.2.2 区块链上层技术兼容
区块链的底层模型设计旨在从源头缓解甚至解决 37 种初始攻击依赖的安全漏洞,但仍可能遗留下很多安
全问题.本节在此基础上,通过兼容一些区块链上层技术进一步完善本文的区块链安全防御体系.
(1) 基于智能合约的 Casper 奖惩协议:尽管以太坊引入的 Casper 机制可以通过惩罚恶意节点的方式来阻
止攻击者借助运行机制漏洞来获取最大化利益的“擦边球”行为,如挖矿场景中的无利害关系攻击、空
块攻击和算力伪造攻击等,然而其内置 Casper 协议于 PoS 系统客户端的做法限制了 Casper 机制的扩
展性和灵活性,无法满足多样的服务需求.而独立的 Casper 机制则需要一个高权限的可信管理者,这
与区块链去中心化的思想相悖.智能合约技术的出现,为解决 Casper 机制的应用问题提供了思路.区
块链系统在初始化阶段可以提供基于智能合约的 Casper 奖惩协议模板,全网节点可以在参与公共活
动(如挖矿、投票等)时初始化并加入特定的 Casper 智能合约,通过奖励举报者、惩罚被举报恶意节点
的方式,保证活动的公平性和有序性.
(2) 基于 ARTEMIS 的网络异常监测技术:为了应对网络层存在的 BGP 路由劫持攻击和分割攻击,在区块
链系统中部署 ARTEMIS 系统是十分必要的.该系统可以在几分钟内帮助服务提供商解决 BGP 劫持
的问题,为实现实时的 BGP 劫持监控及应急响应提供可能.然而,ARTEMIS 系统仅对造成网络异常的
BGP 路由劫持攻击和分割攻击具备较高的识别率,而对攻击者通过选择性管控流量发起的 BGP 路由
劫持攻击和分割攻击无效.因此,区块链节点在出块时,可以通过第 4.3 节所述的基于权重的节点活性
检测方法检查网络是否发生分区现象,此处不再赘述.通过部署由 ARTEMIS 技术和基于权重的节点
活性检测方法组成的网络异常监测技术,可以很好地解决网络层存在的安全隐患及其潜在的后置攻
击(如克隆攻击),保证区块链网络的正常运行.
(3) 集成式的代码评估模型:为了应对 0day 漏洞攻击、逻辑漏洞等代码漏洞问题,保证区块链网络设备和
智能合约的代码安全,系统开发者应尝试构建出一套完整全面的代码评估模型,合理兼容现有包括
Fuzzing、代码审计、逆向漏洞分析、反逆向工程等在内的代码监测评估技术.在此基础上,可以引入
机器学习等技术实现全方位的漏洞扫描与风险预测,进一步提升代码评估模型的效率与准确性,保证
区块链网络中的代码安全.
7.3 区块链攻防技术发展态势
目前,区块链网络中发生的安全事件以网络层、合约层和应用层攻击为主,其中,网络层攻击多为传统网络
中的常见安全问题,这是由当前区块链网络基于传统网络的现状导致的.因此,传统网络中的安全防御技术也可
以用于解决区块链网络层攻击.所以,本文的区块链安全防御体系可以通过不断兼容传统网络中已有或新兴的
安全防御技术,来保证区块链网络的安全运行.此外,合约层攻击和应用层攻击大多是由代码漏洞、客户端漏洞
和用户社会行为漏洞导致的,这些最底层的漏洞是无法完全避免的,所以本文的区块链安全防御体系旨在不断
完善区块链底层模型设计,通过科学合理的制度不断规范用户的行为,以此减少安全漏洞.同时,在技术兼容方
面,区块链安全防御体系可以通过不断兼容新型的漏洞检测方法或策略来完善自身集成式的代码评估模型,以
此保证区块链系统的健壮性.
值得注意的是:目前已发生的区块链安全事件大多只会影响区块链网络的正常运行,但无法从根本上摧毁
区块链系统,这是因为区块链的底层技术和合理运行机制在一定程度上保证了区块链系统的安全性.一旦数据
层和共识层中的大多数攻击,如碰撞攻击、量子攻击、51%攻击等目前仅理论上可行的区块链攻击具备实际发
生的条件,则区块链系统无疑面临着崩溃的风险.因此,构建区块链安全防御体系需要在保证当前系统安全的同
时,通过技术预研增强防御体系自身的稳健性.本文构建的区块链安全防御体系在底层模型设计阶段便要求开
发者提高系统对多种密码学工具的兼容性,以满足用户在多样化服务场景中的安全性需求.同时,根据实际安全
需求选择备用的密码学工具作为应急预案,以应对量子攻击、密码算法破解等安全事件带来的安全威胁.此外,