跳到主要內容

簡易檢索 / 詳目顯示

研究生: 陳志緯
Zhi-Wei Chen
論文名稱: 行動執行碼保護之研究
A Study of Protecting Mobile Code
指導教授: 林熙禎
Shi-Jen Lin
口試委員:
學位類別: 碩士
Master
系所名稱: 管理學院 - 資訊管理學系
Department of Information Management
畢業學年度: 90
語文別: 英文
論文頁數: 60
中文關鍵詞: agletCEFComputing with Encrypted FunctionEEFEvaluation of Encrypted Function惡意主機行動代理人行動執行碼混淆混淆器
外文關鍵詞: aglet, CEF, Computing with Encrypted Function, EEF, Evaluation of Encrypted Function, malicious host, mobile agent, mobile code, obfuscate, obfuscator
相關次數: 點閱:10下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 一般來說,若我們以信任及安全溝通機制、加密傳輸及數位簽章、警察局模式等方式來保護行動執行碼,我們並無法解決行動執行碼私密性的問題,這是因為這些傳統的方式並未考慮保護行動執行碼之私密性。雖然說應用智慧卡來保護行動執行碼,是對其行動執行碼之私密性保護的一種較佳的方式,但其高硬體成本及受限的運算資源,卻可令我們望之怯步。另一方面,我們也發現或許可以利用執行碼混淆器來保護行動執行碼,它本身是比使用智慧卡更為合適及普遍的方式。然而已有證明敘述,執行碼混淆器演算法上不可能存在有完全的單向函數,意指任何經過混淆器修改過的執行碼,一定可以找到支援某種形式的反編譯器將之還原。此外,目前並未有混淆器能夠支援在行動代理人系統上,對其行動代理人,動態地執行修改及還原其流程之工作。
    為了突破這些限制,我們已發展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.

    Abstract i 摘要 ii Acknowledgements iii List of Illustrations vi List of Tables vii 1 Introduction 1 1.1 Motivation 1 1.2 Research Goals 2 1.3 Scope and Restrictions 2 1.4 Glossary 2 2 Background 4 2.1 Mobile Code 4 2.2 Java Virtual Machine 4 2.2.1 Information in the Class File 5 2.2.2 Serialization of Objects 5 2.2.3 Related Instructions 6 2.2.4 Bytecode Verifier 7 2.3 Decompilers, Obfuscators and Deobfuscators 8 2.3.1 Decompiler / Deobfuscator 8 2.3.2 Obfuscator 9 2.4 Secure Circuit Evaluation 10 2.4.1 Number Theory 10 2.4.2 Description of the Protocol 12 2.5 Evaluation of Encrypted Function (EEF) 14 2.5.1 Homomorphic Encryption Schemes 14 2.5.2 Mapping Z/2Z to Z/NZ rings 16 3 Related Works 17 3.1 Mobile Agent Systems 17 3.2 Security Mechanisms of Aglets 17 3.3 Existing Decompilers and Obfuscators 19 3.4 Categories of Protection Strategies for Mobile Code 20 3.4.1 Mechanisms of Trust and Security Protocols 20 3.4.2 Secure Transmission and Digital Signatures 21 3.4.3 Police-Office Model 21 3.4.4 Leveraging the Smartcards 22 3.4.5 Code Obfuscation 24 3.4.6 Computing with Encrypted Function 25 4 System Design and Architecture 26 4.1 Scenario 26 4.2 General Description on System-wide Architecture 26 4.3 Architecture of JOBS 28 4.4 Design of EEF Module 30 4.4.1 Computation Basis 31 4.4.2 Formalization of Polynomials 32 4.4.3 Generation of the Obfuscation Matrices 35 4.4.4 Postfix Operations with Bytecode Instructions 36 4.5 Object Stream Editor 41 4.6 Working with Agent Transfer Protocol (ATP) 47 5 System Installation and Applications 48 5.1 System Installation 48 5.2 Cases of Applications: Simple Voting and Questionnaire 49 5.3 Limitations in Current Implementation 51 6 Conclusion 52 6.1 Qualitative Evaluations 52 6.1.1 Version Compatibility 53 6.1.2 System Scalability 54 6.1.3 Initiation Complexity 55 6.1.4 Effort Efficiency 56 6.1.5 Module Extensibility 57 6.1.6 Application Transparency 58 6.1.7 System Flaws 52 6.2 Future Works 59 References 61

    [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.

    QR CODE
    :::