Using software birthmarks to identify similar classes and major functionalities
Proceedings of the 2006 international workshop on Mining software repositories
On approximate matching of programs for protecting libre software
CASCON '06 Proceedings of the 2006 conference of the Center for Advanced Studies on Collaborative research
Detecting Java Theft Based on Static API Trace Birthmark
IWSEC '08 Proceedings of the 3rd International Workshop on Security: Advances in Information and Computer Security
A static API birthmark for Windows binary executables
Journal of Systems and Software
Detecting Theft of Java Applications via a Static Birthmark Based on Weighted Stack Patterns
IEICE - Transactions on Information and Systems
A method for detecting the theft of Java programs through analysis of the control flow information
Information and Software Technology
A static birthmark of binary executables based on API call structure
ASIAN'07 Proceedings of the 12th Asian computing science conference on Advances in computer science: computer and network security
Software plagiarism detection via the static API call frequency birthmark
Proceedings of the 28th Annual ACM Symposium on Applied Computing
Hi-index | 0.00 |
To detect the theft of Java class files efficiently, we propose a concept of Java birthmarks, which are unique and native characteristics of every class file. For a pair of class files p and q, if q has the same birthmark as p's, q is suspected as a copy of p. Ideally, the birthmarks should satisfy the following properties: (a) preservation -- the birthmarks should be preserved even if the original class file is tampered with, and (b) distinction -- independent class files must be distinguished by completely different birthmarks. Taking (a) and (b) into account, we propose four types of birthmarks for Java class files. To show the effectiveness of the proposed birthmarks, we conduct three experiments. In the first experiment, we demonstrate that the proposed birthmarks are sufficiently robust against automatic program transformation (93.3876% of the birthmarks were preserved). The second experiment shows that the proposed birthmarks successfully distinguish non-copied files in a practical Java application (97.8005% of given class files were distinguished). In the third experiment, we exploit different Java compilers to confirm that the proposed Java birthmarks are core characteristics independent of compiler-specific issues.