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

01/30/2023
by   Jiahao He, et al.
0

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 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.

READ FULL TEXT

page 14

page 15

research
05/11/2023

SigRec: Automatic Recovery of Function Signatures in Smart Contracts

Millions of smart contracts have been deployed onto Ethereum for providi...
research
12/10/2019

Testing Smart Contracts Gets Smarter

Smart contracts are immutable, verifiable, and autonomous pieces of code...
research
05/16/2020

Why Do Smart Contracts Self-Destruct? Investigating the Selfdestruct Function on Ethereum

The Selfdestruct function is provided by Ethereum smart contracts to des...
research
03/14/2023

Code Will Tell: Visual Identification of Ponzi Schemes on Ethereum

Ethereum has become a popular blockchain with smart contracts for invest...
research
07/05/2018

Hunting the Ethereum Smart Contract: Color-inspired Inspection of Potential Attacks

Blockchain and Cryptocurrencies are gaining unprecedented popularity and...
research
09/15/2023

VulnSense: Efficient Vulnerability Detection in Ethereum Smart Contracts by Multimodal Learning with Graph Neural Network and Language Model

This paper presents VulnSense framework, a comprehensive approach to eff...
research
02/17/2021

A Context-Enhanced De-identification System

Many modern entity recognition systems, including the current state-of-t...

Please sign up or login with your details

Forgot password? Click here to reset