《编译与反编译技术实战 》一1.9 动态分析工具TEMU

简介: TEMU是动态分析工具BitBlaze的一个组件,是一个基于系统仿真器QEMU开发的动态二进制分析工具,以QEMU为基础运行一个完整的系统(包括操作系统和应用程序),并对二进制代码的执行进行跟踪和分析。

本节书摘来自华章出版社《编译与反编译技术实战 》一书中的第1章,第1.9节,庞建民 主编 ,刘晓楠 陶红伟 岳 峰 戴超 编著,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.9 动态分析工具TEMU

TEMU是动态分析工具BitBlaze的一个组件,是一个基于系统仿真器QEMU开发的动态二进制分析工具,以QEMU为基础运行一个完整的系统(包括操作系统和应用程序),并对二进制代码的执行进行跟踪和分析。
TEMU提供以下功能:
1)动态污点分析。TEMU能够对整个系统进行动态污点分析,把一些信息标记为污点(如键盘事件、网络输入、内存读写、函数调用、指令等),并在系统内进行污点传播。这个特性可为符号执行提供插件形式的工具。许多分析都需要对二进制代码进行细粒度的分析,而基于QEMU的全系统模拟器确保了细粒度的分析。
2)获取操作系统视图。操作系统中提取的信息如进程和文件对很多分析都是很重要的。TEMU可以使用这些信息决定当前执行的是哪个进程和模块、调用的API和参数,以及文件的存取位置。全系统的视图使我们能够分析操作系统内核以及多个进程间的交互,而许多其他的二进制分析工具(如Valgrind、DynamoRIO、Pin)只提供了一个局部的视图(如单个进程的信息)。这对于分析恶意代码更为重要,因为许多攻击涉及多个进程,而且诸如rootkits的内核攻击变得越来越普遍。
3)深度行为分析。TEMU能够分析二进制文件和操作环境的交互,如API调用序列、边界内存位置的访问。通过标记输入为污点,TEMU能够进行输入和输出之间的关系分析。并且,全系统仿真器有效地隔离了分析组件和待分析代码。因此,待分析代码更难干扰分析结果。
TEMU由C和C++实现。性能要求高的代码由C实现,而面向分析的代码由C++编写,以便很好地利用C++ STL中的抽象数据类型和类型检查。

相关文章
|
并行计算 算法 搜索推荐
Speccpu2017分数的一点介绍
对Spec2017的speed和rate分数做点介绍
4442 0
|
10月前
|
运维 安全 Linux
龙蜥衍生版KerarchOS迁移方案及实践分享|龙蜥大讲堂106期
本次分享来自龙蜥大讲堂106期,主题为“龙蜥衍生版KerarchOS迁移方案及实践”。内容涵盖服务器操作系统现状、安全高性能操作系统KeyarchOS的介绍、CentOS停服后的应对策略(重装或迁移),以及CentOS停更带来的危机与迁移背景。重点介绍了两种迁移方案:原地迁移和扩展迁移,并详细讲解了KeyarchOS迁移工具X2Keyarch的操作流程。通过实际案例展示了操作系统迁移的具体步骤和效果,帮助用户更好地理解和实施迁移工作。
171 7
|
缓存 Linux 调度
CPU 隔离:Nohz_full
SUSE Labs 团队探索了 Kernel CPU 隔离及其核心组件之一:Full Dynticks(或 Nohz Full),并撰写了本系列文章.
1841 0
CPU 隔离:Nohz_full
|
9月前
|
JSON 搜索推荐 数据挖掘
Temu商品列表数据接口(Temu API系列)
Temu作为新兴跨境电商平台,为全球卖家和消费者搭建便捷交易桥梁。通过商品列表数据接口,开发者、分析师可获取商品名称、价格、销量等信息,助力市场调研、商品管理和数据分析。接口支持HTTP GET请求,参数包括品类、价格区间、排序方式等,响应格式为JSON。Python示例代码展示了如何调用API获取数据,应用场景涵盖竞争对手分析、选品参考、销售预测及个性化推荐系统开发等。
2662 24
|
8月前
|
存储 运维 监控
深度体验阿里云系统控制台:SysOM 让 Linux 服务器监控变得如此简单
作为一名经历过无数个凌晨三点被服务器报警电话惊醒的运维工程师,我对监控工具有着近乎苛刻的要求。记得去年那次大型活动,我们的主站流量暴增,服务器内存莫名其妙地飙升到90%以上,却找不到原因。如果当时有一款像阿里云 SysOM 这样直观的监控工具,也许我就不用熬通宵排查问题了。今天,我想分享一下我使用 SysOM 的亲身体验,特别是它那令人印象深刻的内存诊断功能。
286 1
|
存储 NoSQL 数据挖掘
MongoDB 实时分析案例
【5月更文挑战第7天】
467 0
|
前端开发 JavaScript Shell
深入解析前端构建利器:webpack核心概念与基本功能全览
深入解析前端构建利器:webpack核心概念与基本功能全览—
270 1
|
安全 NoSQL Unix
Linux 内核设计与实现4
Linux 内核设计与实现
219 5
|
存储 人工智能 运维
ChaosMeta for AI:混沌工程让AI稳定性更上一层楼
1.混沌工程不仅仅是技术过关的利器,更是AI系统完美运转的“防火墙”。ChaosMeta通过全方位、多层次的故障注入和演练,帮助AI系统在复杂多变的环境中维持高稳定性。 2.结合混沌工程的思想,我们不仅可以在开发阶段找到和修复问题,还能在运维阶段持续提升系统的鲁棒性。在这个高速发展的AI年代,ChaosMeta将为AI系统提供稳定性保障,让AI系统走得更远、更稳。 3.抽空试试ChaosMeta,也许下一个故障发生时,你会发现,原来一切尽在掌握。
866 0
ChaosMeta for AI:混沌工程让AI稳定性更上一层楼