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)  针对授权共识机制中存在的女巫攻击,区块链系统需要引入身份验证机制对网络节点进行
   288   289   290   291   292   293   294   295   296   297   298