二进制环境下的缓冲区溢出漏洞动态检测

来源 :哈尔滨理工大学 | 被引量 : 0次 | 上传用户:moyixin
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
缓冲区溢出漏洞是一个在各种类型操作系统和程序都广泛存在的一个安全漏洞,也是被黑客最多使用的攻击漏洞。目前大多数缓冲区溢出检测工具是基于源代码的,极大限制了工具的使用范围。传统二进制环境静态识别模型存在一些固有缺陷,主要集中在指针别名以及变量类型识别。本文提出了一种动态与静态技术相结合的二进制漏洞挖掘方法弥补了大部分缺陷。本文从分析x86 CPU架构和指令开始,详细介绍了二进制文件的反编译,虚拟执行环境VM的设计。在VM的设计里,设计了和真实CPU一样的IA-32基本执行环境,可以执行原生x86指令。通过VM,考察指令执行状态,跟踪寄存器的变化,解决了指针别名的问题。通过记录VM中虚拟内存每条指令访存地址,最后统计计算出每条访存指令实际访问的变量地址,解决了变量精确识别的问题。在现代的程序中,包含了大量的库函数。为了尽可能的避开这些库函数,本文提出了新的快速库函数识别技术。新的快速库函数识别技术相对于现有的技术,提高了识别准确度,但是识别库的存储和重建复杂。在控制流分析中,引用了图论里的区间图理论,将程序流图划分为不相交的区间子图。通过区间图的简约,逐步识别出程序流图的嵌套控制结构。在数据流分析中,计算了传统的数据流方程,针对二进制环境的特点,提出了一个简易有效的类型识别算法。针对不安全函数调用和写内存循环2种字符串拷贝操作,研究写内存循环导致的溢出问题,提出一种流相关、上下文无关的检测算法。在循环关键属性识别里,再一次结合VM,计算循环状态差值,从中发现变化量,由此解决了控制变量和控制位移的计算。文章最后介绍了缓冲区溢出漏洞检测模型在实际中的应用,实验结果表明检测模型可以很好的检测可执行程序中常见类型的缓冲区溢出漏洞。
其他文献
随着P2P技术的发展,其应用越来越广泛,其中基于分布式哈希表(DHT)的P2P资源搜索算法正是近年来P2P技术领域研究的热点。对于基于DHT系统的大量研究主要集中在如何提高查询效率
数据中心是Internet的重要基础设施,它为用户提供数据存储、计算和传输等核心服务支撑。随着网络技术的高速发展,特别是大数据时代的到来,数据中心在Web服务、搜索引擎、电子
随着无线通信技术和移动终端技术的快速发展,以IEEE802.11为基础的无线局域网(WLAN)得到了越来越广泛的应用。与此同时,VoIP以其价格低廉、资源利用率高等优点成为当今发展最快
学位
大数据时代的到来,一方面我们需要安全有效地存储海量数据信息,存储系统的容量亟待增大;另一方面大数据量也对数据处理能力提出了新的要求,存储系统的性能亟需提升。重复数据
本文的主要研究内容是病灶区域定位在医学图像处理中的应用。首先研究了病灶区域分析和搜索,把人的主观感觉和计算机自动处理过程结合起来。其次研究和分析了各种分割算法,重
虚拟人体服装模特是一种面向服装制造工业的3D人体模型,一方面它要满足服装制造过程中量体裁衣的要求,另一方面还要满足用户的需求,构建出符合用户要求的人体模型。本文以这
近年来,P2P技术作为一种全新的网络应用,正主导着互联网的发展方向,与此同时P2P的管理问题也成为当前互联网络中最大的难题。因此,实现对P2P流量的有效识别及控制成为了当前
中文自动分词是实现搜索引擎信息检索的基础,长期以来一直是人们研究的重点,它广泛应用于中文信息处理的各个领域。传统的分词系统大都采用基于词典机制的分词算法,它们必须在分
大数据时代背景下,数据量的爆炸式增长,给数据存储带来巨大挑战。一方面,传统磁盘以及新型存储介质失效出错的概率随存储规模激增,导致设备级失效趋于常态化,但现有编码无法