针对目前大多数的函数调用关系分析工具无法分析函数指针、系统启动过程以及可加载模块的函数调用关系的现象,在CG-RTL的基础上提出了基于内核跟踪的动态函数调用图生成方法,并开发了动态函数调用图生成工具DCG-RTL(dynamic call graph based on RTL)。DCG-RTL在S2E模拟器中运行待跟踪内核,通过指令捕获插件和函数解析插件记录运行时的函数调用和返回信息,分析跟踪信息得到动态和静态函数调用关系,利用CG-RTL工具在浏览器中展示。实验结果表明,DCG-RTL能全面和准确地跟踪包括函数指针引用和可加载内核模块在内的函数调用关系。
随着计算机及网络的快速发展,计算机的安全问题越来越受到人们的重视。面向返回的编程Return-oriented-progrming(ROP)攻击是一种典型攻击计算机的方式,它通过将动态链接库函数中的以ret结尾的短小指令链接起来实现攻击目的。栈返回地址保护、地址空间布局随机化(Address Space Layout Randomization,ASLR)等防御机制在一定程度上增强了操作系统的安全。因此如何绕过这些防御机制来实施ROP攻击以及如何对ROP攻击做出检测受到了研究者的广泛关注。在本文中,对ROP攻击机理以及检测方法做了研究。针对在实施ROP攻击时怎样绕过地址空间布局随机化以及栈不可执行这一问题,提出了一种绕过ASLR的ROP攻击;同时针对栈返回地址保护机制实施了函数指针ROP攻击。通过对函数指针ROP攻击的分析,提出了fpdetect检测方案,提高了函数指针ROP攻击的准确率。本文主的主要研究工作如下:(1)针对如何绕过ASLR保护的问题展开研究。本文通过返回到dlruntimeresolve函数动态获取动态链接库函数地址实施绕过ASLR的ROP攻击。(2)本文通过缓冲区溢出漏洞修改函数指针实施ROP攻击,绕过栈返回地址保护,成功实施了ROP攻击。(3)提高了函数指针ROP攻击检测的准确率。本文通过分析调用动态链接库函数的特点,将静态分析与动态检测技术相结合,提出fpdetect检测方案。实验验证了所提检测方案的有效性。
暂无评论