基于模拟器的缓冲区溢出漏洞动态检测技术研究

基于模拟器的缓冲区溢出漏洞动态检测技术研究

论文摘要

缓冲区溢出漏洞是常见的软件安全漏洞,恶意用户可利用程序中的溢出漏洞攻击目标主机系统,窃取或破坏重要数据,甚至控制该系统攻击其它主机。在每年近十万次网络漏洞攻击中,近50%与缓冲区溢出相关,造成的经济损失超过百亿美元。缓冲区溢出漏洞已成为一种最危险、最常见的软件安全漏洞。现有缓冲区溢出漏洞检测方法分静态和动态两类。静态检测方法对源代码检测,速度快检出率高,但结果中存在较多误报;动态检测方法运行时监控程序行为,误报率较低且检测精度较高。但现有动态方法也存在明显的不足:1.未完全摆脱源代码;2.只能针对应用程序检测,对操作系统无能为力;3.发现溢出现象却难以确定漏洞位置;4.对测试输入依赖较高,代码覆盖率难以保证。本文以现有缓冲区溢出漏洞检测方法中存在的问题和不足为切入点,在充分研究、分析和比较现有动态方法的基础上,提出了一种面向可执行代码,利用全系统模拟器作为执行环境,通过动态路径追踪方法检测溢出漏洞的有效方法。主要工作和创新包括:1)针对当前动态方法执行环境控制力较弱,信息获取不充分的问题,提出了基于全系统模拟器的动态检测环境构建方法,并重点研究了模拟器的控制技术。该技术使目标程序完全受控地运行在环境内,可随时获取包括硬件状态在内的各层次系统信息,为漏洞检测提供了良好的基础平台。2)针对可执行代码抽象难读的问题以及动态追踪对指令分析的需求,提出了指令的动态解释方法。该方法将可执行代码动态转换成形式统一、便于分析追踪的元指令表示形式。该方法不仅改善了后端路径追踪逻辑的目标指令系统,同时也便于前端执行环境向多平台扩展。3)针对当前动态方法在漏洞定位与代码覆盖率问题上存在的不足,提出了基于动态污点传播思想的动态路径追踪方法。该方法分析并构造了溢出漏洞的判定规则,回溯确定漏洞位置,归纳溢出形成条件,并结合系统状态回退完成多路径漏洞搜索,提高代码检测覆盖率。4)在上述研究成果基础上,基于Simics全系统模拟器设计并实现了缓冲区溢出漏洞动态检测系统原型系统SimDDBO。5)对SimDDBO系统进行基准测试和实例测试,验证了系统的有效性,初步尝试了新漏洞挖掘,发现Baidu Hi中两个新漏洞并获得BugTraq确认。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 课题背景
  • 1.2 研究现状
  • 1.2.1 溢出检测研究现状
  • 1.2.2 动态检测方法存在的主要问题
  • 1.3 论文研究目标及内容
  • 1.4 本文结构
  • 第二章 缓冲区溢出漏洞及动态检测技术研究
  • 2.1 缓冲区溢出攻击原理
  • 2.1.1 栈溢出攻击原理
  • 2.1.2 堆溢出攻击原理
  • 2.1.3 数据段/BSS 段溢出攻击原理
  • 2.2 典型缓冲区溢出动态检测技术
  • 2.2.1 动态防御技术
  • 2.2.2 动态挖掘技术
  • 2.2.3 研究小结
  • 2.3 本章小结
  • 第三章 SimDDBO 关键技术研究
  • 3.1 模拟器控制技术
  • 3.1.1 平台构建
  • 3.1.2 调试与信息获取
  • 3.1.3 状态管理
  • 3.2 指令动态解释技术
  • 3.2.1 元指令模型
  • 3.2.2 元指令映射
  • 3.2.3 元指令化简
  • 3.3 动态路径追踪技术
  • 3.3.1 漏洞判定
  • 3.3.2 漏洞定位
  • 3.3.3 漏洞搜索
  • 3.4 本章小结
  • 第四章 SimDDBO 系统设计与实现
  • 4.1 SimDDBO 基本工作原理
  • 4.2 SimDDBO 框架设计
  • 4.3 模拟器控制子系统
  • 4.3.1 模拟器控制子系统分析与设计
  • 4.3.2 调试模块
  • 4.3.3 信息获取模块
  • 4.3.4 信息验证模块
  • 4.4 动态指令解释子系统
  • 4.4.1 元指令对象结构设计
  • 4.4.2 动态指令解释子系统分析与设计
  • 4.4.3 反汇编器
  • 4.4.4 元指令映射表构造
  • 4.5 分析判定子系统
  • 4.5.1 动态污点追踪模块
  • 4.5.2 可控分支遍历模块
  • 4.6 本章小结
  • 第五章 测试结果
  • 5.1 有效性测试
  • 5.1.1 基准测试
  • 5.1.2 实例测试
  • 5.2 性能测试
  • 5.3 新漏洞检测
  • 5.4 本章小结
  • 第六章 结束语
  • 6.1 本文工作总结
  • 6.2 展望
  • 致谢
  • 参考文献
  • 作者在学期间取得的学术成果
  • 作者在学期间取得的学术成果
  • 相关论文文献

    标签:;  ;  ;  ;  ;  ;  

    基于模拟器的缓冲区溢出漏洞动态检测技术研究
    下载Doc文档

    猜你喜欢