Page 281 - 《软件学报》2021年第5期
P. 281

田国华  等:区块链系统攻击与防御技术研究进展                                                         1505


                        性获取记账权,进而赚取奖励的攻击方式,常见于 PoW 系统中.攻击者通过短程 51%攻击,以较大优势
                        比其他节点先挖到“矿”,暂扣区块并赶在其他节点之前公布出来,以获取记账权并赚取奖励.在延迟公
                        布期间,攻击者沿着之前的区块继续挖矿,以积攒更多的优势,保证他可以连续获得奖励.这种攻击不
                        会破坏比特币的运行机制,但会使其他节点的工作量无效化,浪费了大量的算力.
                 4.2.3    其他攻击
                    (1)  无利害关系攻击(nothing at stake attack) [29] :这是一种针对 PoS 共识机制的攻击方式,攻击者可以在区
                        块链产生分叉时,使用权益同时为多个分叉出块,以获取最大化的收益.由于攻击者无需像在 PoW 系
                        统中消耗大量算力,只需进行权益投票便可实现利益最大化,因此也被称为“作恶无成本,好处无限多”
                        的无利害关系问题,这变相地鼓励了区块链分叉的产生.“聪明”的矿工往往采取“在每条分叉上同时
                        挖矿”的最佳策略以获取最大收益,这将导致区块链产生过多分叉,不再是唯一链.全网节点也因此无
                        法达成共识,进而引起双花攻击、非法交易的泛滥.
                    (2)  预计算攻击(pre-computation attack) [30] :在“PoW+PoS”混合共识机制中,当前区块难度取决于前一区块
                        参数(如哈希值).攻击者可以在生成区块时,通过随机试错法计算并选择一个对自己产生下一区块最
                        有利的参数.通过这种方式,攻击者有更大的优势可以获得下一区块的奖励.
                    (3)  长距离攻击(long range attack) [82] :PoS 系统中,区块的生成速度比 PoW 快很多,所以攻击者可能尝试通
                        过重写区块链账本,从而实现代币双花等目的.这种攻击和 PoW 中的长程 51%攻击的原理相似,区别
                        在于长距离攻击中,攻击者不用消耗大量算力,便可能伪造出一条新的区块链主链,攻击成本更低,所
                        以带来的安全威胁更大.
                 4.3   防御策略与方法

                    共识层攻击的主要攻击目标是影响区块链的共识进程,其共性在于攻击者都是利用共识机制的特点或缺
                 陷来提高自身竞争记账权的成功率,从而使区块链沿着对攻击者有利的方向发展,以实现妨碍网络正常运行、
                 货币双花、最大获利等实际目的.其特性则在于各个攻击的场景、目的、方式的不同.授权共识机制中,攻击者
                 持有的有效节点身份数量是影响共识进程的关键.而在非授权共识机制中,算力、权益等类型的资源才是影响
                 共识进程的关键.同时,攻击者为了获取更多资源,可能采用诸多恶意的筹码获取手段来提升自己竞争记账权的
                 成功率.此外,在一些特殊的系统中,攻击者无需积累“资源”便可实现最大化收益.
                    在授权共识机制中,攻击者需持有超过全网 1/3 的节点才有可能主导区块链网络达成有利于自己的共识,
                 即攻击者操纵了多个节点身份,发起了女巫攻击.在女巫攻击的场景中,攻击者可能通过伪造等手段获取多个节
                 点身份,也可能通过胁迫、腐化等手段控制多个节点,而其他节点无法检测、判断出攻击者持有节点身份的数
                 量及其之间的内部关系.因此,阻止女巫攻击的关键在于阻止攻击者获取多重身份,可以考虑以下策略.
                    (1)  采用节点身份验证机制,通过身份验证防止攻击者伪造节点身份.目前,部分私有链采用了 PoA 共识
                        机制,如 Aura  [72] 、Clique [83] 等,该机制通过随机密钥分发与基于公钥体制的认证方式,使得攻击者无法
                        在区块链网络中伪造多个身份,在一定程度上缓解了女巫攻击.
                    (2)  采用高成本的多身份申请机制,通过提高身份伪造成本缓解女巫攻击.尽管节点身份验证机制可以阻
                        止攻击者伪造身份,但在实际中,这种方式无法满足诚实节点对多节点身份的正常需求.因此,可以考
                        虑在区块链中引入首次申请身份免费、多次申请成本指数式升高的身份申请机制,在满足节点对多
                        身份正常需求的同时,指数式增加攻击者的攻击成本,缓解女巫攻击带来的安全威胁.
                    理论上,女巫攻击也可以出现在非授权的共识场景中,但由于非授权共识算法中的节点是通过自身持有的
                 “筹码”竞争记账权,多重身份伪造意味着攻击者“筹码”的分流,但“筹码”总量不会发生变化,而攻击者实施女巫
                 攻击不但不能提高自己获得记账权的成功率,反而有可能导致其成功率降低,所以女巫攻击不会对非授权共识
                 机制的共识过程产生实质性影响.
                    克隆攻击是一种专门针对 PoA 系统的攻击方式,攻击者成功实施克隆攻击的关键,一方面在于 PoA 系统中
                 记账节点集合恒定不变的固有缺陷,另一方面在于攻击者是否能通过 BGP 劫持攻击、分割攻击成功实现网络
   276   277   278   279   280   281   282   283   284   285   286