题名

使用渾淆器和防篡改器技術保護和隱藏在Java Bytecode程式的軟體浮水印

并列篇名

Protect Software Watermarking by Obfuscation and Amper-proofing Techniques on Java Bytecode Language

作者

陳湘揚(Hsiang-Yang Chen)

关键词

軟體浮水印 ; 渾淆器 ; 防篡改器 ; 爪哇內碼程式 ; Software Watermarking ; ObfusCator ; Tamper-Proofing ; Java Bytecode

期刊名称

興國學報

卷期/出版年月

14期(2013 / 01 / 01)

页次

193 - 203

内容语文

繁體中文

中文摘要

JAVA是現在越來越普及的跨平台程式語言,由於它跨平台的特性,相當適合程式發展,但是,JAVA編譯出來的Bytecode不像其他語言般有著高的保密性,留下相當多高階語言的資訊,容易被反編譯。軟體浮水印是將某些特定的資訊經過特殊處理後,將其加入至指定的程式裡以證明作者或擁有者,並且軟體浮水印一定要確保其不易被破解者「去除」或「修改」,才能達到證明的目的。本文以保護JAVA Bytecode程式的軟體浮水印(Software Watermarking)為主,為了保證軟體浮水印的安全度,故使用混淆器技術(Obfuscation)將浮水印嵌入隱藏在JAVA Bytecode中,最後並使用防篡改器(Temper-proofing)技術以防止浮水印被修改。

英文摘要

This paper presents an approach to protect Java software copyright by integrating obfuscation watermark and temper-proofing techniques. Java programs can be easily decompiled and reverse engineered from Java bytecode to Java source code by decompilers. So, Java programs are prone to be pirated. Software watermarking protects software through embedding some secret information into software as an identifier of the ownership of copyright for this software. We use the propose obfuscation and tamper-proofing techniques to make software watermarks hard to find and to protect the Java bytecode program(s). After obfuscating the program, the thieves have difficulties to be aware of whether the program had been embedded a watermark or not, or hard to find the location of the watermark data. Tamper-proofing techniques will disable some or all of the program functionality once they detect any unwanted modifications during run time. Finally, we use Tamper-proofing techniques to protect the code be tampered. We success to present our robustly protect software watermarking based on control flow obfuscation and tamper-proofing techniques and to reach the goal to protect Java bytecode programs.

主题分类 人文學 > 人文學綜合
社會科學 > 社會科學綜合
参考文献
  1. Jobfusator: Java Class File Obfuscator, http://www.duckware.com/jobfuscate/index.html, (2000).
  2. Vliet H. V. Crema: the Java obfuscator, http://www.brouhaha.com/~eric/computers/mocha.html, (1996).
  3. Davidson, R. I. and Myhrvold, N. Method and system for generating and auditing a signature for a computer program, US Patent 5,559,884, Assignee: Microsoft Corp. (1996)..
  4. Vliet H. V. Mocha: the Java decompiler, http://www.brouhaha.com/~eric/computers/mocha.html, (1996).
  5. Zelix KlassMaster. Java Obfuscator:, http://www.zelix.com, (2010).
  6. Collberg, C.,Carter, E.,Debray, S.,Huntwork, A.,Linn, C.,Stepp, M.(2004).Dynamic Path Based Software Watermarking.Proceedings of the Conference on Programming Language Design and Implementation
  7. Collberg, C.,Thomborson, C.(2002).Watermarking, Tamper-Proofing, and Obfuscation-Tools for Software Protection.IEEE Transactions on Software Engineering,28(8),735-746.
  8. Collberg, C.,Thomborson, C.(1999).Software Watermarking: Models and Dynamic Embeddings.Conference Record of POPL '99: The 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
  9. Monden, A.,Iida, H.,Matsumoto, K.,Inoue, K.,Torii, K.(2000).A practical method for watermarking Java programs.Computer Software and Applications Conference, 2000. COMPSAC 2000. The 24th Annual International
  10. Palsberg, J.,Krishnaswamy, S.,Kwon, M.,Ma, D.,Zhang, Q. S.(2000).Experience with software watermarking.Computer Security Applications, ACSAC '00. 16th Annual Conference