一种支持内嵌数据处理的合约漏洞修复方案OA北大核心CSTPCD
智能合约是一段部署在区块链上的程序,为分布式交易提供了可能。然而,由于智能合约携带的金融属性及部署后不可改变的特性,使其成为黑客攻击的目标。因此,为保证合约的安全性,需对漏洞合约进行修复。然而,现有合约漏洞修复方案存在修复成功率低、无法处理复杂合约等问题,为此提出一种支持内嵌数据处理的合约漏洞修复方案。该方案首先研究并形式化以太坊虚拟机动态装载机制,并基于内存拷贝指令构建内嵌数据定位算法,解析并反编译智能合约字节码结构;接着基于蹦床机制对智能合约字节码进行重写,并修正因重写而产生的内嵌数据地址偏移;最终实现智能合约的漏洞修复。基于所提方案实现原型工具SCRepair,部署于本地测试网络Ganache以对其进行性能测试,并与现有漏洞修复工具EVMPatch和Smartshield进行比较。实验结果表明,相比于EVMPatch,SCRepair的合约字节码重写成功率提升了约26.9%,并有着更好的执行重写稳定性,受编译器版本的较影响小;相比于Smartshield,SCRepair能够更好地处理复杂合约。
彭泳翔;刘志全;王立波;吴永东;马建峰;陈宁;
暨南大学信息科学技术学院,广东广州510632暨南大学信息科学技术学院,广东广州510632 广东省网络与信息安全漏洞研究重点实验室,广东广州510643暨南大学信息科学技术学院,广东广州510632 西安电子科技大学网络与信息安全学院,陕西西安710071广东省网络与信息安全漏洞研究重点实验室,广东广州510643
计算机与自动化
区块链智能合约字节码重写反编译蹦床
《西安电子科技大学学报》 2024 (001)
P.178-186 / 9
国家自然科学基金(62032025,61932011,62272195);广东省网络与信息安全漏洞研究重点实验室项目(2020B1212060081);广东省重点研发计划(2020B0101090002);广东省基础与应用基础研究基金(2022A1515010299,2020A1515110364);广州市科技计划项目(202201010421);中央高校基本科研业务费专项资金(21622402)。
评论