学位论文 > 优秀研究生学位论文题录展示
基于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
|
相似论文
- AES算法及其DSP实现,TN918.1
- FPGA系统远程安全升级的设计与实现,TP309
- 基于CUDA的图像数字水印技术的研究,TP309.7
- CUDA平台下数字图像认证方法的设计与实现,TP391.41
- 基于GPU并行加速的正射影像生成研究,TP391.41
- 基于GPU的BLAST程序的并行计算的研究,TP338.6
- 基于GPU的医学图像体绘制算法的研究与实现,TP391.41
- CUDA技术在多节点超短期负荷预测上的应用,TM715
- GPU在车辆检测与跟踪系统中的应用研究,TP391.41
- 水稻分蘖断层图像重建加速研究,TP391.41
- 基于并行计算的立体影像密集匹配算法研究,TP391.41
- 快速智能入侵检测技术研究,TP393.08
- 基于GPU的有限元方法研究,O241.82
- 心血管系统虚拟内窥镜技术研究,TP391.41
- 基于能量最小化的腹部CT图像分割与三维可视化,TP391.41
- 基于多核环境的基因贝叶斯网络构造算法研究与实现,Q75
- 基于CUDA的正则表达式匹配系统的设计与实现,TP311.52
- 基于GPGPU的快速白光干涉测量系统研究,O439
- 群体仿真算法研究及疏散仿真系统开发,TP391.9
- 基于GPU的图书推荐系统研究与实现,TP391.3
- 基于CUDA的视频火灾检测系统,TP391.41
中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 一般性问题 > 安全保密 > 加密与解密
© 2012 www.xueweilunwen.com
|