Abstract
API trace birthmark is a major class of software birthmarks, where API sequences are defined as software birthmarks to detect software theft. Currently, many birthmarks of this class have been proposed, but the evaluation of these birthmarks is mainly done through experiments and there is no theoretical framework, which makes it difficult to formally analyze and certify the effectiveness of the birthmarks. To solve this problem, an abstract interpretation-based method for specifying API trace birthmark is proposed in this paper. First, API trace birthmark is characterized as a semantic program property by abstract interpretation. Then, the credibility of API trace birthmark with respect to a specific criterion for copy relation is formally analyzed. Finally, the resilience of API trace birthmark is discussed and it is proved that API trace birthmark is resilient to a commonly used program transformation.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Collberg, C., Nagra, J.: Surreptitious software: obfuscation, watermarking and tamperproofing for software protection, 1st edn. Addision Wesley, Boston (2009)
Tamada, H., Nakamura, M., Monden, A., Matsumoto, K.: Detecting the theft of programs using birthmarks. Graduate School of Information Science, Nara Institute of Science and Technology. Technical Report NAIST-IS-TR2003014 (2003)
Tamada, H., Nakamura, M., Monden, A., Matsumoto, K.: Java birthmark-detecting the software theft. IEICE Trans. Inf. & Syst. E88-D(9), 2148–2158 (2005)
Park, H., Choi, S., Lim, H., Han, T.: Detecting Java theft based on static API trace birthmark. In: International Workshop on Security, pp. 121–135 (2008)
Choi, S., Park, H., Lim, H., Han, T.: A static API birthmark for Windows binary executables. J. Syst. & Softw. 82, 862–873 (2009)
Tamada, H., Nakamura, M., Monden, A., Matsumoto, K.: Design and evaluation of birthmarks for detecting theft of Java program. In: IASTED International Conference Software Engineering, pp. 569–575 (2004)
Schuler, D., Dallmeier, V., Lindig, C.: A dynamic birthmark for Java. In: 22nd IEEE/ACM International Conference on Automated Software Engineering, pp. 274–283 (2007)
Cousot, P., Cousot, R.: Abstract interpretation: A unified Lattice model for static analysis of programs by construction or approximation of fixpoints. In: 4th ACM SIGPLAN-SIGACT Symposium Principles of Programming Languages, pp. 238–252 (1977)
Cousot, P., Cousot, R.: Systematic design of program transformation frameworks by abstract interpretation. In: 29th ACM SIGPLANSIGACT Symposium Principles of Programming Languages, pp. 178–190 (2002)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zeng, Y., Liu, F., Chen, J., Yan, B. (2013). Specifying API Trace Birthmark by Abstract Interpretation. In: Du, Z. (eds) Intelligence Computation and Evolutionary Computation. Advances in Intelligent Systems and Computing, vol 180. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-31656-2_76
Download citation
DOI: https://doi.org/10.1007/978-3-642-31656-2_76
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-31655-5
Online ISBN: 978-3-642-31656-2
eBook Packages: EngineeringEngineering (R0)