基于硬件的代码复用攻击防御机制研究

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:tubage1022
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
代码复用攻击(Code-Reuse Attacks)是当前存储错误漏洞利用的最新技术。这类攻击在不注入恶意代码的情况下,通过复用应用中合法代码片段挟持应用控制流。因此,这类攻击可以绕过当前系统所采用的防御机制,如:数据执行保护(DEP)与栈保护(StackGuard)。控制流完整性(Control-Flow Integrity,CFI)被认为是防御代码复用攻击的有效方法。CFI将程序的控制流限制在预先定义的控制流图(CFG)的边上。由间接跳转或间接函数调用引起的控制流改变称为前向控制流,由函数返回引起的控制流改变称为后向控制流。后向控制流完整性通常用影子栈检查返回地址的完整性实现。前向控制流完整性通过插入代码检查控制流改变目标地址是否属于静态分析得到的目标地址集。虽然这些方法提高了攻击难度,但是仍存在不足。第一,基于硬件的影子栈并没有完全与系统软件隔离;第二,前向控制流完整性实现无状态的安全检查,经验丰富的攻击者仍有可乘之机;第三,影子存储是实现各种安全机制的关键技术,但当前影子存储存在安全隐患。  针对控制流完整性实施过程中存在的问题,本文提出了基于硬件的前向与后向控制流完整性机制,并提出基于硬件的安全影子存储机制。本文的主要贡献如下:  1.与系统软件隔离的基于信息校验码的后向控制流完整性机制RAGuard。RAGuard通过为每个返回地址绑定一个信息校验码来验证返回地址的完整性。为了将返回地址完整性验证与系统中软件隔离,采用物理不可克隆函数以进程为单位管理计算信息校验码的密钥,并由硬件自动完成返回地址完整性的验证。基于叶节点函数,提出了一种运行时性能优化方法。通过监测call-ret指令序列,RAGuard动态识别叶节点函数,将叶结点函数的返回地址与芯片上存储的值直接比较。评估结果表明,当应用中叶节点函数的占比达到70%以上时,RAGuard的性能开销可忽略。  2.基于Intel存储保护扩展(MPX)的有状态前向控制流完整性机制。本文将控制改变相关的指针备份在影子存储区间。当这类指针被引用时,利用指针的备份验证指针的完整性。为了方便对指针备份的管理,使用MPX的指令完成备份的保存与读取。用一个LLVM pass识别需要保护的指针,并插入指针存储与完整性验证的代码。在支持MPX的商用Skylake机器上评估机制的有效性与性能开销。评估结果表明保护机制以可接受的性能代价保证前向控制流完整性。  3.提出将SGX构建安全执行环境的方法用于创建基于硬件隔离的安全影子存储区间的机制SSMEM(Secure Shadow Memory)。SSMEM将应用实施安全规则的标签(或运行时信息)保存在数据enclave中,并用特定指令ETAGST与ETAGLD存取标签。数据enclave的中的标签由系统软件管理,按MPX管理边界表的方式将标签保存在标签表中。标签表被映射到EPC(Enclave Page Cache)页面,并按SGX2动态存储管理协议动态添加。指令ETAGST与ETAGLD执行时的存储安全检查将影子存储与其它系统软件隔离开。
其他文献
在以静态网页为主的Internet上,网页的访问模式基本符合Zipf定律。Zipf定律是Web缓存和内容分发技术的理论依据,即可以用少量的资源满足大多数访问的请求。但是随着网络的不断
随着电子技术、计算机技术、多媒体技术的发展,数字图像的生成、处理、传输技术越来越成熟,涌现出大量的图像信息等待我们去研究处理。如何从图像数据库中找出我们感兴趣的图像
与IPv4网络的10亿多用户相比,IPv6网络的用户数量并不多,按照Internet中的Robert Metcalfe准则:一个网络的价值与它的节点数目的平方成正比。如果一个新的网络应用和服务没有绝
学位
互联网正朝着高速的方向发展,大规模E-Science科学工程中产生的海量数据传输等应用对网络传输性能提出了很高的需求,而传统TCP协议机制不能适应高速长距离网络(Fast Long Dista
学位
随着应用环境越来越复杂,对成本和性能的要求越来越高,包括一个或多个处理器系统(处理器及其外设)、多级互连总线、存储器和高速接口等模块的SoC设计已经成为IC设计的趋势。随
随着无线传感器网络相关技术的深入研究和快速发展,无线传感器网络的应用逐渐深入到人类生活的各个领域。考虑无线传感器网络的软件开发将面临的软件危机问题,把构件化的软件开
行业应用软件的开发大部分是一些定制化的工作,这种编程上手不难,因为它的本质是一种集成性的工作,但由于集成的对象和涉及的内容非常多,决定了它不只是一个技术性的问题,而且涉及
搜索引擎是网络用户最常用的网络服务之一。用户通过向搜索引擎提交查询(Query)的方式获取与该查询相关的信息。由于用户的背景各不相同,即使他们输入完全相同的查询语句,其需
秘密分享技术是现代密码学领域中的一个重要分支,同时也是信息安全方向研究的一个重要课题。秘密分享最初是为解决密钥管理问题而产生的加密技术,随着信息技术的不断发展以及更
实物用户界面是一种新的3D界面,为其研究和开发高可用的交互技术是这一领域的研究重点之一。目前,很多科研机构和高校已经在实物界面领域展开了广泛的研究,但是,通过总结已有的研