paperbot · PL 论文追踪

全部论文 待读 收藏

P2 EShield: protect smart contracts against reverse engineering

EShield:保护智能合约免受逆向工程
ISSTA Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis2020匹配度 2/10 · 该论文研究智能合约字节码的反逆向保护,涉及控制流恢复与编译/代码生成,与静态分析有间接关联;但它不涉及 LLM/Agent、AI 辅助分析、浮点程序分析或贝叶斯程序分析,与用户的核心研究方向匹配度低。引用 5 inbox
Wentian Yan, Jianbo Gao, Zhenhao Wu, Yue Li, Zhi Guan, Qingshan Li, Zhong Chen
crossref: 2026-09-12

AI 速览

一句话:提出 EShield,通过将跳转地址相关指令替换为反模式,干扰字节码控制流恢复,从而保护智能合约抗逆向工程。

智能合约是区块链应用的后端程序,其执行结果确定且公开可见。部分开发者为生成随机性或出于安全考虑不愿公开源码,但攻击者仍可用逆向工程工具反编译和分析字节码。本文提出 EShield,一种自动化的安全增强工具,通过将操作跳转地址的原始指令替换为反模式,干扰从字节码恢复控制流。作者在 EShield 中实现了四种方法,并在超过 2 万个智能合约上开展实验。评估结果表明,所有受保护的智能合约均能抵抗三种不同的逆向工程工具,且仅带来很小的额外 gas 开销。

问题
智能合约字节码公开可见,即使开发者不公开源码,攻击者仍可利用逆向工程工具反编译和分析代码,威胁合约中的随机性机制或安全性。
方法
EShield 自动将操作跳转地址的原始指令替换为反模式,以干扰从字节码恢复控制流,并实现了四种保护方法。
评估
在超过 2 万个智能合约上进行实验,验证受保护合约能抵抗三种逆向工程工具,同时额外 gas 开销很小。
原文摘要(Abstract)

Smart contracts are the back-end programs of blockchain-based applications and the execution results are deterministic and publicly visible. Developers are unwilling to release source code of some smart contracts to generate randomness or for security reasons, however, attackers still can use reverse engineering tools to decompile and analyze the code. In this paper, we propose EShield, an automated security enhancement tool for protecting smart contracts against reverse engineering. EShield replaces original instructions of operating jump addresses with anti-patterns to interfere with control flow recovery from bytecode. We have implemented four methods in EShield and conducted an experiment on over 20k smart contracts. The evaluation results show that all the protected smart contracts are resistant to three different reverse engineering tools with little extra gas cost.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot6066,
  title = {EShield: protect smart contracts against reverse engineering},
  author = {Wentian Yan and Jianbo Gao and Zhenhao Wu and Yue Li and Zhi Guan and Qingshan Li and Zhong Chen},
  booktitle = {ISSTA},
  year = {2020},
  doi = {10.1145/3395363.3404365}
}