基于SGX的程序控制流混淆技术研究
发布时间:2021-11-25 11:26
公共云计算服务是使用第三方计算资源的外包计算服务提供模式。云端程序执行的分析与跟踪会导致程序算法和执行逻辑的泄露。敏感程序运行时保护已经成为云计算平台广泛应用的主要瓶颈之一。本文从计算机体系结构角度,采用软硬件结合的方式,聚焦于基于可信硬件的程序逻辑机密性保护,提出一种基于SGX技术的普适性程序控制流混淆方法,具体研究工作如下:针对公有云计算平台的程序执行逻辑泄露问题,融合计算机可信硬件技术与控制流混淆技术,提出一种基于SGX的程序控制流混淆框架,在可信执行环境Enclave中执行程序的路径控制逻辑代码,有效地隐藏了程序逻辑。提出一种程序控制流分割与变换方法,使用控制流查询函数替代分支语句的判断条件,实现了程序控制流信息的精准抽取和隐藏。提出一种伪分支语句构造及插入方法,增大方案的混淆力度。通过理论分析验证本方案能够有效地抵御逆向工程分析:当控制流查询函数参数列表长度为10时,攻击者通过静态分析技术与动态分析技术恢复程序控制流的成功率为别为0.37%与0.61%。为了对抗通过窃听手段获取信息的被动攻击,提出一种打破变量间隐藏关联关系的方法,通过在参数列表中添加合成变量以模糊真实条件变量...
【文章来源】:西安电子科技大学陕西省 211工程院校 教育部直属院校
【文章页数】:68 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
符号对照表
缩略语对照表
第一章 绪论
1.1 课题研究背景、目的及意义
1.2 相关技术简介与国内外研究现状
1.2.1 代码混淆技术
1.2.2 Intel SGX技术
1.3 本文主要研究内容与结构安排
1.3.1 本文主要研究内容
1.3.2 本文结构安排
第二章 基于SGX的控制流混淆(CFHider)方案
2.1 基于可信硬件的控制流混淆模型
2.2 环境安全性假设与CFHider框架设计
2.2.1 环境安全性假设
2.2.2 CFHider框架
2.3 CFHider程序变换方案设计
2.3.1 基本程序变换方案
2.3.2 伪分支语句构造与插入方法
2.3.3 CF Enclave设计
2.4 CFHider方案安全性分析
2.4.1 静态逆向分析
2.4.2 动态逆向分析
2.5 本章小结
第三章 CFHider性能优化研究
3.1 方案安全性增强研究与分析
3.1.1 抵御被动监听攻击
3.1.2 主动修改攻击检测
3.2 方案效率优化研究
3.2.1 基于缓存的高效控制流查询方法
3.2.2 控制流查询方法高效性验证
3.3 本章小结
第四章 原型系统实现与性能测试
4.1 面向Java程序的控制流混淆系统实现
4.1.1 程序变换系统实现
4.1.2 CF Enclave实现
4.1.3 类型转换
4.2 系统性能测试
4.2.1 Hadoop应用测试
4.2.2 CPU密集型应用测试
4.3 本章小结
第五章 总结与展望
5.1 本文工作总结
5.2 未来工作展望
参考文献
致谢
作者简介
【参考文献】:
期刊论文
[1]云计算环境安全综述[J]. 张玉清,王晓菲,刘雪峰,刘玲. 软件学报. 2016(06)
[2]基于代码移动的二进制程序控制流混淆方法[J]. 陈喆,王志,王晓初,贾春福. 计算机研究与发展. 2015(08)
[3]云计算安全:架构、机制与模型评价[J]. 林闯,苏文博,孟坤,刘渠,刘卫东. 计算机学报. 2013(09)
[4]Java程序混淆技术综述[J]. 王建民,余志伟,王朝坤,付军宁. 计算机学报. 2011(09)
[5]云计算安全研究[J]. 冯登国,张敏,张妍,徐震. 软件学报. 2011(01)
本文编号:3518043
【文章来源】:西安电子科技大学陕西省 211工程院校 教育部直属院校
【文章页数】:68 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
符号对照表
缩略语对照表
第一章 绪论
1.1 课题研究背景、目的及意义
1.2 相关技术简介与国内外研究现状
1.2.1 代码混淆技术
1.2.2 Intel SGX技术
1.3 本文主要研究内容与结构安排
1.3.1 本文主要研究内容
1.3.2 本文结构安排
第二章 基于SGX的控制流混淆(CFHider)方案
2.1 基于可信硬件的控制流混淆模型
2.2 环境安全性假设与CFHider框架设计
2.2.1 环境安全性假设
2.2.2 CFHider框架
2.3 CFHider程序变换方案设计
2.3.1 基本程序变换方案
2.3.2 伪分支语句构造与插入方法
2.3.3 CF Enclave设计
2.4 CFHider方案安全性分析
2.4.1 静态逆向分析
2.4.2 动态逆向分析
2.5 本章小结
第三章 CFHider性能优化研究
3.1 方案安全性增强研究与分析
3.1.1 抵御被动监听攻击
3.1.2 主动修改攻击检测
3.2 方案效率优化研究
3.2.1 基于缓存的高效控制流查询方法
3.2.2 控制流查询方法高效性验证
3.3 本章小结
第四章 原型系统实现与性能测试
4.1 面向Java程序的控制流混淆系统实现
4.1.1 程序变换系统实现
4.1.2 CF Enclave实现
4.1.3 类型转换
4.2 系统性能测试
4.2.1 Hadoop应用测试
4.2.2 CPU密集型应用测试
4.3 本章小结
第五章 总结与展望
5.1 本文工作总结
5.2 未来工作展望
参考文献
致谢
作者简介
【参考文献】:
期刊论文
[1]云计算环境安全综述[J]. 张玉清,王晓菲,刘雪峰,刘玲. 软件学报. 2016(06)
[2]基于代码移动的二进制程序控制流混淆方法[J]. 陈喆,王志,王晓初,贾春福. 计算机研究与发展. 2015(08)
[3]云计算安全:架构、机制与模型评价[J]. 林闯,苏文博,孟坤,刘渠,刘卫东. 计算机学报. 2013(09)
[4]Java程序混淆技术综述[J]. 王建民,余志伟,王朝坤,付军宁. 计算机学报. 2011(09)
[5]云计算安全研究[J]. 冯登国,张敏,张妍,徐震. 软件学报. 2011(01)
本文编号:3518043
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3518043.html