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

基于CUDA的软件保护技术研究与实现

作 者: 刘军
导 师: 陈浩
学 校: 湖南大学
专 业: 计算机科学与技术
关键词: 整体加密 按需加密 AES CUDA
分类号: TP309.7
类 型: 硕士论文
年 份: 2012年
下 载: 12次
引 用: 0次
阅 读: 论文下载
 

内容摘要


随着工业信息化的不断发展,计算机应用得到普遍推广。软件产业在得到巨大发展过程中也面临着巨大挑战,软件盗版现象频繁出现。由此软件保护和软件安全越来越受到产业界和学术界关注。传统软件保护技术都是基于IA-32指令架构,采用复杂加密算法,容易引起相应软件监测,并影响目标软件正常执行,甚至降低系统性能。GPU通用计算的来临,为软件保护研究带来一扇机会之窗,因为大多数逆向研究者对于GPU的执行环境和指令集架构不熟悉。利用GPU高效并行处理能力,加速复杂密码算法,除此之外,还具有目标软件需要的自由、不被监视的执行空间。本论文在大量调研的基础上,设计了集成整体和按需加密保护技术的CBDE系统(CUDA-assisted Bulk and On Demand Encryption),其中CUDA是基于GPU的软件开发平台。首先阐述了整体加密方案,它是将整个镜像作为一个处理对象,进行整体的加密和解密操作。通过编写一个Loader(文件装载器),将整个exe作为嵌入对象。Loader模拟操作系统装载器,负责装载目标程序,并提供解密支持。因为程序含有CUDA相关代码,无法直接将目标程序和Loader编译为一个内嵌exe的程序,因此设计复制工具EmbedTool,目标exe和Loader编译完成后,将前者嵌入后者。其次设计按需加密方案,相比整体加密,不是一次性对目标软件整体处理,而是在运行过程中控制其解密粒度。本论文以函数为一个粒度,称之为函数级的解密。通过宏处理机制和PE节块支持解决单个函数地址和函数所占内存大小,主要设计包括三个模块,分别是初始化模块,解密处理模块获取函数运行前的解密支持,加密处理模块获取函数结束后的加密支持。此外利用高强度密码学算法AES(高级数据加密标准)支持。最后对经过处理的目标程序进行测试和分析,正确性测试包括整体加密测试,从单线程和多线程两个方面对按需加密方式测试,和该系统两种方案的联合测试,此外还对处理前后的样本进行性能测试和分析,经过GPU加速,性能损耗处于合理范围内。通过目前相关的测试技术和监测技术对系统进行了安全评估,结果表明该设计具备较好的安全性和合理的性能损耗。该系统基于GPU平台提供了一种软件运行时自动进行加密和解密机制,具有安全可靠性强、性能损耗合理、兼容性好等特点,为软件保护提供了一种安全可靠的解决方案。

全文目录


摘要  5-6
Abstract  6-10
插图索引  10-11
附表索引  11-12
第1章 绪论  12-21
  1.1 课题研究背景  12-13
  1.2 软件保护发展历史  13-15
  1.3 软件保护研究现状  15-19
    1.3.1 代码混淆技术  15-16
    1.3.2 软件加密技术  16-18
    1.3.3 传统软件保护技术分析  18-19
  1.4 论文主要研究内容  19
  1.5 论文组织结构  19-21
第2章 CUDA编程技术  21-29
  2.1 GPU并行计算  21-22
  2.2 CUDA编程要点  22-28
    2.2.1 内核层次  23-24
    2.2.2 线程层次  24-26
    2.2.3 存储器层次  26-27
    2.2.4 异构编程  27-28
  2.3 本章小结  28-29
第3章 CBDE软件保护技术设计  29-37
  3.1 CBDE系统设计的可行性  29-30
    3.1.1 相关的监测技术  29-30
    3.1.2 CUDA技术带来的契机  30
  3.2 CBDE系统设计  30-33
    3.2.1 系统需求分析  30-31
    3.2.2 CBDE系统架构  31-33
  3.3 设计支撑技术  33-34
    3.3.1 PE文件基础知识  33-34
    3.3.2 PE文件加载步骤  34
  3.4 整体加密概要设计  34-35
  3.5 按需加密概要设计  35-36
  3.6 本章小结  36-37
第4章 CBDE系统实现  37-53
  4.1 AES算法工作模式  37-38
  4.2 整体加密详细设计  38-45
    4.2.1 API Hook技术  38-39
    4.2.2 Loader设计  39-44
    4.2.3 EmbedTool设计  44-45
  4.3 按需加密详细设计  45-52
    4.3.1 多线程同步访问  45-46
    4.3.2 宏处理机制  46-47
    4.3.3 初始化模块  47-48
    4.3.4 解密处理模块  48-50
    4.3.5 加密处理模块  50-52
  4.4 本章小结  52-53
第5章 实验结果与分析  53-62
  5.1 实验环境  53
    5.1.1 硬件环境  53
    5.1.2 软件环境  53
  5.2 正确性测试  53-58
    5.2.1 单线程测试  54-55
    5.2.2 多线程测试  55-57
    5.2.3 整体加密测试  57-58
    5.2.4 联合测试  58
  5.3 性能测试  58-60
  5.4 系统安全分析  60-61
  5.5 本章小结  61-62
总结与展望  62-64
参考文献  64-68
致谢  68-69
附录A 攻读硕士学位期间所发表的学术论文目录  69-70
附录B 攻读硕士学位期间所参与的项目  70

相似论文

  1. AES算法及其DSP实现,TN918.1
  2. FPGA系统远程安全升级的设计与实现,TP309
  3. 基于CUDA的图像数字水印技术的研究,TP309.7
  4. CUDA平台下数字图像认证方法的设计与实现,TP391.41
  5. 基于GPU并行加速的正射影像生成研究,TP391.41
  6. 基于GPU的BLAST程序的并行计算的研究,TP338.6
  7. 基于GPU的医学图像体绘制算法的研究与实现,TP391.41
  8. CUDA技术在多节点超短期负荷预测上的应用,TM715
  9. GPU在车辆检测与跟踪系统中的应用研究,TP391.41
  10. 水稻分蘖断层图像重建加速研究,TP391.41
  11. 基于并行计算的立体影像密集匹配算法研究,TP391.41
  12. 快速智能入侵检测技术研究,TP393.08
  13. 基于GPU的有限元方法研究,O241.82
  14. 心血管系统虚拟内窥镜技术研究,TP391.41
  15. 基于能量最小化的腹部CT图像分割与三维可视化,TP391.41
  16. 基于多核环境的基因贝叶斯网络构造算法研究与实现,Q75
  17. 基于CUDA的正则表达式匹配系统的设计与实现,TP311.52
  18. 基于GPGPU的快速白光干涉测量系统研究,O439
  19. 群体仿真算法研究及疏散仿真系统开发,TP391.9
  20. 基于GPU的图书推荐系统研究与实现,TP391.3
  21. 基于CUDA的视频火灾检测系统,TP391.41

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