基于编译器的内核控制流程图获取方法研究

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:KFC8525825
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
作为一种典型的攻击方式,缓冲区溢出攻击由于能够获取系统的最高控制权,危害巨大。为此,操作系统不断引入新的安全防护机制,如数据执行保护(DEP)和地址空间分布随机化(ASLR)等。但是随着Return-into-libc和Return-oriented programming(ROP)等新型攻击技术的不断发展,基于缓冲区溢出攻击的威胁从来没被消除。Return-into-libc和ROP通过改变系统内核原有的控制流程实现对操作系统的攻击。因此,对内核控制流程提供保护就可以消除或缓解这一类攻击的威胁。而获取一个完整的内核控制流程图则是进行内核控制流程保护的前提。这里的内核控制流程图,需要记录的是函数调用的指令地址和其跳转的目的地址。函数调用会引发三种控制流程:直接函数调用、间接函数调用和函数返回。其中直接函数调用及其返回的目的地址比较直观,通过分析内核的反汇编代码很容易获得,而间接函数调用的目的地址则无法直接获取。为此,论文提出了一种基于编译器中间代码的内核流程图获取方法来解决这个问题。由于编译器中间代码具有较低的复杂性和较高的可读性,语义丰富,通过中间代码分析能够得到函数指针的传递过程,确定间接函数调用的目的函数地址,并进而构造出完整的内核控制流程图。在进行中间代码分析时,我们将函数指针的传递过程从逻辑上分为保存过程和使用过程两种。函数指针保存过程从所有与函数名相关的中间指令出发,分析得到函数指针被保存的位置,如全局变量、结构体、参数等。函数指针使用过程则从所有函数间接调用指令出发,分析所使用函数指针的来源,从包括全局变量和指针保存过程的分析结果中确定实际调用的目的函数名。然后,通过查找目的函数在内核反汇编代码中所对应的入口地址,最终确定间接函数调用的目的地址。最后,论文基于LLVM编译器实现了一个内核控制流程图获取原型系统,并使用该原型系统对Linux内核进行了试验分析,试验分析结果证明了论文方法的有效性。
其他文献
创新知识的运用受到了越来越多的关注。其中突出存在的一个问题是解决创新知识社会共享和敏感知识私有的矛盾。只有创新知识的全社会共享才能最大限度发挥创新知识的再利用价
本文介绍了我们结合国外某公司的具体项目,所进行的一次ATM产品可用性研究的过程。该研究过程共分为三个阶段,我们总共运用了焦点小组、访谈和问卷、专家评估、用户反馈收集型
80年代中期,工作流(Workflow)概念被提出。90年代,随着计算机的普及,网络的延伸,工作流管理系统也由最初的创建无纸办公环境转而成为同化企业复杂信息环境、实现业务流程自动
在网络化制造模式下,企业联盟通常根据市场需要,因某个特定的项目而动态形成,并且随着项目的结束而结束。因此,项目管理技术对网络化制造的成效具有重要的作用。虽然项目管理技术
本文对通用的人脸检测算法进行研究,提出了一种融合使用灰度、梯度和肤色信息的人脸检测方法。在Viola-Jones的检测方法中,使用了类Haar特征描述人脸模式的灰度差规则,用AdaB
细分方法是近些年几何造型领域最活跃的研究热点之一:细分曲面连续性分析理论逐渐完善;新的细分模式不断涌现;细分技术被广泛应用于三维模型的多分辨率表示、计算机动画、数
视频点播系统依托音视频数据压缩技术和流媒体传输控制技术,利用网络为用户提供节目点播服务,实现了节目的按需收看和任意播放,为用户提供了极大的灵活性。如何确保音视频实
随着全球科技的发展,世界网络化程度日益加深,互联网的普及导致信息量激增,对海量信息的数据挖掘已经引起了信息产业界的极大关注。聚类是数据挖掘的重要手段,然而现代计算机
互联网的普及和迅猛发展,传统的商业模式正经受着前所未有的冲击和影响,固定销售地点和销售时间的店铺式经营模式正日益被以信息流为主体的电子商务模式所取代。电子商务指的是
可重构计算技术是一个新兴的研究领域,是指在数字系统制造完成以后,其硬件结构可以根据需要重新配置的技术。可重构计算兼有通用处理器的灵活性和专用集成电路的高效率的双重