Nothing Special   »   [go: up one dir, main page]

skip to main content
10.5555/645982.674790guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

A Practical Method for Watermarking Java Programs

Published: 25 October 2000 Publication History

Abstract

Java programs distributed through Internet are now suffering from program theft. It is because Java programs can be easily decomposed into reusable class files and even decompiled into source code by program users. In this paper, we propose a practical method that discourages program theft by embedding Java programs with a digital watermark. Embedding a program developer's copyright notation as a watermark in Java class files will ensure the legal ownership of class files. Our embedding method is discernible by program users, yet enable us to identify an illegal program that contains stolen class files. The result of the experiment to evaluate our method showed most of the watermarks (20 out of 23) embedded in class files survived two kinds of attacks that attempt to erase watermarks: an obfuscactor attack, and a decompile-recompile attack.

References

[1]
4thpass LLC, SourceGuard, ¿http://www.4thpass. com¿.
[2]
Ahpah Software, SourceAgain, ¿http://www.ahpah. com/sourceagain/¿.
[3]
Behrens, B. C. and Levary, R. R., "Practical legal aspects of software reverse engineering," Communications of the ACM, vol. 41, no. 2, Feb. 1998, pp. 27-29.
[4]
Berghel, H., "Watermarking cyberspace," Communications of the ACM, vol. 40, no. 11, 1997, pp. 19-24.
[5]
Collberg, C. and Thomborson, C., "Software watermarking: Model and dynamic embeddings," The 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'99), San Antonio, Texas, Jan. 1999.
[6]
Comware Australia Pty. Ltd., ClassNavigator, ¿http://www.comware.com.au/classnavigator/classnav.ht m¿.
[7]
Craver, S., Memon, N., Yeo, B. and Yeung, M. M., "Resolving rightful ownerships with invisible watermarking techniques: Limitations, attacks, and implications," IEEE Journal on Selected Areas in Communications, vol. 16, no. 4, 1998, pp. 573-586.
[8]
Davidson, R. L. and Myhrvold N., "Method and system for generating and auditing a signature for a computer program," US Patent, no. 5559884, Assignee: Microsoft Corporation, Sep. 1996.
[9]
Dyer, D., "Java decompilers compared," in article of JavaWorld, July 1997, ¿http://www.javaworld.com/ javaworldl/jw-07-1997/jw-07-decompilers.html'.
[10]
Eastridge Technology, Jshrink, ¿http://www.et.com/jshrink.html'.
[11]
Hirose, N., Okamoto, E., Mambo, M., "A proposal for software protection," in Proc. 1998 Symposium on Crptography and Information Security, SCIS'98-9.2.C, Jan. 1998. (in Japanese).
[12]
Ichisugi, Y., "Watermark for software and its insertion, attacking, evaluation and implementation methods," Summer Symposium on Programming, IPSJ, July 1997, pp. 57-64. (in Japanese).
[13]
Kitagawa, T. "Digitalwatermarking method for Java programs," Master's Thesis, Department of Information Processing, Graduate School of Information Science, Nara Institute of Science and Technology, NAIST-IS- MT9751041, Feb. 1999. (in Japanese).
[14]
Kouznetsov, P., Jad - the fast Java Decompier, ¿http://meurrens.ml.org/ip-Links/Java/codeEngineering/ jad15. Html'.
[15]
Leininger, K.E., The Java developer's tool kit, McGraw-Hill, 1997.
[16]
McGraw, G. and Felten E., Java security: hostile applets, holes, and antidotes, John Wiley & Sons, 1997.
[17]
Meyer, J. and Downing, T., Java virtual machine, O'Reilly & Associates, 1997.
[18]
Monden, A., Hajimu, I., Matsumoto, K., Katsuro, I. and Torii, K., "Watermarking Java programs," in Proc. 4th International Symposium on Future Software Technology (ISFST'99), Software Engineers Association, Nanjing, China, Oct. 1999, pp. 119-124.
[19]
Monden, A., Java watermarking tools, ¿http:// tori.aist-nara.ac.jp/jmark/¿.
[20]
Nolan, G., "Decompile once, run anywhere: protecting your Java source," Web Techniques magazine, vol. 2, Issue 9, Sep. 1997.
[21]
preEmptive Solutions, DashO, ¿http://www. preemptive.com/¿.
[22]
Raud, R., ClassViewer, ¿http://raud.net/robert/ classinfo/ClassViewer.html'.
[23]
Sun Microsystems, Inc., "Security and signed applet," ¿http://www.javasoft.com/products/jdk./1.1/docs/ guide/security/¿.
[24]
Vliet, H., Mocha - the Java Decompiler, ¿http://www.brouhaha.com/~eric/computers/mocha.html'.

Cited By

View all
  • (2019)ShellmarkProceedings of the ACM India Joint International Conference on Data Science and Management of Data10.1145/3297001.3297036(260-264)Online publication date: 3-Jan-2019
  • (2015)Encoding numbers into reducible permutation graphs using heap-ordered treesProceedings of the 19th Panhellenic Conference on Informatics10.1145/2801948.2801981(311-316)Online publication date: 1-Oct-2015
  • (2013)Impact of software watermarking on smart devicesProceedings of the 2013 Research in Adaptive and Convergent Systems10.1145/2513228.2513330(361-362)Online publication date: 1-Oct-2013
  • Show More Cited By

Index Terms

  1. A Practical Method for Watermarking Java Programs
    Index terms have been assigned to the content through auto-classification.

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image Guide Proceedings
    COMPSAC '00: 24th International Computer Software and Applications Conference
    October 2000
    368 pages
    ISBN:0769507921

    Publisher

    IEEE Computer Society

    United States

    Publication History

    Published: 25 October 2000

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 02 Oct 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2019)ShellmarkProceedings of the ACM India Joint International Conference on Data Science and Management of Data10.1145/3297001.3297036(260-264)Online publication date: 3-Jan-2019
    • (2015)Encoding numbers into reducible permutation graphs using heap-ordered treesProceedings of the 19th Panhellenic Conference on Informatics10.1145/2801948.2801981(311-316)Online publication date: 1-Oct-2015
    • (2013)Impact of software watermarking on smart devicesProceedings of the 2013 Research in Adaptive and Convergent Systems10.1145/2513228.2513330(361-362)Online publication date: 1-Oct-2013
    • (2013)AppInkProceedings of the 8th ACM SIGSAC symposium on Information, computer and communications security10.1145/2484313.2484315(1-12)Online publication date: 8-May-2013
    • (2013)A novel watermarking method for Java programsProceedings of the 28th Annual ACM Symposium on Applied Computing10.1145/2480362.2480556(1013-1018)Online publication date: 18-Mar-2013
    • (2012)A software watermark based architecture for cloud securityProceedings of the 14th Asia-Pacific international conference on Web Technologies and Applications10.1007/978-3-642-29253-8_23(270-281)Online publication date: 11-Apr-2012
    • (2011)Encoding watermark numbers as cographs using self-inverting permutationsProceedings of the 12th International Conference on Computer Systems and Technologies10.1145/2023607.2023632(142-148)Online publication date: 16-Jun-2011
    • (2009)A semi-dynamic multiple watermarking schemefor java applicationsProceedings of the nineth ACM workshop on Digital rights management10.1145/1655048.1655058(59-72)Online publication date: 9-Nov-2009
    • (2009)A robust software watermarking for copyright protectionComputers and Security10.1016/j.cose.2009.01.00728:6(395-409)Online publication date: 1-Sep-2009
    • (2008)Detecting Theft of Java Applications via a Static Birthmark Based on Weighted Stack PatternsIEICE - Transactions on Information and Systems10.1093/ietisy/e91-d.9.2323E91-D:9(2323-2332)Online publication date: 1-Sep-2008
    • Show More Cited By

    View Options

    View options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media