首页> 中文学位 >动态符号执行中的外部函数处理
【6h】

动态符号执行中的外部函数处理

代理获取

目录

封面

声明

中文摘要

英文摘要

目录

第一章绪 论

1.1选题背景介绍

1.2研究现状总体阐述

1.3应用前景

1.4文章结构

第二章动态符号相关知识研究

2.1软件分析技术分类

2.2动态符号执行平台介绍

2.3动态符号执行技术面临的挑战

2.4本章小结

第三章 外部函数调用问题分析

3.1外部函数调用问题的常用处理办法

3.2环境建模

3.3本章小结

第四章 外部函数调用模型研究

4.1选择式符号化

4.2动态符号执行模型划分

4.3 SMAFE复合执行模型

4.4数据依赖性分析

4.5延迟具体化分析

4.6遍历算法

4.7本章小结

第五章 SMAFE原型系统设计

5.1符号输入的实现

5.2复杂结构处理

5.3符号传播

5.4符号同步

5.5路径分歧处理

5.6工程实现

5.7本章小结

第六章 实验及结果分析

6.1实验方法与结果

6.2结果分析

6.3本章小结

第七章 总结与展望

7.1论文工作总结

7.2下一步工作

致谢

参考文献

攻硕期间取得的研究成果

展开▼

摘要

软件可靠性是衡量软件安全的一个标准,通常通过对软件进行全面测试评估其可靠程度。现代测试技术对测试结果的覆盖度和准确率有更高的要求。动态符号执行技术结合了动态测试以及符号执行的优点,能够直接分析程序二进制格式可执行文件,是一种新型软件测试和程序分析技术手段。
  动态符号执行技术早期只能对线性程序和简单变量进行分析,随着求解理论的发展,目前已能处理更加复杂的情况,例如过程间调用分析,复杂结构体处理等。然而,动态符号自身还存在很多问题,其中最为突出的如路径爆炸和外部函数处理问题。动态符号的路径数目是程序规模的指数倍数,因此,无法利用动态符号技术有效求解大型应用程序。程序广泛存在着与外部环境的交互,调用外部函数一方面可能会增加需要符号分析的规模,直接造成路径爆炸;另一方面,外部函数情况复杂,可能无法获知函数准确的语义,此时的外部环境对于分析者近似于黑盒。
  本文的研究工作针对外部函数调用问题。假如外部函数调用处置得当,能够极大地减小程序需要分析的规模,这又有利于缓解路径爆炸;无法分析外部函数会直接影响结果的准确性,要建立可靠的分析,就需要对外部函数调用问题作恰当的处理,而目前通过建模或者单纯以具体值替代符号变量的方式都不足以同时满足上述这些条件。本文的工作主要有:
  对程序发生外部调用的情况进行分析,把现有解决方法归纳为五种模型;在此基础上提出复合执行模型,以解决动态符号执行中与外部环境交互情况下发生的外部函数调用问题;把程序运行状态分为具体数值运行模式和符号执行模式,完成两种状态下模式的无缝切换;处理过程中采用延时技术,让符号的具体表示推迟到必要时刻,避免提前具体化引入误报情况的发生,同时节约求解能力;分析过程中,采用了控制流之外的数据流依赖性分析作为辅助,提高关于外部函数调用分析的准确性;利用pin和stp实现一个C语言的原型系统SMAFE,分析了大部分X86系统指令,把模型设想应用于真实的平台,做出实际的分析;对复合执行系统得到的约束条件进行验证,分析总结产生分歧的原因。

著录项

  • 作者

    朱聪;

  • 作者单位

    电子科技大学;

  • 授予单位 电子科技大学;
  • 学科 计算机应用
  • 授予学位 硕士
  • 导师姓名 张小松;
  • 年度 2013
  • 页码
  • 总页数
  • 原文格式 PDF
  • 正文语种 中文
  • 中图分类 TP311.53;
  • 关键词

    动态测试; 符号执行; 程序分析; 外部函数处理;

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号