Enhancing DNN-Based Binary Code Function Search With Low-Cost Equivalence Checking

被引:6
|
作者
Wang, Huaijin [1 ]
Ma, Pingchuan [1 ]
Yuan, Yuanyuan [1 ]
Liu, Zhibo [1 ]
Wang, Shuai [1 ]
Tang, Qiyi [2 ]
Nie, Sen [2 ]
Wu, Shi [2 ]
机构
[1] HKUST, Dept Comp Sci & Engn, Clear Water Bay, Hong Kong, Peoples R China
[2] Tencent Secur Keen Lab, Shenzhen 518000, Guangdong, Peoples R China
关键词
Reverse engineering; symbolic execution; software similarity; deep learning; SIMILARITY;
D O I
10.1109/TSE.2022.3149240
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Binary & nbsp;code function search has been used as the core basis of various security and software engineering applications, including malware clustering, code clone detection, and vulnerability audits. Recognizing logically similar assembly functions, however, remains a challenge. Most binary code search tools rely on program structure-level information, such as control flow and data flow graphs, that is extracted using program analysis techniques or deep neural networks (DNNs). However, DNN-based techniques capture lexical-, control structure-, or data flow-level information of binary code for representation learning, which is often too coarse-grained and does not accurately denote program functionality. Additionally, it may exhibit low robustness to a variety of challenging settings, such as compiler optimizations and obfuscations. This paper proposes a general solution for enhancing the top-k ranked candidates in DNN-based binary code function search. The key idea is to design a low-cost and comprehensive equivalence check that quickly exposes functionality deviations between the target function and its top-k matched functions. Functions that fail this equivalence check can be shaved from the top-k list, and functions that pass the check can be revisited to move ahead on the top-k ranked candidates, in a deliberate way. We design a practical and efficient equivalence check, named BinUSE, using under-constrained symbolic execution (USE). USE, a variant of symbolic execution, improves scalability by initiating symbolic execution directly from function entry points and relaxing constraints on function parameters. It eliminates the overhead incurred by path explosion and costly constraints. BinUSE is specifically designed to deliver an assembly function-level equivalence check, enhancing DNN-based binary code search by reducing its false alarms with low cost. Our evaluation shows that BinUSE can enable a general and effective enhancement of four state-of-the-art DNN-based binary code search tools when confronted with challenges posed by different compilers, optimizations, obfuscations, and architectures.
引用
收藏
页码:226 / 250
页数:25
相关论文
共 1 条
  • [1] Finger-hand Rehabilitation using DNN-based Gesture Recognition of Low-cost Webcam Images
    Mesdaghi, Shayan
    Hasanzadeh, Reza P. R.
    Janabi-Sharifi, Farrokh
    PROCEEDINGS OF THE 13TH IRANIAN/3RD INTERNATIONAL MACHINE VISION AND IMAGE PROCESSING CONFERENCE, MVIP, 2024, : 205 - 210