Page 293 - 《软件学报》2021年第5期
P. 293
田国华 等:区块链系统攻击与防御技术研究进展 1517
链网络,导致网络瘫痪拒绝服务.DDoS 攻击簇的潜在前置攻击方式包含 1 种中间攻击:木马劫持攻击,
涉及 4 种攻击簇初始攻击:钓鱼攻击、逃逸漏洞、客户端漏洞、0day 漏洞攻击.这些攻击簇初始攻击
旨在帮助攻击者获取用户节点的控制权,攻击者通过这种方式控制大量的用户节点,即可获取足够的
网络资源来实施 DDoS 攻击,从而实现期货卖空获利等潜在攻击目的.
(7) 粉尘攻击簇.粉尘攻击是攻击者追踪目标用户钱包、账户,从而盗取用户账户资产的攻击方式.这种攻
击簇的潜在前置攻击方式主要包括 2 种中间攻击:窃听攻击和交易特征分析,涉及 3 种初始攻击:中间
人劫持攻击、钱包客户端漏洞和 0day 漏洞攻击.攻击者可以利用这些初始攻击发动中间攻击来获取
用户钱包、账户信息,从而间接实现盗取用户钱包、账户余额的攻击目的.
(8) 误操作异常攻击簇.主要包括 1 种潜在前置攻击:调用深度攻击,旨在帮助攻击者在智能合约运行的场
景中,根据合约调用次数受限的特点实现误操作,从而获利.
综上所述,卖空攻击簇主要涉及 37 种初始攻击,这些攻击方式反映了区块链网络最底层的安全漏洞和威
胁.因此,构建区块链安全防御体系的关键,是在区块链系统模型设计阶段解决这些初始攻击所依赖的安全漏
洞,从根本上缓解、甚至解决区块链系统面临的诸多安全问题.
7.2 区块链安全防御体系
区块链安全防御体系的构建,仅依靠简单堆砌现有攻击解决方案是显然不够的,并且很多解决方案只能在
一定程度上缓解相应攻击方式带来的危害,这降低了区块链网络的安全性上限.因此,构建区块链安全防御体
系,应当从现有的攻击方式出发,逆向追溯并解决所有的潜在前置攻击,从根本上缓解或解决这些区块链攻击.
同时,结合现有的一些区块链安全技术,进一步解决遗留的安全问题.本节将在攻击关联分析的基础上,通过设
计区块链底层系统模型,从源头解决上述 37 种初始攻击依赖的安全漏洞和技术缺陷;同时,结合已有的区块链
上层安全防御技术,为区块链网络提供追加式的安全保护,以此构建出较为全面的区块链安全防御体系.
7.2.1 区块链底层模型设计
区块链系统模型设计的合理性,往往决定着区块链网络的安全性和实用性.如:密码学工具的安全性决定着
区块链数据的安全性,共识机制的方案特性决定着区块链网络交易的吞吐量和安全性等.因此,构建区块链安全
防御体系的关键在于设计出一个合理、安全、逻辑紧密的系统模型.根据卖空攻击簇涉及的 37 种初始攻击的
特性,本文将从以下几个层面出发设计区块链系统模型.
(1) 底层技术安全:包括密码学工具的安全性、P2P 网络的安全性,可从以下几点考虑.
① 严格评估待选密码学工具的安全性,避免采用被植入后门的密码学工具,以阻止攻击者发起的碰
撞攻击、后门攻击和交易延展性攻击.
② 提高系统对多种密码学工具的兼容性,以满足用户在多样化服务场景中的安全性需求.
③ 根据实际安全需求选择备用的密码学工具作为应急预案,以应对量子攻击、密码算法破解等安全
事件带来的安全威胁,提高系统稳健性.
④ 设计并部署数据过滤模型和数据上链协议,避免攻击者通过恶意信息攻击破坏区块链网络环境.
(2) 运行机制安全:科学合理的区块链运行机制是保证区块链网络良好运行的关键,所以在构建区块链系
统时,开发者应尝试引入科学合理的挖矿机制、共识机制和交易机制.
① 公平的挖矿机制:系统应在矿工的客户端内置 Casper 协议,利用惩罚措施阻止恶意矿工通过无利
害关系攻击和空块攻击实现最大化收益.在矿池挖矿的场景中,矿池应采用矿工算力监测和工作
量检验算法并行的方式,评估矿工工作量的合理性,以此杜绝矿工通过算力伪造攻击和扣块攻击
获取额外奖励的可能性.通过这些方法,可以在一定程度上保证矿工的平均盈利,避免矿工因无法
盈利而发起 BDoS 攻击.
② 安全的共识机制:由于构造的差异性,不同共识机制所具备的优势和缺陷也不尽相同.为了保证全
网节点竞争记账权的公平性,应从以下几点考虑.
(a) 针对授权共识机制中存在的女巫攻击,区块链系统需要引入身份验证机制对网络节点进行