Skip to main content

A Static Birthmark of Binary Executables Based on API Call Structure

  • Conference paper
Advances in Computer Science – ASIAN 2007. Computer and Network Security (ASIAN 2007)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4846))

Included in the following conference series:

Abstract

A software birthmark is a unique characteristic of a program that can be used as a software theft detection. In this paper we suggest and empirically evaluate a static birthmark of binary executables based on API call structure. The program properties employed in this birthmark are functions and standard API calls when the functions are executed. The API calls from a function includes the API calls explicitly found from the function and its descendants within limited depth in the call graph. To statically identify functions, call graphs and API calls, we utilizes IDAPro disassembler and its plug-ins. We define the similarity between two functions as the proportion of the number of all API calls to the number of the common API calls. The similarity between two programs is obtained by the maximum weight bipartite matching between two programs using the function similarity matrix. To show the credibility of the proposed techniques, we compare the same applications with different versions and the various types of applications which include text editors, picture viewers, multimedia players, P2P applications and ftp clients. To show the resilience, we compare binary executables compiled from various compilers. The empirical result shows that the similarities obtained using our birthmark sufficiently indicates the functional and structural similarities among programs.

This work was supported by the Korea Science and Engineering Foundation (KOSEF) through the Advanced Information Technology Research Center(AITrc).

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Schleimer, S., Wilkerson, D., Aiken, A.: Winnowing: local algorithms for document fingerprinting. In: Proceedings of the 2003 ACM SIGMOD international conference on Management of data, pp. 76–85. ACM Press, New York (2003)

    Chapter  Google Scholar 

  2. Wise, M.: YAP3: improved detection of similarities in computer program and other texts. In: Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education, pp. 130–134 (1996)

    Google Scholar 

  3. Prechelt, L., Malpohl, G., Philippsen, M.: Finding plagiarisms among a set of programs with JPlag. Journal of Universal Computer Science 8(11), 1016–1038 (2002)

    Google Scholar 

  4. SABRE BinDiff, http://www.sabre-security.com/products/bindiff.html

  5. Using BinDiff for Code theft detection, http://www.sabre-security.com/products/CodeTheft.pdf

  6. Tamada, H., Okamoto, K., Nakamura, M., Monden, A., Matsumoto, K.: Dynamic Software Birthmarks to Detect the Theft of Windows Applications. International Symposium on Future Software Technology 20(22) (2004)

    Google Scholar 

  7. Okamoto, K., Tamada, H., Nakamura, M., Monden, A., Matsumoto, K.: Dynamic Software Birthmarks Based on API Calls. IEICE Transactions on Information and Systems 89(8), 1751–1763 (2006)

    Google Scholar 

  8. The IDA Pro Disassembler and Debugger, http://www.datarescue.com/idabase

  9. Collberg, C., Thomborson, C.: Watermarking, tamper-proofing, and obfuscation-tools for software protection. Software Engineering, IEEE Transactions on 28(8), 735–746 (2002)

    Article  Google Scholar 

  10. Collberg, C., Thomborson, C.: Software watermarking: models and dynamic embeddings. In: Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pp. 311–324. ACM Press, New York (1999)

    Chapter  Google Scholar 

  11. Collberg, C., Myles, G., Huntwork, A.: Sandmark-A tool for software protection research. Security & Privacy Magazine, IEEE 1(4), 40–49 (2003)

    Article  Google Scholar 

  12. Tamada, H., Nakamura, M., Monden, A., Matsumoto, K.: Design and evaluation of birthmarks for detecting theft of java programs. In: Proc. IASTED International Conference on Software Engineering (IASTED SE 2004), pp. 569–575 (2004)

    Google Scholar 

  13. Tamada, H., Nakamura, M., Monden, A., Matsumoto, K.: Java Birthmarks–Detecting the Software Theft–. IEICE Transactions on Information and Systems 88(9), 2148–2158 (2005)

    Article  Google Scholar 

  14. Myles, G., Collberg, C.: K-gram based software birthmarks. In: Proceedings of the 2005 ACM symposium on Applied computing, pp. 314–318. ACM Press, New York (2005)

    Chapter  Google Scholar 

  15. Myles, G., Collberg, C.: Detecting software theft via whole program path birthmarks. Information Security Conference, 404–415 (2004)

    Google Scholar 

  16. Myles, G.M.: Software Theft Detection Through Program Identification. PhD thesis, Department of Computer Science, The University of Arizona (2006)

    Google Scholar 

  17. Larus, J.: Whole program paths. In: Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation, pp. 259–269. ACM Press, New York (1999)

    Chapter  Google Scholar 

  18. Bunke, H., Shearer, K.: A graph distance metric based on the maximal common subgraph. Pattern Recognition Letters 19(3-4), 255–259 (1998)

    Article  MATH  Google Scholar 

  19. Schuler, D., Dallmeier, V., Lindig, C.: A Dynamic Birthmark for Java. In: Proceedings of the 22nd IEEE/ACM International Conference on Automated Software Engineering

    Google Scholar 

  20. Kuhn, H.: The Hungarian method for the assignment problem. Naval Research Logistics 52(1), 7–21 (2005)

    Article  MathSciNet  Google Scholar 

  21. Kibria, R.: frhed - free hex editor, http://www.codeproject.com/tools/frhed.asp

  22. Cloakware security suite, http://www.cloakware.com/products_services/security_suite

  23. Wang, C.: A Security Architecture for Survivability Mechanisms. PhD thesis, University of Virginia

    Google Scholar 

  24. Balakrishnan, G., Reps, T.: Recency-abstraction for heap-allocated storage. Static Analysis Symp. (2006)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Iliano Cervesato

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Choi, S., Park, H., Lim, Hi., Han, T. (2007). A Static Birthmark of Binary Executables Based on API Call Structure. In: Cervesato, I. (eds) Advances in Computer Science – ASIAN 2007. Computer and Network Security. ASIAN 2007. Lecture Notes in Computer Science, vol 4846. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-76929-3_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-76929-3_2

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-76927-9

  • Online ISBN: 978-3-540-76929-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics