学位论文 > 优秀研究生学位论文题录展示

可信机制逆向分析平台的设计与实现

作 者: 窦增杰
导 师: 王震宇
学 校: 解放军信息工程大学
专 业: 计算机系统结构
关键词: 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

相似论文

  1. 基于动态符号执行的代码分析工具的研究,TP309
  2. 基于IDA的代码解析与中间语言翻译,TP391.2
  3. DRRAD系统研究与实现,TP309.7
  4. 动态可重构计算中程序热点识别关键技术研究,TP338
  5. SIMD数据置换指令的自动生成与优化,TP332
  6. 启发式逻辑逆向综合算法研究,TP301.6
  7. 代码逆向分析中的语句恢复与算法识别技术研究,TP311.52
  8. 嵌入式Linux逆向解析技术研究,TP316.81
  9. Windows应用程序关键函数的逆向定位技术研究,TP316.7
  10. Windows下可执行文件的指令级跟踪与回放技术研究,TP309
  11. Vista可信机制功能模型研究,TP309
  12. 面向ARM体系结构的代码逆向分析关键技术研究,TP332
  13. OLRDS结构技术研究,TN402
  14. 基于逆向分析的软件漏洞挖掘与利用技术研究,TP393.08
  15. 基于抽象解释的数值程序分析技术研究,TP311.52
  16. 一类范围约束的浮点数静态分析方法,TP311.1
  17. 加密网络程序的逆向分析技术研究,TN915.08
  18. 基于静态分析的异常检测研究,TP393.08
  19. FreeGate软件的逆向分析技术研究,TP393.09
  20. 基于逆向分析的缓冲区溢出漏洞挖掘技术,TP393.08

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 一般性问题 > 安全保密
© 2012 www.xueweilunwen.com