学位论文 > 优秀研究生学位论文题录展示

基于混淆和水印的Java字节码安全技术的研究

作 者: 战晓娟
导 师: 王德广
学 校: 大连交通大学
专 业: 计算机应用技术
关键词: Java字节码 混淆 软件水印 程序切片
分类号: TP309
类 型: 硕士论文
年 份: 2008年
下 载: 83次
引 用: 0次
阅 读: 论文下载
 

内容摘要


Java程序由于平台无关性得以在Internet上迅速发布,但同时Java程序也面临着两个严重的安全问题:第一,侵权使用。Java编译器将每一个类编译成一个单独的class文件,这一特点让侵权使用Java class文件变的容易;第二,逆向工程。目前Java字节码的反编译技术已经很成熟,出现了许多Java反编译工具,这些工具能很好的把Java字节码反编译成Java源代码。为了保护Java字节码的安全,本文提出了一种新的保护模型:利用代码混淆软件水印技术对Java字节码实施双重保护,从而保护了Java程序的知识产权。混淆Java字节码是在保持程序语义的前提下隐藏程序的内部信息,使得Java程序员很难读懂反编译后的Java源代码甚至于不能被正确的重新编译更甚者不能反编译。在Java字节码中嵌入水印就是将含有标识意义的信息嵌入到Java class文件中。也就是说利用混淆技术来阻止Java字节码的逆向工程,利用软件水印为Java class文件提供版权保护。研究了现有的代码混淆技术,在此基础上设计了词法转换算法、类的假重构算法,改进和完善了类拆分算法,总结了类型隐藏混淆的本质和与接口回调技术的区别,分析、细节化了三种能使反编译失败的控制流混淆算法,并针对程序切片严重威胁控制流混淆的问题找出了两种抵抗程序切片的混淆策略。研究了现有的一种针对Java字节码的水印算法。通过对水印算法的改进,提高了水印算法的鲁棒性、透明性。利用研究成果,设计并实现了名为JOCOW(Java Tool which combines obfuscation and Watermark technology)的系统,用户可使用该系统对Java class文件进行双重保护。保证Java字节码的绝对安全是不可能的,但是本文的研究可以给Java字节码提供版权保护和使Java字节码逆向工程价值减小。

全文目录


摘要  3-4
ABSTRACT  4-9
第一章 绪论  9-13
  1.1 研究的背景  9
  1.2 混淆技术的研究现状  9-10
  1.3 软件水印技术的研究现状  10-11
  1.4 Java 字节码安全技术的研究现状  11-12
  1.5 研究的设想和预期结果  12
  1.6 本文结构及章节安排  12-13
第二章 Java 字节码  13-17
  2.1 Java 字节码指令  13-14
  2.2 Java 字节码的验证  14
  2.3 Java 字节码的反编译  14
  2.4 Java class 文件的盗版  14-15
  2.5 一种新的 Java 保护模型  15-16
  本章小结  16-17
第三章 代码混淆技术  17-31
  3.1 混淆变换的定义  17
  3.2 混淆变换的分类  17
  3.3 混淆变换的评价  17-20
    3.3.1 力度  18
    3.3.2 抵抗力  18-19
    3.3.3 执行代价  19-20
    3.3.4 质量  20
  3.4 布局混淆  20
  3.5 数据混淆  20-28
    3.5.1 抽象数据类型的混淆  21-26
    3.5.2 简单数据类型的混淆  26-28
  3.6 控制流混淆  28-30
    3.6.1 摧毁基本块混淆  29
    3.6.2 取代goto 混淆  29-30
    3.6.3 交叉loop 循换  30
  3.7 预防性混淆  30
  本章小结  30-31
第四章 逆向工程技术-程序切片  31-37
  4.1 程序切片的概念  31
  4.2 程序切片的分类  31-32
  4.3 Java 程序的依赖  32-33
  4.4 Java 程序切片  33-35
    4.4.1 分层切片  33-34
    4.4.2 方法内切片  34-35
  4.5 程序切片构成的威胁  35
  4.6 抵抗程序切片的混淆策略  35-36
  本章小结  36-37
第五章 水印算法  37-41
  5.1 水印的概述  37-38
    5.1.1 水印的类别  37
    5.1.2 水印需要满足的要求  37-38
    5.1.3 静态代码水印遭受的攻击  38
  5.2 水印算法描述  38-40
    5.2.1 水印的嵌入  38-40
    5.2.2 水印的提取  40
  5.3 水印算法的缺点  40
  本章小结  40-41
第六章 系统设计与实现  41-65
  6.1 JOCOW 的设计  41-44
    6.1.1 JOCOW 用户接口  41-43
    6.1.2 JOCOW 的系统结构  43-44
  6.2 类文件的解析  44-47
    6.2.1 classFile 结构  44-46
    6.2.2 读取类文件  46-47
  6.3 算法实现  47-63
    6.3.1 词法转换算法  47-49
    6.3.2 类拆分算法  49-50
    6.3.3 类型隐藏算法  50-51
    6.3.4 类的假重构算法  51-52
    6.3.5 控制破坏混淆算法  52-54
    6.3.6 嵌入水印算法  54-61
    6.3.7 JOCOW 的实现算法  61-63
  6.4 保护策略的制定  63-64
  本章小结  64-65
第七章 评价与比较  65-69
  7.1 混淆转换的正确性评价  65-66
  7.2 嵌入水印的正确性评价  66
  7.3 混淆转换的质量评价  66-67
  7.4 水印算法的质量评价  67-68
  7.5 Java 保护工具的比较  68
  本章小结  68-69
结论  69-70
参考文献  70-72
攻读硕士学位期间发表的学术论文  72-73
致谢  73-74

相似论文

  1. 基于程序切片的电子海图系统软件测试技术研究,TP311.53
  2. 论商标的合理使用,D923.43
  3. 论驰名商标的法律保护,D923.43
  4. 驰名商标淡化法律规制研究,D923.43
  5. 商标竞价排名研究,D922.294
  6. 商标侵权认定之理论研究,D923.43
  7. 实际使用在商标侵权认定和责任承担中的意义,D923.43
  8. 商标反向混淆研究,D923.43
  9. 论商标混淆,D923.43
  10. 多光谱图像混合像元分类技术研究,TP751
  11. 商标侵权行为构成要件研究,D923.43
  12. 基于行为的跨站脚本攻击检测技术研究与实现,TP393.08
  13. 基于Java的软件水印及其相关技术研究,TP309.7
  14. 基于反编译的恶意代码检测关键技术研究与实现,TP309
  15. 基于动态模糊神经网络的程序行为恶意性判定关键技术研究,TP309
  16. 基于词片网格的语音文档主题分类,TN912.3
  17. 基于多分类器融合的遥感影像分类方法研究,P237
  18. 与特性对话,J505
  19. 基础阶段专业英语教学,H319
  20. 论商标侵权判定中的混淆原则,D923.43
  21. 驰名商标淡化问题研究,D923.43

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 一般性问题 > 安全保密
© 2012 www.xueweilunwen.com