llvm的软件保护技术研究【字数:21111】
目 录
1. 绪论 1
1.1 课题研究背景 1
1.2 课题研究意义 1
1.3 课题研究内容和成果 2
1.4 开发系统对人文法律影响 2
1.5 论文结构 2
2. 相关工作 4
2.1 代码混淆技术 4
2.1.1 代码混淆技术原理 4
*景先生毕设|www.jxszl.com +Q: &351916072&
2.1.2 代码混淆技术分类 4
2.1.3 代码混淆技术评估 8
2.1.4 程序控制流图 8
2.2 LLVM框架 9
2.3 符号执行技术 11
2.4 本章小结 12
3. 控制流混淆方法 13
3.1 插入冗余代码基本块的控制流平展化混淆 13
3.2 插入不透明谓词 15
3.3 控制流不可规约化变换 18
3.4 方法综合应用 19
3.5 本章小结 20
4. 系统设计与实现 21
4.1 系统方案设计 21
4.1.1 开发环境 21
4.1.2 系统框架结构 21
4.1.3 系统模块设计 22
4.1.4 系统工作流程 23
4.2 APK文件操作子系统设计与实现 25
4.2.1 APK文件处理模块设计与实现 25
4.2.2 APK文件重打包模块设计与实现 26
4.3 Android Native源码混淆编译子系统 29
4.3.1 虚假控制流变换子模块实现 29
4.3.2 插入冗余代码基本块的控制流平展化混淆子模块实现 34
4.4 本章小结 41
5. 系统测试与评估 42
5.1 混淆测试环境 42
5.2 测试结果与分析 43
5.2.1 强度测试 43
5.2.2 弹性测试 44
5.2.3 开销测试 46
5.3 本章小结 47
6. 总结与展望 49
6.1 论文工作总结 49
6.2 未来工作展望 49
参考文献 50
致谢 51
绪论
课题研究背景
当前,我国移动互联网迅速发展,在线运行的各类 APP 有 600 多万款,与移动互联网相关的新型网络违法犯罪日益突出。2016年7月1日至2018年12月31日,国家移动互联网应用安全管理中心累计发现违法有害恶意 APP 16,949 款。2018 年12月发现违法有害恶意 APP 414 款,同比减少 82%, 环比增加 157%,已下架 414 款。通报应用发布平台 31 次,已下架处理 31 次[1]。
根据国际产业反盗版集团组织(BASCAP)测算,如果不采取有效的措施,全球数字音乐、影视与软件产业由于盗版导致的收入损失将由2008年的300750亿美元上升至2015年的8002400亿美元。
仅以我国软件产业为例,在政府强制要求国家机关部门及国有企事业单位安装正版软件背景下,盗版软件安装比例由2013年的74%下降至2015年的70%,盗版的商业价值折算为86.5亿美元,给软件企业造成了巨大的损失[2]。遭遇类似困境的还包括在线音乐和视频等数字产品,由此引起了学术界和产业界的密切关注。2016年6月中国互联网用户人数突破7.1亿大关为数字产品的平稳增长奠定了坚实的用户基础,同时也将带来日趋严重的数字侵权问题,盗版控制成为数字产品市场最受瞩目的研究焦点之一[3]。
严重的应用安全问题给社会带来了巨大损失,因此对应用安全的研究,对软件系统的保护成为当务之急。
课题研究意义
在软件保护方面,现有的软件加固保护是针对恶意攻击者破解软件的过程,采用加密、加壳、代码混淆等多种有效的技术手段增加其被破解的难度或者阻止恶意攻击者进行逆向分析。其中,代码混淆是现今一种高效的软件保护方法,它主要通过混淆技术把代码转换成一种更难理解、难以修改、难以还原的代码,从而有效地防止软件破解。然而,当前移动设备、嵌入式设备日趋普及,很多在PC端的传统软件保护技术在这些平台下并不适用,包括Windows、Linux、Mac、iPhone等平台的应用安全面临严峻的安全挑战。但面对不同的系统/硬件(X86,RISC,ARM,Mips等平台)平台,目前很少有人提出通用性应用保护方法。目前可知仅有ObfuscatorLLVM开源项目在LLVM平台实现了基础的代码混淆方案,但其指是实验室基础理论实现的项目,在面对越来越多新型技术如符号执行[4]的挑战下,其加固效果亟待提高。我们将在ObfuscatorLLVM开源项目的基础上,实现一种极高平台兼容性的,能抵御符号执行的基于LLVM复杂控制流混淆系统。
课题研究内容和成果
本课题研究的内容和成果主要有以下几方面:
提出一种新的插入冗余代码基本块的控制流平展化混淆的方法,在标准控制流平展化混淆的基础上,实现了游离冗余代码基本块的构造,能在一定程度上膨胀控制流路径的同时对抗目前常见的控制流平展化恢复脚本。
实现了插入不透明谓词混淆的3种不透明谓词变换,同时总结出了5种基础分支路径构造方式,在多轮变换后能在保持运行结果正确的情况下,构造出极度多样复杂的控制流,进一步强化混淆强度。
原文链接:http://www.jxszl.com/jsj/wljs/83168.html