学位论文 > 优秀研究生学位论文题录展示
可信机制逆向分析平台的设计与实现
作 者: 窦增杰
导 师: 王震宇
学 校: 解放军信息工程大学
专 业: 计算机系统结构
关键词: TCG软件栈 二进制代码 逆向分析 抽象解释 中间表示 运行时刻环境分析 数据结构还原
分类号: TP309
类 型: 硕士论文
年 份: 2010年
下 载: 45次
引 用: 0次
阅 读: 论文下载
内容摘要
可信计算组织(Trusted Computing Group, TCG)所定义的软件栈(TCG Software Stack, TSS)是可信平台中的关键部件,也是可信机制在操作系统层面的具体实现,其性能直接影响到可信应用程序乃至整个可信平台的安全。鉴于TSS在可信平台中的重要地位,对其进行逆向分析和安全检测具有十分重要的意义。论文在可执行代码逆向分析研究的基础上,结合抽象解释程序分析技术,针对TSS设计并实现了可信机制逆向分析平台。围绕可信机制逆向分析平台,完成的主要工作如下:1.旨在深入理解可信机制并为其逆向分析提供指导,本文在分析TSS功能结构和层次结构的基础上,建立了可信机制特征库。2.为降低反汇编结果的复杂性,屏蔽指令系统及其寻址方式的庞杂性,针对可执行代码的反汇编结果,设计了一种满足语义分析和安全分析要求的中间语言表示方法。3.基于抽象解释理论对可执行程序进行逆向分析。建立起一个X86环境下的抽象域并在该域上定义了指令的抽象语义,设计并实现了程序运行时刻环境的分析算法,从而自动的获取代码中变量的取值范围、数据依赖关系以及内存访问信息等程序属性。4.针对难以从可执行代码中还原复杂数据结构的问题,分别提出了基于可信函数接口和指令语义的数据结构还原方法,有效提高数据结构的识别能力。最后对平台进行了测试,结果表明:可信机制逆向分析平台能够准确的实现二制代码到中间语言的转换;可以完整的提取程序中的数据依赖关系、结构特征、内存访问信息等程序属性,在控制结构恢复和数据结构识别方面都强于主流逆向分析工具;达到为可信机制的安全分析、动态测试以及漏洞发现提供数据的目的。
|
全文目录
表目录 7-8 图目录 8-9 摘要 9-10 ABSTRACT 10-11 第一章 绪论 11-19 1.1 课题的研究背景 11-12 1.2 课题的研究意义 12 1.3 国内外研究现状 12-15 1.3.1 可信计算研究现状 12-14 1.3.2 软件逆向分析研究现状 14-15 1.4 论文的研究内容 15-16 1.5 论文的组织结构 16-19 第二章 可信计算与抽象解释程序分析基础理论 19-27 2.1 可信计算基础理论 19-21 2.1.1 可信计算的定义 19 2.1.2 可信计算平台 19-21 2.2 TCG 软件栈 21-23 2.2.1 TCG 软件栈的功能 21 2.2.2 TCG 软件栈的架构 21-23 2.3 抽象解释程序分析基础理论 23-26 2.3.1 抽象解释的一些术语 23-25 2.3.2 抽象解释的组成部分 25-26 2.4 本章小结 26-27 第三章 可信机制逆向分析平台的总体设计 27-39 3.1 可信机制逆向分析平台的总体架构 27-28 3.2 可信机制逆向分析平台的总体设计 28-31 3.2.1 中间表示模块的设计 28-29 3.2.2 运行时刻环境分析模块的设计 29-30 3.2.3 数据结构还原模块的设计 30-31 3.3 可信机制特征库的建立 31-38 3.3.1 TSS 功能模型的建立 31-33 3.3.2 TPM 缓存密钥管理机制 33-34 3.3.3 保护存储机制 34-35 3.3.4 认证会话机制 35-37 3.3.5 主流TSS 架构分析 37-38 3.4 本章小结 38-39 第四章 中间表示模块的设计与实现 39-45 4.1 SAIR 的语法和语义 39-42 4.1.1 SAIR 的语法 39-40 4.1.2 SAIR 的形式语义 40-41 4.1.3 SAIR 含有过程的扩展 41 4.1.4 标志位的处理 41-42 4.2 基于SAIR 的控制结构分析 42-44 4.2.1 SAIR 控制结构的分析函数 42-43 4.2.2 SAIR 控制结构的分析算法 43-44 4.3 本章小结 44-45 第五章 运行时刻环境分析模块的设计与实现 45-59 5.1 可执行程序抽象存储域的建立 45-47 5.1.1 存储模型的抽象 45-47 5.1.2 抽象存储模型中基本变量的表示 47 5.2 程序运行时刻环境的描述 47-52 5.2.1 抽象存储模型中变量取值域的定义 47-49 5.2.2 值集的定义 49-51 5.2.3 程序运行时刻环境的抽象表示 51-52 5.3 程序运行时刻环境的分析 52-58 5.3.1 数据流方程的建立 52 5.3.2 指令的抽象迁移函数 52-54 5.3.3 算法的具体实现 54-55 5.3.4 循环约束条件的判定 55-56 5.3.5 分析举例 56-57 5.3.6 提高分析精度的方法 57-58 5.4 本章小结 58-59 第六章 数据结构还原模块的设计与实现 59-71 6.1 数据结构还原关键问题分析 59-60 6.2 基于可信接口的数据结构还原 60-63 6.2.1 TSS 的数据类型分析 60-61 6.2.2 TSS 的函数接口分析 61 6.2.3 函数调用约定的处理 61-63 6.3 基于语义的数据结构还原 63-67 6.3.1 原理分析 63 6.3.2 关键技术分析 63-65 6.3.3 基于程序运行时刻环境的数据结构还原 65-67 6.4 数据结构的前后向传播 67-70 6.4.1 SAIR 指令的数据流信息 67 6.4.2 du 链和ud 链的求解算法 67-70 6.5 本章小结 70-71 第七章 测试与分析 71-79 7.1 测试概述 71 7.1.1 测试环境 71 7.1.2 测试对象 71 7.1.3 测试目标 71 7.2 功能测试 71-77 7.2.1 测试内容 71-72 7.2.2 SAIR 转化的测试 72-73 7.2.3 代码控制结构分析的测试 73-74 7.2.4 数据结构还原模块的测试 74-76 7.2.5 主流TSS 逆向分析结果 76-77 7.2.6 测试结果分析 77 7.3 本章小结 77-79 结束语 79-81 参考文献 81-84 作者简历 攻读硕士学位期间完成的主要工作 84-85 致谢 85
|
相似论文
- 基于动态符号执行的代码分析工具的研究,TP309
- 基于IDA的代码解析与中间语言翻译,TP391.2
- DRRAD系统研究与实现,TP309.7
- 动态可重构计算中程序热点识别关键技术研究,TP338
- SIMD数据置换指令的自动生成与优化,TP332
- 启发式逻辑逆向综合算法研究,TP301.6
- 代码逆向分析中的语句恢复与算法识别技术研究,TP311.52
- 嵌入式Linux逆向解析技术研究,TP316.81
- Windows应用程序关键函数的逆向定位技术研究,TP316.7
- Windows下可执行文件的指令级跟踪与回放技术研究,TP309
- Vista可信机制功能模型研究,TP309
- 面向ARM体系结构的代码逆向分析关键技术研究,TP332
- OLRDS结构技术研究,TN402
- 基于逆向分析的软件漏洞挖掘与利用技术研究,TP393.08
- 基于抽象解释的数值程序分析技术研究,TP311.52
- 一类范围约束的浮点数静态分析方法,TP311.1
- 加密网络程序的逆向分析技术研究,TN915.08
- 基于静态分析的异常检测研究,TP393.08
- FreeGate软件的逆向分析技术研究,TP393.09
- 基于逆向分析的缓冲区溢出漏洞挖掘技术,TP393.08
中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 一般性问题 > 安全保密
© 2012 www.xueweilunwen.com
|