English

Neural-FEBI: Accurate Function Identification in Ethereum Virtual Machine Bytecode

Software Engineering 2023-02-02 v2

Abstract

Millions of smart contracts have been deployed onto the Ethereum platform, posing potential attack subjects. Therefore, analyzing contract binaries is vital since their sources are unavailable, involving identification comprising function entry identification and detecting its boundaries. Such boundaries are critical to many smart contract applications, e.g. reverse engineering and profiling. Unfortunately, it is challenging to identify functions from these stripped contract binaries due to the lack of internal function call statements and the compiler-inducing instruction reshuffling. Recently, several existing works excessively relied on a set of handcrafted heuristic rules which impose several faults. To address this issue, we propose a novel neural network-based framework for EVM bytecode Function Entries and Boundaries Identification (neural-FEBI) that does not rely on a fixed set of handcrafted rules. Instead, it used a two-level bi-Long Short-Term Memory network and a Conditional Random Field network to locate the function entries. The suggested framework also devises a control flow traversal algorithm to determine the code segments reachable from the function entry as its boundary. Several experiments on 38,996 publicly available smart contracts collected as binary demonstrate that neural-FEBI confirms the lowest and highest F1-scores for the function entries identification task across different datasets of 88.3 to 99.7, respectively. Its performance on the function boundary identification task is also increased from 79.4% to 97.1% compared with state-of-the-art. We further demonstrate that the identified function information can be used to construct more accurate intra-procedural CFGs and call graphs. The experimental results confirm that the proposed framework significantly outperforms state-of-the-art, often based on handcrafted heuristic rules.

Keywords

Cite

@article{arxiv.2301.12695,
  title  = {Neural-FEBI: Accurate Function Identification in Ethereum Virtual Machine Bytecode},
  author = {Jiahao He and Shuangyin Li and Xinming Wang and Shing-Chi Cheung and Gansen Zhao and Jinji Yang},
  journal= {arXiv preprint arXiv:2301.12695},
  year   = {2023}
}

Comments

19 pages, 13 figures

R2 v1 2026-06-28T08:26:04.249Z