Skip to main content

BinHunt: Automatically finding semantic differences in binary programs

Publication ,  Conference
Gao, D; Reiter, MK; Song, D
Published in: Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
January 1, 2008

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. © 2008 Springer Berlin Heidelberg.

Duke Scholars

Altmetric Attention Stats
Dimensions Citation Stats

Published In

Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

DOI

EISSN

1611-3349

ISSN

0302-9743

Publication Date

January 1, 2008

Volume

5308 LNCS

Start / End Page

238 / 255

Related Subject Headings

  • Artificial Intelligence & Image Processing
  • 46 Information and computing sciences
 

Citation

APA
Chicago
ICMJE
MLA
NLM
Gao, D., Reiter, M. K., & Song, D. (2008). BinHunt: Automatically finding semantic differences in binary programs. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 5308 LNCS, pp. 238–255). https://doi.org/10.1007/978-3-540-88625-9_16
Gao, D., M. K. Reiter, and D. Song. “BinHunt: Automatically finding semantic differences in binary programs.” In Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 5308 LNCS:238–55, 2008. https://doi.org/10.1007/978-3-540-88625-9_16.
Gao D, Reiter MK, Song D. BinHunt: Automatically finding semantic differences in binary programs. In: Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). 2008. p. 238–55.
Gao, D., et al. “BinHunt: Automatically finding semantic differences in binary programs.” Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 5308 LNCS, 2008, pp. 238–55. Scopus, doi:10.1007/978-3-540-88625-9_16.
Gao D, Reiter MK, Song D. BinHunt: Automatically finding semantic differences in binary programs. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). 2008. p. 238–255.

Published In

Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

DOI

EISSN

1611-3349

ISSN

0302-9743

Publication Date

January 1, 2008

Volume

5308 LNCS

Start / End Page

238 / 255

Related Subject Headings

  • Artificial Intelligence & Image Processing
  • 46 Information and computing sciences