基于SGX的程序控制流隐藏技术优化研究

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:ChinaKing1
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
当用户将自己的程序上传至云端的时候,程序的隐私性及其安全隐患阻碍了它的广泛应用。而且在公有云端,对程序逻辑机密性的保护要求更高。保护程序逻辑机密性的主要方法集中在控制流混淆领域,当前的主要方案是利用纯软件技术解决,但也有一些结合硬件实现的方案,如基于可信执行环境SGX的CFHider和CFCloak。CFHider是将混淆后的控制流语句隐藏入可信环境中执行,但是其保护范围有限,安全性不足。CFCloak更进一步的将控制流语句中涉及的变量定义为受保护变量,然后将受保护变量出现的语句全部隐藏入可信执行区间执行。虽然CFCloak在程序控制流保护方面增强了安全性,但其性能开销依然很大且在通用性上有所欠缺。针对CFCloak的现存问题本文的主要贡献为:(1)分析了CFCloak性能开销巨大的原因,即变量查询函数频繁调用而产生过多的跨域切换以及内存分配和使用上的低效;(2)针对执行效率不足,提出了合并变量查询函数以减少跨域切换的加速方案,设计了查询语句合并算法;(3)提出了优化的内存分配方法,改进了可信区间内存的占用,提升了递归调用最大深度;(4)基于优化方案进行了理论分析和原型实现,并进行了测试。本文对CFCloak转换后程序不同运行阶段进行了时间开销测试。通过分析程序执行的测试结果,总结出效率低下的主要原因如下:由于转换后程序的包含控制流变量的语句与剩余其它语句在不同的执行环境中运行。不可信执行环境中用于隐藏控制流相关语句的变量查询函数每次调用都会切换入可信执行环境中运行相关指令,但是每次可信执行环境和不可信执行环境之间的切换会带来额外的时间开销。这样的执行环境切换在经CFCloak转换的程序执行过程中大量发生,产生了较多的额外时间开销。因此,本文提出了一种执行加速方法,将多条连续的变量查询函数合并为一条制式查询函数调用,其在可信区间内部执行完数条指令后再切换回不可信区间,通过减少程序在执行过程中的区间切换次数达到节省时间开销的目的。本文分析了CFCloak的内存管理模型以及内存分配方式,发现可信区间内存使用和分配不灵活的问题。针对该问题,本文提出了在不可信区间动态构建参数传递列表替换使用固定长度的参数传递列表的方法以及可信区间根据每次函数使用需求动态分配内存的方法,替换原有的分配固定大小内存的方法,以达到合理灵活分配使用内存的目的。在动态参数传递的基础上,提出了双重混淆策略,在遇到较少的传递参数的数量与数组量时,分别自动添加一定数量的混淆参数与混淆数组。在保证了SGX enclave内部内存空间分配的灵活性之后,新方案能更轻松的处理函数多重嵌套调用和函数递归调用,达到了提升方案通用性和可靠性的目的。完成方案设计之后,通过理论分析证明,本文的工作在保证程序机密性的同时,提升了执行效率和通用性。基于提出的优化方案,本文设计并实现了新的结合SGX的控制流保护系统EffCFCloak。实验表明,Eff-CFCloak适用于原CFCloak方案中的所有测试用例,且与原方案相比在程序执行时间开销上有了明显的减少。其中,CPU密集型程序平均时间开销减少22%,Hadoop应用程序平均时间开销减少15%。CPU密集型程序跨域次数平均减少50%。经内存优化之后,相同堆栈内存设置,Eff-CFCloak能够处理的最大递归深度达原方案的3倍;也能够正确处理含有超过20个同一类型敏感变量的函数。
其他文献
随着大数据时代的到来,各企业、部门组织间的数据资源共享量成倍增长,数据共享已成为各机构间交流合作的一种重要方式。数据共享的需求在不断增加,而实现数据共享的重要前提是要保证共享数据的安全可信。传统的数据存储模式通常采用集中式的架构进行访问控制管理,这种架构易受到黑客攻击,存在着用户信任、隐私泄露和单点故障等安全问题。此外集中式的架构使得数据共享方失去了对共享数据的控制权,如何加强数据共享方对数据的掌
学位
随着数字化时代的到来,移动网络和多媒体也随之迅速发展,进入千家万户,除此之外,社交网络的建立,电子商务应用的普及,使得在网络上每天都会产生大量的多媒体数据,这部分数据包括视频、图像以及文本。因此,为了满足人们的生活和娱乐需求,图文检索已经成为需要重点解决的部分。但是相比较于单模态检索,图文检索中需要处理两种结构不同的数据,图像由像素点组成,文本由字词组成;语义层面不同,图像不包含语义信息,而文本包
学位
图像在人们的生产生活中扮演着至关重要的角色,已成为最主要的信息载体之一。然而,易于获取的低分辨率图像存在模糊、细节不足等问题,因此图像的超分辨率重建技术具有重要的研究意义和应用价值。近十年来,深度学习取得了爆发式的发展,研究人员纷纷将其应用于图像的超分辨率重建领域,研究成果层出不穷。尽管现有算法能够获得相对清晰的超分辨率图像,但仍有许多不足之处,例如,生成的图像中存在结构失真、边缘模糊以及纹理细节
学位
和谐社会的构建需要有一个稳定的社会价值体系做支撑。所谓“没有公平正义,就没有统一的评判标准,就无法构建一个和谐的社会”,如今的社会与虚拟网络社会混为一体,网络秩序的稳定直接关乎到整个社会环境。所以网民的正义表达不仅影响着网络环境的健康传播,还关系到整个社会的和谐发展。然而随着网络自媒体的发展,言论自由下形成的价值观体系不断遭受冲击,舆论热点事件的频发更是加剧了网民对于正义的的不理解和网民正义的模糊
学位
行人重识别(Person Re-Identification,Re-ID)是图像检索领域的子问题,其利用计算机视觉方法确定特定行人是否出现在图像或者视频序列中。近年来,深度学习在计算机视觉任务上发展迅速,基于深度学习的行人重识别方法在智能安防、刑侦识别、智慧交通等领域均得到了广泛应用,但不免会受到自然场景中遮挡等不良因素的影响,例如行人互相遮挡、障碍物遮挡等,因此制约了行人重识别在实际场景中的应用
学位
复杂的癌症系统可以依靠网络进行有效的建模,对网络进行分析可以有效探索系统的运行机制及变化。模块检测是网络分析的研究热点之一并受到广泛关注。其中,模块指在网络中连接紧密的一组节点,而在不同模块之间的节点连接稀疏。随着生物技术的发展和交互数据的不断增加,整合多类型数据构建的多层网络成为研究的热点。特异模块检测是模块检测在多层网络中的拓展,可以使用基于多层网络的聚类算法对其进行研究。目前的特异模块检测检
学位
物联网的快速发展伴随着大量设备的接入,将越来越多的电子设备带进我们的生活,从而让我们离万物互联的世界越来越近,但随之而来的是巨大的能量供给问题以及设备维修问题等。此外物联网的接入设备需要更长的使用寿命,对于电池的频繁更换是难以忍受的,而无电池无线传感器系统是通过从周围环境中收集设备运行的能量,并通过高度耐用和长寿命的电容来进行能量存储,从而摆脱对电池的依赖。本文完全利用微波信号进行供能,实现了无电
学位
在海量图像信息存在的今天,卷积神经网络(Convolutional Neural Networks,CNN)作为一种端到端的图像特征提取器,被广泛应用到诸如图像分类等计算机视觉的各个领域。CNN计算量大、时间复杂度高、存储密集和功耗高,而终端设备资源有限、实时性要求高且需要控制成本,很难实现CNN算法落地,为了部署落地需要设计复杂度低的网络结构和高效硬件架构。现场可编程逻辑门阵列(Field Pr
学位
深度报文检测作为一种网络数据包过滤技术,能够用来检测网络流量中存在的潜在攻击数据或行为,在网络流量分析中发挥着重要作用。但是,由于需要维护网络空间的数据安全及个人数据隐私不受侵犯,网络流量数据通常是以加密的形式传播,对加密流量解密后再进行检查分析,导致网络流量数据的隐私面临严峻的安全挑战。现有对加密流量的分析检测方案因分析检测算法开销大、分析检测时延高及检查规则暴露等问题,无法实际应用在大规模隐私
学位
德育是新时代教育思想的重要组成部分,贯彻立德树人的根本任务有助于培养学生正确的价值观念,助力国家精神文明建设。本研究的目的是将高中化学与德育融合落实在实处。通过分析德育内涵、细化德育内容,促进教师对德育内容的认识,进而转变教育理念。通过对高中生思想观念和行为习惯的调查,分析德育现状和学生道德水平情况,根据存在的问题原因,梳理出解决这一系列问题的对策。本研究共分为六个部分。第一部分是绪论,论述了研究
学位