DCG-RTL:基于内核跟踪的动态函数调用图生成技术
需积分: 9 52 浏览量
更新于2024-09-08
收藏 1.11MB PDF 举报
"这篇论文研究了基于内核跟踪的动态函数调用图生成方法,针对现有工具无法分析函数指针、系统启动过程和可加载模块的函数调用关系的问题,提出了一个新方法并开发了名为DCG-RTL的工具。DCG-RTL在S2E模拟器中运行,通过指令捕获和函数解析插件记录函数调用和返回信息,生成动态和静态函数调用关系图。实验表明,DCG-RTL能够全面、准确地追踪包括函数指针和内核可加载模块在内的调用关系。"
这篇论文主要探讨的是动态函数调用图的生成技术,特别是在内核级别的跟踪和分析。传统的函数调用关系分析工具往往存在局限性,例如无法处理函数指针、系统启动阶段的调用关系,以及对可加载内核模块的分析。为了解决这些问题,论文作者提出了一种基于内核跟踪的动态函数调用图生成方法。
首先,该方法建立在CG-RTL(Control Flow Graph based on Register Transfer Level)的基础之上,通过扩展和改进,形成DCG-RTL(Dynamic Call Graph based on Register Transfer Level)。DCG-RTL使用S2E(Static Single Instruction)模拟器来运行待分析的内核,这个模拟器允许对每个指令进行精细控制,非常适合用于跟踪和记录运行时的函数调用行为。
其次,论文中提到的关键技术包括指令捕获插件和函数解析插件。指令捕获插件负责监测内核执行过程中的每一条指令,特别关注那些可能导致函数调用或返回的部分。函数解析插件则负责解析这些调用和返回事件,获取函数的元数据,如函数名、参数等,从而建立调用关系。
通过这两个插件的配合,DCG-RTL能够收集到详尽的运行时信息,包括动态的调用路径和静态的函数定义。这些信息被用来构建动态函数调用图,该图不仅包含正常调用链,还包括了通过函数指针间接调用的路径。此外,由于DCG-RTL能够在系统启动过程中进行跟踪,因此也能捕捉到初始化阶段的函数调用关系。
实验部分展示了DCG-RTL的有效性和准确性,它成功地追踪到了包括函数指针引用和内核可加载模块的调用关系。这意味着DCG-RTL可以用于更复杂的系统分析,如漏洞检测、性能优化和恶意软件分析等领域,提供对内核行为的深入理解。
这篇论文贡献了一种创新的动态函数调用图生成技术,通过内核跟踪和解析插件,实现了对函数调用关系的全面覆盖,尤其是在处理函数指针和内核模块方面,为内核级软件分析提供了强大的工具支持。
2021-10-14 上传
2021-09-06 上传
2021-09-21 上传
2021-09-07 上传
2021-09-24 上传
2021-07-11 上传
2021-06-30 上传
2021-04-11 上传
245 浏览量
weixin_39841856
- 粉丝: 491
- 资源: 1万+
最新资源
- nagios3.0配置中文文档
- 视化系统开发与源码精解目录
- windows95程式大揭秘
- 用OpenSSL编写SSL,TLS程序
- soa架构详细介绍(aqualogic)
- Ant 使用指南 pdf
- javascript 实现输入多行动态输入
- VisualC# 2005_程序设计语言考试大纲
- Linux内核源代码傲游.pdf
- JSF and Visual JSF讲义
- hanshu 以前讨论了由分立元器件或局部集成器件组成的正弦波和非正弦波信号产生电路,下面将目前用得较多的集成函数发生器8038作简单介绍。
- svn 配置 参考 学习
- Servlet+API+中文版
- 送给初学Linux的穷人Linux系统指令大全.pdf
- 不规则三角形网生成等值线算法
- VBS基础-Vbscript 基础介绍