A software birthmark means the inherent characteristics of a program that can be used to identify the program. A comparison of such birthmarks facilitates the detection of software theft. In this paper, we propose a static Java birthmark based on a set of stack patterns, which reflect the characteristic of Java applications. A stack pattern denotes a sequence of bytecodes that share their operands through the operand stack. A weight scheme is used to balance the influence of each bytecode in a comparison of the birthmarks. We evaluate the proposed birthmark with respect to two properties required for a birthmark: credibility and resilience. The empirical results show that the proposed birthmark is highly credible and resilient to program transformation. We also compare the proposed birthmark with existing birthmarks, such as that of Tamada et al. and the k-gram birthmark. The experimental results show that the proposed birthmark is more stable than the birthmarks in terms of resilience to program transformation. Thus, the proposed birthmark can provide more reliable evidence of software theft when the software is modified by someone other than author.
The copyright of the original papers published on this site belongs to IEICE. Unauthorized use of the original or translated papers is prohibited. See IEICE Provisions on Copyright for details.
Copy
Hyun-il LIM, Heewan PARK, Seokwoo CHOI, Taisook HAN, "Detecting Theft of Java Applications via a Static Birthmark Based on Weighted Stack Patterns" in IEICE TRANSACTIONS on Information,
vol. E91-D, no. 9, pp. 2323-2332, September 2008, doi: 10.1093/ietisy/e91-d.9.2323.
Abstract: A software birthmark means the inherent characteristics of a program that can be used to identify the program. A comparison of such birthmarks facilitates the detection of software theft. In this paper, we propose a static Java birthmark based on a set of stack patterns, which reflect the characteristic of Java applications. A stack pattern denotes a sequence of bytecodes that share their operands through the operand stack. A weight scheme is used to balance the influence of each bytecode in a comparison of the birthmarks. We evaluate the proposed birthmark with respect to two properties required for a birthmark: credibility and resilience. The empirical results show that the proposed birthmark is highly credible and resilient to program transformation. We also compare the proposed birthmark with existing birthmarks, such as that of Tamada et al. and the k-gram birthmark. The experimental results show that the proposed birthmark is more stable than the birthmarks in terms of resilience to program transformation. Thus, the proposed birthmark can provide more reliable evidence of software theft when the software is modified by someone other than author.
URL: https://global.ieice.org/en_transactions/information/10.1093/ietisy/e91-d.9.2323/_p
Copy
@ARTICLE{e91-d_9_2323,
author={Hyun-il LIM, Heewan PARK, Seokwoo CHOI, Taisook HAN, },
journal={IEICE TRANSACTIONS on Information},
title={Detecting Theft of Java Applications via a Static Birthmark Based on Weighted Stack Patterns},
year={2008},
volume={E91-D},
number={9},
pages={2323-2332},
abstract={A software birthmark means the inherent characteristics of a program that can be used to identify the program. A comparison of such birthmarks facilitates the detection of software theft. In this paper, we propose a static Java birthmark based on a set of stack patterns, which reflect the characteristic of Java applications. A stack pattern denotes a sequence of bytecodes that share their operands through the operand stack. A weight scheme is used to balance the influence of each bytecode in a comparison of the birthmarks. We evaluate the proposed birthmark with respect to two properties required for a birthmark: credibility and resilience. The empirical results show that the proposed birthmark is highly credible and resilient to program transformation. We also compare the proposed birthmark with existing birthmarks, such as that of Tamada et al. and the k-gram birthmark. The experimental results show that the proposed birthmark is more stable than the birthmarks in terms of resilience to program transformation. Thus, the proposed birthmark can provide more reliable evidence of software theft when the software is modified by someone other than author.},
keywords={},
doi={10.1093/ietisy/e91-d.9.2323},
ISSN={1745-1361},
month={September},}
Copy
TY - JOUR
TI - Detecting Theft of Java Applications via a Static Birthmark Based on Weighted Stack Patterns
T2 - IEICE TRANSACTIONS on Information
SP - 2323
EP - 2332
AU - Hyun-il LIM
AU - Heewan PARK
AU - Seokwoo CHOI
AU - Taisook HAN
PY - 2008
DO - 10.1093/ietisy/e91-d.9.2323
JO - IEICE TRANSACTIONS on Information
SN - 1745-1361
VL - E91-D
IS - 9
JA - IEICE TRANSACTIONS on Information
Y1 - September 2008
AB - A software birthmark means the inherent characteristics of a program that can be used to identify the program. A comparison of such birthmarks facilitates the detection of software theft. In this paper, we propose a static Java birthmark based on a set of stack patterns, which reflect the characteristic of Java applications. A stack pattern denotes a sequence of bytecodes that share their operands through the operand stack. A weight scheme is used to balance the influence of each bytecode in a comparison of the birthmarks. We evaluate the proposed birthmark with respect to two properties required for a birthmark: credibility and resilience. The empirical results show that the proposed birthmark is highly credible and resilient to program transformation. We also compare the proposed birthmark with existing birthmarks, such as that of Tamada et al. and the k-gram birthmark. The experimental results show that the proposed birthmark is more stable than the birthmarks in terms of resilience to program transformation. Thus, the proposed birthmark can provide more reliable evidence of software theft when the software is modified by someone other than author.
ER -