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

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


                 展开探索,旨在制定区块链技术未来的发展规划和标准.
                 1.2   区块链安全态势
                    区块链的多技术融合架构在赋予自身公开透明、去中心化、不可篡改等特点的同时,也因其复杂性导致区
                 块链面临诸多安全威胁.在区块链 1.0 的应用进程中,区块链技术的安全漏洞在复杂多样的应用场景中愈加明
                                                                       [5]
                 显,攻击者可以针对这些安全漏洞发起恶意攻击,从而非法攫取利益 .此外,在数据即价值的时代,攻击者的目
                 标不再局限于代币的双花和盗取,蕴涵交易隐私、用户隐私的区块链数据成为了攻击者的新目标.
                    在区块链网络中,针对相同的安全漏洞或攻击目标,可能存在多种不同的攻击方式.如图 1 所示,根据攻击漏
                 洞或目标所属的区块链层级,可对现有区块链攻击方式做如下分类.
                    (1)  数据层攻击:数据层、网络层和共识层是区块链技术体系中最基础、最必要的 3 个层级,而数据层是
                        其中最重要的一层,主要涉及区块链的数据结构、数字签名、哈希函数等密码学工具.这些密码学工
                        具在保护区块链数据隐私的同时,其固有的碰撞攻击                   [23] 、后门攻击  [24] 等安全问题也给区块链数据隐
                        私带来了一定威胁.此外,攻击者也可能通过交易延展性攻击                     [25] 和恶意信息攻击破坏交易秩序和区块
                        链网络环境.因此,区块链数据层面临的安全威胁主要包含数据隐私窃取和恶意数据攻击.
                    (2)  网络层攻击:网络层是区块链技术体系中最基础的层级,主要包含 P2P 网络组网方式、消息传播协议
                        等模块,赋予了区块链去中心化、不可删除、不可篡改的技术特性.区块链网络层面临的安全威胁主
                        要是针对 P2P 网络的恶意攻击,攻击者可能通过漏洞植入、路由劫持、资源占用等方式扰乱区块链
                        网络的正常运行,也有可能利用交易延迟攻击来破坏区块链网络交易环境.
                    (3)  共识层攻击:共识层是区块链技术体系的核心架构,其中的共识算法可以保证全网节点在去信任化的
                        场景中对分布式账本数据达成共识,为区块链的去中心化、去信任化提供了保障.共识层面临的安全
                        威胁主要是,攻击者可以通过各种手段阻止全网节点达成正确的共识.在授权共识机制中,各节点对
                        共识过程的影响相同,所以易遭受女巫攻击                [26] ;而在非授权共识机制中,各对等节点利用自身所持资
                        源(如算力、权益)竞争记账权,进而达成共识.投入的资源越多,则成功率越高,因此易遭受 51%攻击.
                        攻击者可能出于利益目的,通过贿赂攻击               [27] 、币龄累计攻击    [28] 等方式非法获取大量资源,从而发起
                        51%攻击,以实现代币双花、历史修复、期货卖空、自私挖矿等目的.此外,攻击者还可以通过无利害
                        关系攻击    [29] 、预计算攻击  [30] 等方式影响全网共识进程,进而获利.
                    (4)  合约层攻击:合约层是区块链实现点对点可信交互的重要保障,主要包括智能合约的各类脚本代码、
                        算法机制等,是区块链 2.0 的重要标志.合约层面临的安全威胁可以分为智能合约漏洞和合约虚拟机
                        漏洞:智能合约漏洞通常是由开发者的不规范编程或攻击者恶意漏洞植入导致的,而合约虚拟机漏洞
                        则是由不合理的代码应用和设计导致的.
                    (5)  应用层攻击:应用层是区块链技术的应用载体,为各种业务场景提供解决方案,可分为挖矿和区块链
                        交易两类场景.在挖矿场景中,攻击者可能通过漏洞植入、网络渗透、地址篡改等方式攻击矿机系统,
                        从而非法获利;“聪明”的矿工也可能利用挖矿机制的漏洞,通过算力伪造攻击                          [31] 、扣块攻击 [32] 、丢弃
                        攻击  [33] 等方式谋求最大化的收益.在区块链交易场景中,攻击者可能利用撞库攻击                       [34] 、0day 漏洞 [35] 、
                        API 接口攻击    [36] 等方式非法获取交易平台中用户的隐私信息,也可能通过钓鱼攻击                     [37] 、木马劫持攻
                        击 [38] 等方式获取用户账户的隐私和资产.
                    在实际的区块链攻击场景中,攻击者发起攻击旨在非法获取最大化的利益,但并不是所有的区块链攻击方
                 式都可以使攻击者直接获利.此外,部分区块链攻击对实施场景和条件要求过高,使得其可行性受到了严重的制
                 约.因此,攻击者通常采用一系列跨层级的区块链攻击方式来实现最大化的获利目的,本文称这种攻击序列为攻
                 击簇.例如:现实场景中,攻击者利用自身资源发起 51%攻击是不现实的,所以他们可能通过傀儡挖矿                               [39] 、贿赂攻
                 击、币龄累计攻击等方式非法获取记账权竞争资源,然后发起 51%攻击,进而实现双花攻击、历史修复攻击                                   [40] 、
                 卖空攻击   [41] 等.显然,研究区块链安全态势,不仅要从层级分类的横向维度对单个攻击展开分析,还要从攻击关
                 联分析的纵向维度对跨层级的攻击簇进行研究,才有可能构建出全面有效的区块链安全防御体系.
   268   269   270   271   272   273   274   275   276   277   278