Java类装载机制的研究及其在代码保护中的应用

Java类装载机制的研究及其在代码保护中的应用

论文摘要

Java的出现是计算机信息交换的一个重要里程碑,以其简单性、跨平台性等各种优秀特性彻底改变了应用软件的开发模式,带来了软件开发的一次革命,在软件开发的各个领域得到了大量的应用。但是这也造成了Java软件在知识产权的保护上面临着很大的安全风险,原因主要在于Java跨平台的灵活性源于独特的编译方式,Java源代码经编译后,生成的不是面向处理器的二进制文件而是面向虚拟机的Java类文件。正是因为类文件是一种有格式的中间代码,其中保留了源代码文件中的大多数信息,为反编译Java类文件提供了条件。反编译得出的代码具有很高的质量,基本上可以完全反映编写者的思路。近年来,许多公司和Java开发人员在深入研究Java类文件和虚拟机的基础上,研究开发了多种方法来保护Java类文件,这些方法包括:代码隔离技术、数字水印技术以及代码混淆等技术。这些保护方法,在一定的程度上可以起到保护Java软件的作用,但是它们各自都存在明显的局限性和缺陷。Java虚拟机是Java技术的核心部分,深入研究Java虚拟机内部机制,不但能够快速掌握先进的计算机技术,获得大量有益的经验,而且对于我们解决Java的安全有着根本性的帮助。本文通过对相关资料收集、整理,透彻剖析Java虚拟机类装载的内部机制,深入研究了类装载器的体系结构,如双亲委派模式、class文件结构等。基于对Java虚拟机类装载结构的分析研究与自己在实际中应用相结合,定制一个虚拟机的类装载器,同时结合密码学中的加密体制、JNI技术和修改JVM实现了一种新的Java软件保护方案—类文件保护方案。本方案的核心设计思想如下:①用本地加密的方法来保护Java类文件,以有效地对抗反编译。②定制一个ClassLoader完成加密类文件的解析加载。③对定制ClassLoader进行加密,以确保定制ClassLoader的安全。④进而修改JVM使其能装载加密过的定制ClasssLoader,杜绝最后的安全漏洞。实验结果表明本方案具有较高的安全性,同时具有良好的通用性,不仅可以应用在单机应用软件上,也可以应用在网络应用软件上。综上,本文为Java软件保护提出的保护方案是一次非常有意义的探索和实践。

论文目录

  • 中文摘要
  • 英文摘要
  • 1 绪论
  • 1.1 课题背景及问题陈述
  • 1.2 国内外研究现状
  • 1.3 本文研究工作
  • 1.4 本文组织结构
  • 2 相关知识基础
  • 2.1 JAVA 虚拟机技术概述
  • 2.2 JAVA 虚拟机体系结构
  • 2.2.1 类装载器子系统
  • 2.2.2 运行时数据区
  • 2.2.3 执行引擎
  • 2.2.4 本地方法接口
  • 2.3 类的装载机制
  • 2.4 小结
  • 3 类的装载机制研究
  • 3.1 概述
  • 3.2 类装载器的静态结构分析
  • 3.2.1 Class 文件结构
  • 3.2.2 方法区数据结构
  • 3.2.3 类装载体系的隔离性
  • 3.3 类装载器的动态机制分析
  • 3.3.1 双亲委派模式
  • 3.3.2 类装载过程分析
  • 3.4 类装载系统的改进方案
  • 3.5 小结
  • 4 改进方案的实现与测试
  • 4.1 实现中的关键技术
  • 4.1.1 AES 算法
  • 4.1.2 JNI 技术
  • 4.2 改进方案的实现
  • 4.2.1 AES 算法的实现
  • 4.2.2 定制ClassLoader 的实现
  • 4.2.3 定制启动程序的实现
  • 4.2.4 修改JVM 的实现
  • 4.3 测试方案的实现及结果分析
  • 4.3.1 系统安全性分析
  • 4.3.2 方案可行性测试
  • 4.4 小结
  • 5 结语
  • 5.1 本文工作总结
  • 5.2 未来研究展望
  • 致谢
  • 参考文献
  • 附录
  • A. 作者在攻读学位期间发表的论文目录
  • B. 作者在攻读学位期间取得的科研成果目录
  • 相关论文文献

    • [1].基于虚拟机迁移的高校网络优化模型设计研究[J]. 湖北师范大学学报(自然科学版) 2019(04)
    • [2].基于可信链的虚拟机可信迁移方法[J]. 指挥控制与仿真 2019(06)
    • [3].基于负载优化的虚拟机放置方法[J]. 智能计算机与应用 2019(06)
    • [4].一种基于冗余跳变的虚拟机动态迁移方法[J]. 计算机工程 2020(02)
    • [5].云环境下虚拟机管理研究综述[J]. 长春师范大学学报 2020(04)
    • [6].绿色云计算环境中基于温度感知的虚拟机迁移策略[J]. 重庆邮电大学学报(自然科学版) 2020(02)
    • [7].使用即时恢复功能恢复虚拟机[J]. 网络安全和信息化 2020(01)
    • [8].正常恢复虚拟机[J]. 网络安全和信息化 2020(01)
    • [9].Ubuntu VirtualBox虚拟机管理实战[J]. 网络安全和信息化 2020(05)
    • [10].基于虚拟机动态迁移的负载均衡策略[J]. 计算机系统应用 2020(05)
    • [11].基于多目标优化的虚拟机放置方法[J]. 重庆邮电大学学报(自然科学版) 2020(03)
    • [12].高校云计算数据处理中虚拟机迁移与轮转模式研究[J]. 井冈山大学学报(自然科学版) 2020(03)
    • [13].云环境下网络感知的虚拟机分配问题的求解方法[J]. 吉林大学学报(工学版) 2020(04)
    • [14].善用免费工具监测虚拟机运行[J]. 网络安全和信息化 2020(07)
    • [15].云环境中基于分组的安全虚拟机放置方法[J]. 信息网络安全 2020(08)
    • [16].基于跨虚拟机零下陷通信的加速器虚拟化框架[J]. 软件学报 2020(10)
    • [17].基于自适应虚拟机迁移的云资源调度机制[J]. 计算机科学 2020(09)
    • [18].虚拟机隐藏进程检测系统设计与实现[J]. 现代计算机(专业版) 2019(01)
    • [19].一种无代理虚拟机进程监控方法[J]. 南京大学学报(自然科学) 2019(02)
    • [20].灵活管理虚拟机[J]. 网络安全和信息化 2019(05)
    • [21].巧用虚拟机维护多媒体教室计算机之我见[J]. 信息记录材料 2019(04)
    • [22].浅析云计算虚拟机部署方案[J]. 电子世界 2019(15)
    • [23].一种基于服务次数的云虚拟机资源部署算法[J]. 中国新通信 2017(23)
    • [24].快速克隆千台虚拟机[J]. 网络安全和信息化 2017(06)
    • [25].创建虚拟机与远程管理[J]. 网络安全和信息化 2017(05)
    • [26].虚拟机复制管理[J]. 网络安全和信息化 2018(06)
    • [27].虚拟机“句柄无效”无法开机[J]. 网络安全和信息化 2018(09)
    • [28].云计算环境下虚拟机服务质量保证和评估方法:研究综述[J]. 云南大学学报(自然科学版) 2018(06)
    • [29].创建虚拟机用于测试[J]. 网络安全和信息化 2016(04)
    • [30].虚拟机配置越高越好?[J]. 网络安全和信息化 2016(01)

    标签:;  ;  

    Java类装载机制的研究及其在代码保护中的应用
    下载Doc文档

    猜你喜欢