( 您好!臺灣時間:2021/02/26 12:37
字體大小: 字級放大   字級縮小   預設字形  


研究生(外文):Zhi-Wei Chen
論文名稱(外文):A Study of Protecting Mobile Code
指導教授(外文):Shi-Jen Lin
中文關鍵詞:agletCEFComputing with Encrypted FunctionEEFEvaluation of Encrypted Function惡意主機行動代理人行動執行碼混淆混淆器
外文關鍵詞:agletCEFComputing with Encrypted FunctionEEFEvaluation of Encrypted Functionmalicious hostmobile agentmobile codeobfuscateobfuscator
  • 被引用被引用:0
  • 點閱點閱:81
  • 評分評分:系統版面圖檔系統版面圖檔系統版面圖檔系統版面圖檔系統版面圖檔
  • 下載下載:0
  • 收藏至我的研究室書目清單書目收藏:1

為了突破這些限制,我們已發展JOBS (Java OBfuscation System)這項Java套件。JOBS內含從JODE編修而來的混淆器引擎、衍生自Sander之EEF理論的混淆器模組、及物件資料流編輯器(objsed)等部分。我們規劃JOBS的設計,使之包含易與一般的Java行動代理人系統整合的介面。因此,我們展示Aglets與JOBS的整合,並在此平台執行以投票為例的aglet,則JOBS會自動利用EEF的機制,將存在於我們所指定函式中的多項式加以混淆,其中的過程EEF則會產生與此多項式在配置上極少關聯的矩陣,來取代此多項式,並混淆我們對此多項式的認知。

We encounter the difficulties in protecting the privacy of mobile code by the traditional means, including the mechanisms of trust and security protocols, encryption of transmission and digital signatures, and the police-office model, because these means do not consider protecting the privacy of mobile code. Although leveraging the smartcard is a better protection approach targeting on the privacy of mobile code, the hardware costs and the limited computing resources prevent us from taking this approach. We also recognize that using the obfuscator is a feasible and prevailing means to protect mobile code. However, it is proven that there are no perfect one-way obfuscators such that we can possibly find a way to decompile the obfuscated mobile code. In addition, few obfuscators can enable mobile agent systems to scramble and unscramble the mobile agents in the run time.
To overcome the limitations, we have developed a Java package, JOBS (Java OBfuscation System), which aggregates an obfuscation engine, an EEF obfuscating module derived from Sander, and the Java object stream editor (objsed). To integrate JOBS into the common Java mobile agent systems is designed to be simple. We then present the JOBS-enabled Aglets where we demonstrate an example of voting aglet such that JOBS functions to obfuscate the specific methods of the voting aglet by using the EEF mechanism which obfuscates the polynomials into the lesser-associated matrices that confuse us.
As to our current system limitations, we focus only on the protection of polynomials in a method instead of branch instructions, and we recommend the associated operands to be integers for fear of loss of precision in matrix operations.
There are exiting potential flaws including the inefficiency of calculations due to the heavy use of matrix operations, the undetermined frequency of validating the resolving matrix cache, the loosely-proven strength of security by the matrix operations, and the insufficiency of the validation mechanisms for integrity of the operations on the guest hosts.

List of Illustrationsvi
List of Tablesvii
1 Introduction1
1.2Research Goals2
1.3Scope and Restrictions2
2 Background4
2.1Mobile Code4
2.2Java Virtual Machine4
2.2.1Information in the Class File5
2.2.2Serialization of Objects5
2.2.3Related Instructions6
2.2.4Bytecode Verifier7
2.3Decompilers, Obfuscators and Deobfuscators8
2.3.1Decompiler / Deobfuscator8
2.4Secure Circuit Evaluation10
2.4.1Number Theory10
2.4.2Description of the Protocol12
2.5Evaluation of Encrypted Function (EEF)14
2.5.1Homomorphic Encryption Schemes14
2.5.2Mapping Z/2Z to Z/NZ rings16
3 Related Works17
3.1Mobile Agent Systems17
3.2Security Mechanisms of Aglets17
3.3Existing Decompilers and Obfuscators19
3.4Categories of Protection Strategies for Mobile Code20
3.4.1Mechanisms of Trust and Security Protocols20
3.4.2Secure Transmission and Digital Signatures21
3.4.3Police-Office Model21
3.4.4Leveraging the Smartcards22
3.4.5Code Obfuscation24
3.4.6Computing with Encrypted Function25
4 System Design and Architecture26
4.2General Description on System-wide Architecture26
4.3Architecture of JOBS28
4.4Design of EEF Module30
4.4.1Computation Basis31
4.4.2Formalization of Polynomials32
4.4.3Generation of the Obfuscation Matrices35
4.4.4Postfix Operations with Bytecode Instructions36
4.5Object Stream Editor41
4.6Working with Agent Transfer Protocol (ATP)47
5 System Installation and Applications48
5.1System Installation48
5.2Cases of Applications: Simple Voting and Questionnaire49
5.3Limitations in Current Implementation51
6 Conclusion52
6.1Qualitative Evaluations52
6.1.1Version Compatibility53
6.1.2System Scalability54
6.1.3Initiation Complexity55
6.1.4Effort Efficiency56
6.1.5Module Extensibility57
6.1.6Application Transparency58
6.1.7System Flaws52
6.2Future Works59

[1] Abadi, M., and Feigenbaum, J., “Secure Circuit Evaluation,” Journal of Cryptology, 2(1):1-12, 1990.[2] Aglets Official Site. IBM Research Lab. in Tokyo. 2002. <http://www.trl.ibm.com/aglets/index_e.htm>.[3] Aglets Portal. IBM Research Lab. In Tokyo. 2002. <http://aglets.sourceforge.net/>.[4] Algesheimer, J., et al., “Cryptographic Security for Mobile Code,” In Proc. IEEE Symposium on Security and Privacy (S&P 2001), May 2001. pp.2-11.[5] Authenticode. Microsoft Corporation. 2002. <http://msdn.microsoft.com/workshop/security/authcode/authenticode_node_entry.asp>.[6] Barak, B., et al., “On the (Im)possibility of Obfuscating Programs,” CRYPTO 2001, 2001.[7] Fünfrocken, S., “Protecting Mobile Web-Commerce Agents with Smartcards,” In Proc. ASA/MA'99, October 3-6, Palm Springs, CA, 1999.[8] Guan, X., Yang, Y., You, J., “POM – A Mobile Agent Security Model against Malicious Hosts,” High Performance Computing in the Asia-Pacific Region, 2000. Proceedings. The Fourth International Conference/Exhibition on, Vol.2, 2000. pp.1165-1166.[9] Guthery, B., and Jurgensen, M., Smart Card Developer’s Kit. Macmillan Technical Publishing, 1998.[10] Java Object Serialization Specification: Grammar for the Stream Format. Sun Microsystems, Inc. 1999. <http://java.sun.com/j2se/1.3/docs/guide/serialization/spec/protocol.doc4.html>.[11] Java Security Reference Model. Sun Microsystems, Inc. 1996. <http://java.sun.com/security/SRM.html>.[12] Java Security. Sun Microsystems, Inc. 2002. <http://java.sun.com/security/>.[13] JODE: Java Optimize and Decompile Environment. Jochen Hoenicke. 2001. <http://jode.sourceforge.net/>.[14] Karjoth, G., et al., “A Security Model For Aglets,” IEEE Internet Computing, July-Aug 1997, 1997. pp.68-77.[15] Karnik, N.M., and Tripathi, A.R., “A Security Architecture for Mobile Agents in Ajanta,” Distributed Computing Systems, 2000. Proceedings. 20th International Conference on, 2000. pp.402-409.[16] Lange, D., and Oshima, M., Programming and Deploying Java Mobile Agents with Aglets, Addison-Wesley, 1998.[17] Lindholm, T., and Yellin, F., The Java Virtual Machine Specification 2nd Edition, Addison-Wesley, 1999. <http://java.sun.com/docs/books/vmspec/>.[18] Loureiro, S., and Molva, R., “Function Hiding Based on Error Correcting Codes,” In Proc. of the 1999 International Workshop on Cryptographic Techniques and E-Commerce(CrypTEC '99), City University of Hong Kong Press, 1999.[19] Loureiro, S., and Molva, R., “Privacy for Mobile Code,” In Proc. of distributed object security workshop, OOPSLA'99, Denver, November 1999, 1999.[20] Loureiro, S., Molva, R., and Roudier, Y., “Mobile Code Security,” In proceedings of ISYPAR 2000 (4ème Ecole d'Informatique des Systèmes Parallèles et Répartis), Code Mobile, Toulouse, France, February, 2000.[21] Low, D., Java Control Flow Obfuscation, MsC Thesis, University of Auckland, New Zealand 1998.[22] Low, D., “Protecting Java Code via Code Obfuscation,” ACM Crossroads Student Magzine, 2000. <http://www.acm.org/crossroads/xrds4-3/codeob.html>.[23] Meyer, J., and Downing, T., Java Virtual Machine. O’Reilly, 2000.[24] Mirsky, L., An Introduction to Linear Algebra. Dover Publications, 1990. p35.[25] Piessen, F., et al., “On the Trade-Off between Communication and Trust in Secure Computations,” 6th ECOOP WORKSHOP ON MOBILE OBJECT SYSTEMS: Operating System Support, Security and Programming Languages. In association with the 14th European Conference on Object-Oriented Programming (ECOOP 2000) Cannes, France, 2000.[26] Reiser, H., and Vogt, G., “Security Requirements for Management Systems using Mobile Agents,” In S. Tohme and M. Ulema, editors, Proceedings of the Fifth IEEE Symposium on Computers & Communications, Antibes-Juan Les Pins, France, July 2000. pp.160-165.[27] Sander, T., Young, A., and Yung, M., “Non-Interactive CryptoComputing for NC1,” In 40th IEEE Annual Symposium on Foundations of Computer Science, New York, NY, 17-19 October 1999. pp.554-566.[28] Sander, T., and Tschudin, C.F., “On Software Protection Via Function Hiding,” In Proc. of Information Hiding '98. Springer-Verlag. LNCS Vol.1525, 1998. pp.111-123.[29] Sander, T., and Tschudin, C.F., “Protecting Mobile Agents Against Malicious Hosts,” Mobile Agent Security, LNCS Vol.1419, Springer-Verlag, 1998. pp.44-60.[30] Sander, T., and Tschudin, C.F., “Towards Mobile Cryptography,” In Proc. of the 1998 IEEE Symposium on Security and Privacy, Oakland, California, May 1998.[31] Tardo, J., and Valente, L., “Mobile Agent Security and Telescript,” In Proc. of the 41th International Conference of the IEEE Computer Society (CompCon '96), February 1996.[32] Vogler, H., Kunkelmann, T., and Moschgath, M., “An Approach for Mobile Agent Security and Fault Tolerance using Distributed Transactions,” Parallel and Distributed Systems, 1997. Proceedings., 1997 International Conference on, 1997. pp.268-274.[33] Wang, J., Hu, J., and Hu, K., “Security Design of Mobile Agent System,” Database and Expert Systems Applications, 2000. Proceedings. 11th International Workshop on, 2000. pp.426-430.

第一頁 上一頁 下一頁 最後一頁 top
系統版面圖檔 系統版面圖檔