Binhunt: Automatically Finding Semantic Differences in Binary Programs
Publication Type
Conference Proceeding Article
Publication Date
10-2008
Abstract
We introduce BinHunt, a novel technique for finding semantic differences in binary programs. Semantic differences between two binary files contrast with syntactic differences in that semantic differences correspond to changes in the program functionality. Semantic differences are difficult to find because of the noise from syntactic differences caused by, e.g., different register allocation and basic block re-ordering. BinHunt bases its analysis on the control flow of the programs using a new graph isomorphism technique, symbolic execution, and theorem proving. We implement a system based on BinHunt and demonstrate the application of the system with three case studies in which BinHunt manages to identify the semantic differences between an executable and its patched version, revealing the vulnerability that the patch eliminates.
Discipline
Information Security
Research Areas
Information Security and Trust
Publication
10th International Conference on Information and Communications Security (ICICS 2008)
First Page
238
Last Page
255
ISBN
9783540886242
Identifier
10.1007/978-3-540-88625-9_16
Publisher
Springer Verlag
City or Country
Berlin
Citation
GAO, Debin; Reiter, Michael K.; and SONG, Dawn.
Binhunt: Automatically Finding Semantic Differences in Binary Programs. (2008). 10th International Conference on Information and Communications Security (ICICS 2008). 238-255.
Available at: https://ink.library.smu.edu.sg/sis_research/306
Additional URL
http://dx.doi.org/10.1007/978-3-540-88625-9_16