ReSym: Harnessing LLMs to Recover Variable and Data Structure Symbols from Stripped Binaries


연구 분야: Safety



학회: CCS '24: Proceedings of the 2024 on ACM SIGSAC Conference on Computer and Communications Security


초록

Decompilation aims to recover a binary executable to the source code form and hence has a wide range of applications in cyber security, such as malware analysis and legacy code hardening. A prominent challenge is to recover variable symbols, including both primitive and complex types such as user-defined data structures, along with their symbol information such as names and types. Existing efforts focus on solving parts of the problem, e.g., recovering only types (without names) or only local variables (without user-defined structures). In this paper, we propose ReSym, a novel hybrid technique that combines Large Language Models (LLMs) and program analysis to recover both names and types for local variables and user-defined data structures. Our method encompasses fine-tuning two LLMs to handle local variables and structures, respectively. To overcome the token limitations inherent in current LLMs, we devise a novel Prolog-based algorithm to aggregate and cross-check results from multiple LLM queries, suppressing uncertainty and hallucinations. Our experiments show that ReSym is effective in recovering variable information and user-defined data structures, substantially outperforming the state-of-the-art methods.


Author Profile
Xiangyu Zhang

Purdue University West Lafayette IN USA

India
Author Profile
Danning Xie

Purdue University West Lafayette IN USA

India
Author Profile
Zhuo Zhang

Purdue University West Lafayette IN USA

India

📄 논문 정보

발행 연도 2024년
인용수 9
출판 국가 India
사이트 ACM
좋아요 수 0

연관 논문 목록 (638건)