arrow
Return

Learning Approximate Execution Semantics From Traces for Binary Function Similarity

delete2023-04-01
delete13
PRE
AI
K
Kexin Pei *
Z
Zhou Xuan
J
Junfeng Yang
S
Suman Jana
B
Baishakhi Ray
DOI:10.1109/TSE.2022.3231621delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Detecting semantically similar binary functions - a crucial capability with broad security usages including vulnerability detection, malware analysis, and forensics - requires understanding function behaviors and intentions. This task is challenging as semantically similar functions can be compiled to run on different architectures and with diverse compiler optimizations or obfuscations. Most existing approaches match functions based on syntactic features without understanding the functions' execution semantics. We present Trex, a transfer-learning-based framework, to automate learning approximate execution semantics explicitly from functions' traces collected via forced-execution (i.e., by violating the control flow semantics) and transfer the learned knowledge to match semantically similar functions. While it is known that forced-execution traces are too imprecise to be directly used to detect semantic similarity, our key insight is that these traces can instead be used to teach an ML model approximate execution semantics of diverse instructions and their compositions. We thus design a pretraining task, which trains the model to learn approximate execution semantics from the two modalities (i.e., forced-executed code and traces) of the function. We then finetune the pretrained model to match semantically similar functions. We evaluate Trex on 1,472,066 functions from 13 popular software projects, compiled to run on 4 architectures (x86, x64, ARM, and MIPS), and with 4 optimizations (O0-O3) and 5 obfuscations. Trex outperforms the state-of-the-art solutions by 7.8%, 7.2%, and 14.3% in cross-architecture, optimization, and obfuscation function matching, respectively, while running 8x faster. Ablation studies suggest that the pretraining significantly boosts the function matching performance, underscoring the importance of learning execution semantics. Our case studies demonstrate the practical use-cases of Trex - on 180 real-world firmware images, Trex uncovers 14 vulnerabilities not disclosed by previous studies. We release the code and dataset of Trex at https://github.com/CUMLSec/trex.
Keywords:
Semantics
Task analysis
Computer architecture
Optimization
Codes
Behavioral sciences
Computational modeling
Binary analysis
large language models
software security

Journal

IEEE Transactions on Software Engineering cover
IEEE Transactions on Software Engineering
IF:
5.6
Papers:
2.9K
Citations:
1.1W

Organization

C
Columbia University
Scholars:
7.1W
Papers: 6.4W
Citations: 263
Purdue University System cover
Purdue University System
Scholars:
4.0W
Papers: 3.6W
Citations: 66
Cited Papers

Cited Papers

Degenerating compartment and functioning compartment of motor neurons in ALS
err1983-05-01
err0
PREAI
errGen Sobue; Ko Sahashi; Akira Takahashi; Yukihiko Matsuoka; Tatsuo Muroga; Itsuro Sobue
errShare
errSave
Exchange interactions in (FeT)90Zr10 (T = Mn, Ru) metallic glasses
err1997-12-01
err0
PREAI
errP.L. Paulose; S. Bhattacharya; V. Nagarajan; R. Nagarajan
errShare
errSave
The Seattle Structural Genomics Center for Infectious Disease (SSGCID)
err2009-10-01
err0
errOAAI
errP. Myler; R. Stacy; L. Stewart; B. Staker; W. Van Voorhis; G. Varani; G. Buchko
errShare
errSave
Modeling Functional Similarity in Source Code With Graph-Based Siamese Networks
err2022-10-01
err17
errOAAI
errMehrotra, Nikita; Agarwal, Navdha; Gupta, Piyush; Anand, Saket; Lo, David; Purandare, Rahul
errShare
errSave
An autonomous in situ detection system for radioactivity measurements in the marine environment
err2008-10-01
err0
PREAI
errC. Tsabaris; C. Bagatelas; Th. Dakladas; C.T. Papadopoulos; R. Vlastou; G.T. Chronis
errShare
errSave
Caveolin-1 and -2 regulate cell motility in castration-resistant prostate cancer
err2018-10-01
err0
errOAAI
errToyoharu Kamibeppu; Koji Yamasaki; Kozue Nakahara; Takahiro Nagai; Naoki Terada; Hiromasa Tsukino; Shoichiro Mukai; Toshiyuki Kamoto
errShare
errSave
researcher View more