System for Executing Encrypted Java']Java Programs

被引:2
作者
Kiperberg, Michael [1 ]
Resh, Amit [2 ]
Algawi, Asaf [2 ]
Zaidenberg, Nezer J. [3 ]
机构
[1] Holon Inst Technol, Fac Sci, Holon, Israel
[2] Univ Jyvaskyla, Dept Math IT, Jyvaskyla, Finland
[3] Acad Studies, Sch Comp Sci, Coll Management, Rishon Leziyyon, Israel
来源
ICISSP: PROCEEDINGS OF THE 3RD INTERNATIONAL CONFERENCE ON INFORMATION SYSTEMS SECURITY AND PRIVACY | 2017年
关键词
!text type='Java']Java[!/text; Trusted Computing; Hypervisor; Virtualization; Remote Attestation; ATTESTATION; PLATFORM;
D O I
10.5220/0006078902450252
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
An important aspect of protecting software from attack, theft of algorithms, or illegal software use, is eliminating the possibility of performing reverse engineering. One common method to deal with these issues is code obfuscation. However, it is proven to be ineffective. Code encryption is a much more effective means of defying reverse engineering, but it requires managing a secret key available to none but the permissible users. Adequate systems for managing secret keys in a protected trust-zone and supporting execution of encrypted native code have been proposed in the past. Nevertheless, these systems are not suitable as is for protecting managed code. In this paper we propose enhancements to these systems so they support execution of encrypted Java programs that are resistant to reverse engineering. The main difficulty underlying Java protection with encryption is the interpretation that is performed by the JVM. The JVM will require the key to decrypt the encrypted portions of Java code and there is no feasible way of securing the key inside the JVM. To solve this, the authors propose implementing a Java bytecode interpreter inside a trust-zone, governed by a thin hypervisor. This interpreter will run in parallel to the standard JVM, both cooperating to execute encrypted Java programs.
引用
收藏
页码:245 / 252
页数:8
相关论文
共 25 条
[1]  
Algawi A., 2014, ICCSM, P149
[2]  
Averbuch A., 2011, Proceedings of the 2011 5th International Conference on Network and System Security (NSS 2011), P121, DOI 10.1109/ICNSS.2011.6059968
[3]   Truly-Protect: An Efficient VM-Based Software Protection [J].
Averbuch, Amir ;
Kiperberg, Michael ;
Zaidenberg, Nezer Jacob .
IEEE SYSTEMS JOURNAL, 2013, 7 (03) :455-466
[4]   Exact and Portable Profiling for the JVM Using Bytecode Instruction Counting [J].
Binder, Walter ;
Hulaas, Jarle .
ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2006, 164 (03) :45-64
[5]  
Bohne L, 2008, BANDORAS BOCHS AUTOM
[6]  
Chander A, 2001, DISCEX'01: DARPA INFORMATION SURVIVABILITY CONFERENCE & EXPOSITION II, VOL II, PROCEEDINGS, P27, DOI 10.1109/DISCEX.2001.932157
[7]  
Chubachi Y., 2010, P 2010 ACM S APPL CO, P214
[8]   An empirical study of Java']Java bytecode programs [J].
Collberg, Christian ;
Myles, Ginger ;
Stepp, Michael .
SOFTWARE-PRACTICE & EXPERIENCE, 2007, 37 (06) :581-641
[9]   A trusted open platform [J].
England, P ;
Lampson, B ;
Manferdelli, J ;
Peinado, M ;
Willman, B .
COMPUTER, 2003, 36 (07) :55-+
[10]  
Harkema M., 2002, PROC INT WORKSHOP SO, P114