关键词:
区块链
区块链安全
以太坊
DApp
智能合约
摘要:
区块链(Blockchain)技术近年来已成为学术界和工业界的研究热点。目前区块链的应用场景也已经扩展到金融、医疗、政府、文化、艺术、物联网、软件工程等领域,因而区块链也常被称为下一代互联网。但是,区块链还存在一系列问题,如共识算法机制、系统性能与运行效率、存储方法、匿名与可信的矛盾以及监管问题等,安全威胁也始终相随相伴。目前针对区块链系统、合约和应用的安全事件频频发生,给个人、企业乃至国家造成了重大经济损失。因此,对区块链分布式计算环境面临的安全威胁展开研究,有着重要的社会意义和应用价值。本文开展了区块链分布式计算环境安全威胁及其应对方法的研究,针对区块链中的智能合约安全、账户与私钥安全、数据与隐私安全和管理问题,进行了面向区块链去中心化应用的数据分析研究、面向智能合约的数据分析与检测方法研究、面向区块链的身份识别方法研究、以及面向区块链的数据隐私保护与溯源方法研究。本文所提出的方法缓解了区块链分布式计算环境中的合约安全威胁、账户安全威胁和数据安全威胁,为后续的区块链技术发展与应用提供了必要的理论支撑和技术支持。本文的主要研究内容分为以下四个部分。第一,通过深入研究和分析DApp(Decentralized Applications,去中心化应用)的数据及其现象,以此来调研区块链分布式计算环境中的应用程序现状,从而发现区块链面临的安全威胁。因此本文进行了面向区块链去中心化应用的数据分析研究,具体方法是:首先收集了较全的DApp数据集,包括总共21类2,565个DApp,及其从2015年7月30日至2020年5月4日(约1000万区块高度)的相关数据;然后从数量、时间、类型以及智能合约这四个角度对DApp分布进行了深入分析。该研究内容能够为DApp开发者、使用者与研究者提供区块链和智能合约安全与性能方面的参考,同时也为本文后续研究提供了研究需求和数据支持。第二,针对如何缓解智能合约安全威胁,本文深入研究了智能合约中的数据行为及其内在联系,提出了一种基于交易的Ethereum(以太坊)智能合约分类和检测方法,从而实现了对恶意合约及脆弱性合约的识别和检测。具体方法是:首先收集了Ethereum的10,000多份智能合约,并聚焦于研究智能合约和用户产生的数据行为,通过人工分析,从交易中发现了四种行为模式,可以用来区分不同类型合约的差异。然后根据这四种行为模式构建出智能合约的14个基本特征。本文还提出了一种数据切片算法来构建实验数据集,对收集到的智能合约交易数据进行切片,最后使用LSTM(Long Short-Term Memory,长短期记忆网络)模型及其改进的GRU(Gated Recurrent Unit Networks,门控循环单元网络)模型来训练和测试我们的数据集。大量的实验结果表明,我们的方法可以区分不同类型的合约,并且可以应用于异常检测和恶意合约识别,其精度、召回率和F1值都令人满意。第三,基于鼠标生物行为特征和深度学习提出了一种连续身份识别方法,可以准确、高效地对当前区块链用户进行连续的身份认证,从而可缓解区块链分布式计算环境面临的账户安全威胁,与现有方法相比,它具有更好的准确性和更低的验证时间。具体方法是:首先,本文采用了一个包含用户鼠标行为的开源数据集,并将数据集中的鼠标行为特征映射为图片数据集,再构建了一个7层的CNN(Convolutional Neural Networks,卷积神经网络)网络来训练和测试,实验结果表明该方法大约每7秒就可以完成一次身份认证任务,FAR(False Accept Rate,误接受率)和FRR(False Reject Rate,误拒绝率)分别为2.94%和2.28%。然后,本文将该方法应用于了区块链钱包的私钥保护中,可以实时保护区块链钱包中用户的私钥安全。一旦钱包检测到用户身份不符,可以立即退出或阻止交易的进行,从而可有效缓解用户私钥泄漏的风险。对已有的7层CNN网络进行了优化,实验结果表明该方法能够每1秒进行一次身份认证,平均FAR和FRR分别为6.92%和6.18%。第四,本文开展了面向区块链的数据隐私保护与溯源方法研究,缓解了联盟链和私有链中既要保证区块链中数据的私密性,又要满足数据和用户行为的可追溯性这一矛盾。本文提出了一种双区块链系统,能够兼顾溯源数据的完整性与敏感信息的隐私保护,从而有效缓解了当前区块链中面临的隐私问题、溯源问题和管理问题。本文还将该系统在真实的安全威胁场景(内部威胁)中应用,建立了内部威胁模型并分析了该系统如何在内部威胁发生后跟踪攻击者并获取证据。最后通过仿真实验评估了该区块链系统的性能与有效性。