Automatic Vulnerability Locating in Binary Patches
This paper proposes an approach to locate the patched vulnerability by analyzing the differences between two versions of an executable file. The approach comprises two parts: finding the differences and auditing the differences. To find the differences, a heuristically method is presented to compute an isomorphism between two callgraphs, based on the definitions of similarity between functions, and the similarity between graphs. The approach of auditing differences is also discussed in this paper. To show the advantages of our approach, we implemented a system called NBDS and apply it in four real-world patches. Experiment results show that our approach is able to locate patched vulnerability with high accuracy and performance.