ACM Home Page
Please provide us with feedback. Feedback
Tamper-proofing basis path by using oblivious hashing on Java
Full text PdfPdf (414 KB)
Source
ACM SIGPLAN Notices archive
Volume 42 ,  Issue 2  (February 2007) table of contents
Pages: 9 - 16  
Year of Publication: 2007
ISSN:0362-1340
Authors
Hsiang-Yang Chen  National Cheng Kung University, Taiwan, Republic of China
Ting-Wei Hou  National Cheng Kung University, Taiwan, Republic of China
Chun-Liang Lin  National Cheng Kung University, Taiwan, Republic of China
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 56,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1241761.1241762
What is a DOI?

ABSTRACT

Java programs are often downloaded (distributed) to unknown environments, so protect Java code from malicious modification is an important issue. This paper presents a tamper-proofing software technology on basis paths for stack-machine based languages, such as Java, by improving Oblivious Hashing. Our approach is based on a new dynamic stack-tracing approach which inserts hash instructions to monitor the top of the stack to check whether the program running has been tampered with or not. A user can choose one or more methods in a class to tamper-proof program. The protective codes are added to basic blocks at the bytecode level. We developed a new approach to protect constants and variables by alternative hashing functions. The overhead is proportional to the number of Load and Push instructions to be protected.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
A. B. Konovalov. On the nilpotency class of a multiplicative group of a modular group algebra of a dihedral 2-group. Ukrainian Mathematical Journal, vol. 47, no. 1, January 1995.
 
2
 
3
Chung Laung Liu. Elements of Discrete Mathematic. McGraw-Hill, pages 346--349, ISBN:007038133X, 1998.
 
4
5
 
6
Geneviève Arboit. A Method for Watermarking Java Programs via Opaque Predicates. In The Fifth International Conference on Electronic Commerce Research (ICECR-5), October 2002
 
7
 
8
 
9
 
10
Jon Meyer. Jasmin. http://cat.nyu.edu/~meyer/jvm/, March 1997
 
11
Joseph Poole. A method to determine a basis set of paths to perform program testing. U.S. Department of Commerce/National Institute of Standards and Technology, NISTIR 5737, November 1995.
 
12
 
13
Rainer Güting. Subtractive abelian groups. Notre Dame Journal of Formal Logic, vol. XVI, no. 3, pages 425--428, July 1975.
 
14
Raja Vallée-Rai, Laurie Hendren, Vijay Sundaresan, Patrick Lam, Etienne Gagnon and Phong Co. Soot - a Java bytecode optimization framework. Proceedings of CASCON 1999, Mississauga, Ontario, Canada, pages 125--135, 1999, http://www.sable.mcgill.ca/soot/.
 
15
Stanley Chow, Philip A. Eisen, Harold Johnson and Paul C. van Oorschot. A White-Box DES Implementation for DRM Applications. Digital Rights Management Workshop, Washington, DC, USA, November 2002, Revised Papers. Lecture Notes in Computer Science (LNCS), vol. 2696, pages 1--15, October 2003.
 
16
Thomas J. McCabe. A complexity measure. IEEE Transactions on Software Engineering, vol. 2, no. 4, pages 308--320, December 1976.
 
17
Ting-Wei Hou, Hsiang-Yang Chen and Ming-Hsiu Tsai. Three Control Flow Obfuscation methods for Java Software. IEE Proceedings Software, vol. 153, no. 2, pages 80--86, April 2006.
 
18

Collaborative Colleagues:
Hsiang-Yang Chen: colleagues
Ting-Wei Hou: colleagues
Chun-Liang Lin: colleagues