BinHunt: Automatically Finding Semantic Differences in Binary Programs

作者: Debin Gao , Michael K. Reiter , Dawn Song

DOI: 10.1007/978-3-540-88625-9_16

关键词:

摘要: We introduce BinHunt, a novel technique for finding semantic differences in binary programs. Semantic between two files contrast with syntactic that correspond to changes the program functionality. are difficult find because of noise from caused by, e.g., different register allocation and basic block re-ordering. BinHunt bases its analysis on control flow programs using new graph isomorphism technique, symbolic execution, theorem proving. implement system based demonstrate application three case studies which manages identify an executable patched version, revealing vulnerability patch eliminates.

参考文章(14)
Scott McFarling, Ken Pierce, Zheng Wang, BMAT -- A Binary Matching Tool for Stale Profile Propagation Journal of Instruction-level Parallelism. ,vol. 2, ,(2000)
Gogul Balakrishnan, Radu Gruian, Thomas Reps, Tim Teitelbaum, CodeSurfer/x86—A Platform for Analyzing x86 Executables Lecture Notes in Computer Science. pp. 250- 254 ,(2005) , 10.1007/978-3-540-31985-6_19
Halvar Flake, Structural Comparison of Executable Objects DIMVA. pp. 161- 173 ,(2004) , 10.17877/DE290R-2007
Evgeny B. Krissinel, Kim Henrick, Common subgraph isomorphism detection by backtracking search Software - Practice and Experience. ,vol. 34, pp. 591- 607 ,(2004) , 10.1002/SPE.588
T. K. Vintsyuk, Speech discrimination by dynamic programming Cybernetics. ,vol. 4, pp. 52- 57 ,(1972) , 10.1007/BF01074755
James C. King, Symbolic execution and program testing Communications of The ACM. ,vol. 19, pp. 385- 394 ,(1976) , 10.1145/360248.360252
John W. Raymond, Peter Willett, Maximum common subgraph isomorphism algorithms for the matching of chemical structures. Journal of Computer-aided Molecular Design. ,vol. 16, pp. 521- 533 ,(2002) , 10.1023/A:1021271615909