Bingo: Cross-architecture cross-os binary search
Proceedings of the 2016 24th ACM SIGSOFT international symposium on …, 2016•dl.acm.org
Binary code search has received much attention recently due to its impactful applications,
eg, plagiarism detection, malware detection and software vulnerability auditing. However,
developing an effective binary code search tool is challenging due to the gigantic syntax and
structural differences in binaries resulted from different compilers, architectures and OSs. In
this paper, we propose BINGO—a scalable and robust binary search engine supporting
various architectures and OSs. The key contribution is a selective inlining technique to …
eg, plagiarism detection, malware detection and software vulnerability auditing. However,
developing an effective binary code search tool is challenging due to the gigantic syntax and
structural differences in binaries resulted from different compilers, architectures and OSs. In
this paper, we propose BINGO—a scalable and robust binary search engine supporting
various architectures and OSs. The key contribution is a selective inlining technique to …
Binary code search has received much attention recently due to its impactful applications, e.g., plagiarism detection, malware detection and software vulnerability auditing. However, developing an effective binary code search tool is challenging due to the gigantic syntax and structural differences in binaries resulted from different compilers, architectures and OSs. In this paper, we propose BINGO — a scalable and robust binary search engine supporting various architectures and OSs. The key contribution is a selective inlining technique to capture the complete function semantics by inlining relevant library and user-defined functions. In addition, architecture and OS neutral function filtering is proposed to dramatically reduce the irrelevant target functions. Besides, we introduce length variant partial traces to model binary functions in a program structure agnostic fashion. The experimental results show that BINGO can find semantic similar functions across architecture and OS boundaries, even with the presence of program structure distortion, in a scalable manner. Using BINGO, we also discovered a zero-day vulnerability in Adobe PDF Reader, a COTS binary.
ACM Digital Library