报告题目:从Solidity智能合约字节码中恢复变量和类型
报 告 人:宋巍
报告时间:5月9日11:00-12:00
报告地点:计算机学院A501
摘要:
从Solidity字节码中恢复变量及其类型是智能合约分析和审计中的一项关键但极具挑战性的任务。最先进的智能合约反编译器在变量识别和类型恢复方面存在显著不足。为此,我们提出了VarLifter,致力于精确恢复变量及其类型。VarLifter将数据区域的每个读取或写入字段解释为至少一个潜在变量,在丢弃错误识别的变量后,它依据操作序列中变量行为逐步细化变量类型。在34832个真实世界的Solidity智能合约上评估了VarLifter。VarLifter对类型变量恢复的准确率为97.48%,召回率为91.84%。如果使用VarLifter替换两个最先进的Solidity字节码反编译器的变量恢复模块,则正确恢复的类型变量将分别增加52.4%和74.6%。VarLifter在合约反编译、合约审计和合约字节码模糊测试中的应用表明,恢复的变量信息提升了许多合约分析下游任务。

宋巍,南京理工大学计算机科学与工程学院教授、博士生导师,CCF杰出会员、IEEE Senior Member。长期从事软件工程与方法学、服务计算与工作流等方面的研究与教学工作,在ACM/IEEE Transactions期刊以及OOPSLA、FSE、ICSE、ISSTA等国际顶级会议上共发表论文50余篇。