Skip to main content

Matching Function-Call Graph of Binary Codes and Its Applications (Short Paper)

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNSC,volume 10701))

Abstract

For a binary code, the function-call graph (FCG) reflects its capability, structure and intrinsic relations. In this work, we propose a FCG matching algorithm based on Hungarian algorithm which makes matching between graphs of large scale possible. Also, optimizations are proposed to improve the efficiency and accuracy of FCG matching algorithm. Finally, a series of experiments are conducted to show that FCG matching is an effective method and has huge application potentiality in software and security analysis.

Y. Wang and S. Wei—The work was partially supported by the National Natural Science Foundation of China under Grant No. 61472437 and 61402492.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. Hu, X., Chiueh, T., Shin, K.G.: Large-scale malware indexing using function-call graphs. In: Proceedings of the 16th ACM Conference on Computer and Communications Security, pp. 611–620. ACM (2009)

    Google Scholar 

  2. Koutra, D., Tong, H., Lubensky, D.: Big-align: fast bipartite graph alignment. In: 2013 IEEE 13th International Conference on Data Mining (ICDM), pp. 389–398. IEEE (2013)

    Google Scholar 

  3. Cordella, L.P., Foggia, P., Sansone, C., Vento, M.: Performance evaluation of the VF graph matching algorithm. In: Proceedings of International Conference on Image Analysis and Processing, pp. 1172–1177. IEEE (1999)

    Google Scholar 

  4. Jouili, S., Mili, I., Tabbone, S.: Attributed graph matching using local descriptions. In: Blanc-Talon, J., Philips, W., Popescu, D., Scheunders, P. (eds.) ACIVS 2009. LNCS, vol. 5807, pp. 89–99. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-04697-1_9

    Chapter  Google Scholar 

  5. Jouili, S., Tabbone, S.: Graph matching based on node signatures. In: Torsello, A., Escolano, F., Brun, L. (eds.) GbRPR 2009. LNCS, vol. 5534, pp. 154–163. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02124-4_16

    Chapter  Google Scholar 

  6. Kuhn, H.W.: The Hungarian method for the assignment problem. Naval Res. Logist. Q. 2(1–2), 83–97 (1955)

    Article  MathSciNet  MATH  Google Scholar 

  7. Kostakis, O.: Classy: fast clustering streams of call-graphs. Data Min. Knowl. Discov. 28(5–6), 1554–1585 (2014)

    Article  MathSciNet  Google Scholar 

  8. Sartipi, K., Kontogiannis, K.: On modeling software architecture recovery as graph matching. In: Proceedings of International Conference on Software Maintenance, ICSM 2003, pp. 224–234. IEEE (2003)

    Google Scholar 

  9. Bernardi, M.L., Cimitile, M., Di Lucca, G.A.: A model-driven graph-matching approach for design pattern detection. In: 2013 20th Working Conference on Reverse Engineering (WCRE), pp. 172–181. IEEE (2013)

    Google Scholar 

  10. Nagarajan, V., Gupta, R., Zhang, X., Madou, M., De Sutter, B.: Matching control flow of program versions. In: IEEE International Conference on Software Maintenance, ICSM 2007, pp. 84–93. IEEE (2007)

    Google Scholar 

  11. Krinke, J.: Identifying similar code with program dependence graphs. In: Proceedings of Eighth Working Conference on Reverse Engineering, pp. 301–309. IEEE (2001)

    Google Scholar 

  12. Silvio C, Yang X.: Simseer and bugwise: web services for binary-level software similarity and defect detection. In: Proceedings of the 11th Australasian Symposium on Parallel and Distributed Computing, pp. 21–29 (2013)

    Google Scholar 

  13. Chen, K., Liu, P., Zhang, Y.: Achieving accuracy and scalability simultaneously in detecting application clones on Android markets. In: Proceedings of the International Conference on Software Engineering, pp. 175–186. ACM (2014)

    Google Scholar 

  14. Tang, Y., Xiao, B., Lu, X.: Signature tree generation for polymorphic worms. IEEE Trans. Comput. 60(4), 565–579 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  15. Junod, P., Rinaldini, J., Wehrli, J., Michielin, J.: Obfuscator-LLVM - software protection for the masses. In: International Workshop on Software Protection, pp. 3–9. IEEE (2015)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yong Tang .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Tang, Y., Wang, Y., Wei, S., Yu, B., Yang, Q. (2017). Matching Function-Call Graph of Binary Codes and Its Applications (Short Paper). In: Liu, J., Samarati, P. (eds) Information Security Practice and Experience. ISPEC 2017. Lecture Notes in Computer Science(), vol 10701. Springer, Cham. https://doi.org/10.1007/978-3-319-72359-4_48

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-72359-4_48

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-72358-7

  • Online ISBN: 978-3-319-72359-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics