基于编译器的内核控制流程细粒度保护系统

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:kpku88
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
现代操作系统面临着各种攻击威胁,其中一种重要的攻击方式就是ROP(Return-Oriented Programming)攻击。通过篡改操作系统内核中的某个控制数据(比如函数指针或返回地址),ROP攻击者能够将系统正常的执行流程(或控制流程)重定向到它自己所“精心”选择的合法指令片段,通过特定的连接指令(如ret指令)将这些指令片段串接起来进行执行,达到恶意攻击的目的。如果能够对操作系统内核控制流程提供保护,阻止系统正常的执行流被恶意更改,就可以消除(或缓解)这一类攻击的威胁。获取一个完整的内核控制流程图是进行内核控制流程保护的前提,为此,论文首先设计并实现了一种基于编译器中间代码的细粒度内核控制流程图获取方法。该方法通过扩展编译器,在其中间代码表示阶段,增加一个专用的数据结构分析模块,对于中间指令间接call的目标进行提取,获得内核控制流程图的关键路径。该模块将函数指针的传递过程分解成保存函数地址过程和读取使用函数地址过程;在函数具体调用分析之前,通过静态分析将内核中结构体、数组及单独的函数指针中的间接调用函数信息统一存储在基于类型设计的临时结构中,之后遍历分析每个函数中动态存储的函数指针信息。在完成存储步骤后,分析每一次进行函数间接调用时,通过读取之前的分析结果,获取其具体的跳转目标。最后再结合基于反汇编代码的静态分析,提取出整个操作系统的细粒度内核控制流程图。在获得细粒度内核控制流程图后,系统通过“控制数据索引”技术来实现对操作系统内核中控制流程的保护。该技术通过修改编译器,将系统内核中的控制数据(包括函数指针和返回地址)收集到集中存放的跳转表格中并转换成索引;之后对内核中相关指令进行替换,使编译生成的新内核支持利用索引在函数表和返回地址表中进行寻址和取项。函数跳转和返回时将首先获得关于目标地址的索引,通过索引查询对应的表格获取真实的跳转地址,完成一次控制流程的转换。论文基于GCC/LLVM编译器开发了原型系统,实现了对Linux-3.11.1内核控制流程的细粒度保护,并对原型系统进行了攻击和性能测试。测试结果证明了论文方法的有效性和高效性。
其他文献
工作流技术是近年来在计算机应用领域中发展最为迅速的几项新技术之一,得到了前所未有的重视和发展。工作流管理系统可以依据特定的规范定制工作流程,实现计算机的辅助控制,便于
随着计算机和网络技术的不断发展,电子商务的应用也日益受到人们的重视。随着网上业务和交易量的增长,建立快捷、高效、智能化、自动化的电子商务体系成为研究的方向。移动Ager
随着互联网技术的广泛普及和应用,对网络人才的需求也愈加旺盛。面对这种需求,各大高校也越来越重视计算机网络课程的教授和网络搭建、配置技能的培养。其中,网络实验是网络技能
单核苷酸多态性(SNP,Single Nucleotide Polymorphism)的关联分析是研究复杂疾病和基因之间联系的重要方法,SNP主要是指单个核苷酸的突变而引起DNA序列改变,从而导致物种染色
图像作为重要的信息载体,是人类获取信息的重要来源,被广泛应用于人工智能、模式识别、智能交通等领域。图像品质的高低直接决定了人类能否真实准确地获取场景目标信息。在现
近年来,随着计算机应用技术的迅速发展与普遍应用,以网络和多媒体技术为基础的网络教育逐渐改变着传统的教育模式。网络多媒体教学系统是一种多媒体技术和网络技术结合的实时应
随着开放分布式计算的快速发展,面向服务的计算(SOC)和面向服务的体系结构(SOA)成为了软件领域的研究热点,SOC&SOA的核心思想是以服务为基本单位,通过服务重用和快速组合构建随
程序切片技术是一种重要的分析和理解程序的技术,具有简化程序,缩小目标范围的特点。程序切片在程序调试、软件维护、测试、度量、逆向工程等许多方面都有着广泛应用。   对
2003年,由两大国际标准化组织ISO/IEC和ITU-T联手制定的新一代国际视频编码标准H.264正式出台。H.264编码标准中采用了众多的新技术,这些新技术的使用使得编码图像的质量进一步
随着信息产业的迅速发展,人们对信息和信息技术的需要不断增加,信息安全也显得越来越重要。密码技术则是保障信息安全的一个重要手段。而公钥密码是现代密码学的核心,是目前