二进制可执行程序智能漏洞挖掘技术研究

被引量 : 0次 | 上传用户:coffeedoly
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机技术和互联网技术的飞速发展,信息技术影响着人们日常生活的方方面面,但是信息技术在给社会带来巨大生产力的同时,计算机系统中存在的安全漏洞,也会使企业和个人的利益受到侵害。在对计算机系统进行攻击时,黑客经常以计算机系统内的软件漏洞作为攻击的突破点,因此对软件漏洞进行安全研究的重要性就不言而喻了。软件漏洞挖掘是软件安全研究领域中一个重要的研究方向,通过挖掘计算机系统中软件存在的未知漏洞,可以完善整个系统的薄弱点,提高计算机系统的安全。软件漏洞挖掘按照研究对象可分为针对源码的漏洞挖掘和针对二进制软件的漏洞挖掘,其中针对源码的漏洞挖掘已有成熟的商用工具,而由于语法信息和词法信息的匮乏,并没有出现成熟的针对二进制软件的漏洞挖掘上具,因此本文以二进制可执行程序作为研究对象。Fuzzing(模糊测试)是一种最普遍的二进制漏洞挖掘技术,通过对输入数据进行模糊化处理,以期可以发现程序内部存在安全漏洞。虽然Fuzzing测试操作简单,但由于缺乏对目标程序的理解,只是对输入数据进行随机变异,导致测试效率低下。测试样本的优劣是影响Fuzzing效率和效果的重要因素,本文以测试样本的优化为研究重点,将动静分析技术与Fuzzing技术相结合,提出了一种针对二进制可执行程序的智能漏洞挖掘技术,增强Fuzzing测试的导向性,提高漏洞挖掘的效率。为对测试样本进行优化,本文主要进行了以下研究:总结二进制高危漏洞模式。研究二进制软件漏洞的分类,并提出了三种以元操作序列为特征的漏洞模式,分别为基于危险函数调用的缓冲区溢出漏洞模式、基于循环写内存的缓冲区溢出漏洞模式和基于符号扩展指令的整数溢出漏洞模式。提取二进制程序高危漏洞隐患点。利用IDAPython开发了三种高危漏洞模式的匹配脚本,匹配脚本通过静态数据流分析,对漏洞模式定义的元操作进行匹配,依此提取目标二进制模块中存在的高危漏洞隐患点。提出基于漏洞隐患点最大覆盖率的样本优化方法。利用动态二进制插装技术,提取目标程序在动态执行过程中的运行时信息,分析样本对高危漏洞隐患点的覆盖率,依此评判样本优劣。研究动态污点分析技术,基于二进制插装平台开发了离线污点分析系统。对于特殊高危漏洞隐患点,当测试样本无法覆盖该隐患点时,利用离线动态污点分析系统指导测试样本的重构。此外动态污点分析技术也用于对程序异常的快速分析,协助构造漏洞利用代码。基于以上研究,本文设计并实现了基于动静结合的智能漏洞挖掘系统BugHunter,并利用BugHunter进行实际的二进制漏洞挖掘,通过0Day漏洞的挖掘过程,对BugHunter的有效性进行了验证。
其他文献
大学生的恋爱动机除了受社会环境、家庭环境等因素的影响之外,离不开其内在需求。大学生由于生理需求、安全需求、归属和爱的需求、尊重需求和自我实现的需求,从而使其恋爱动
利用场发射扫描电镜分析普通白炭黑(牌号975#)和高分散性白炭黑1115MP和1165MP在天然橡胶(NR)中的分散性,研究其对胶料性能的影响。结果表明:高分散性白炭黑在NR中的分散性较
发展中国家资本项目开放模式的差异主要体现在开放的速度和开放的顺序上 ;发展中国家不同的开放模式都有成功和失败的先例 ;中国资本项目开放的模式选择面临着国际国内经济、
该文阐述了金银花生长对环境的要求以及山区金银花的栽培、修剪和病虫防治等技术.
六安市位于安徽西部,大别山北麓。作为传统的农业大市,六安市拥有自然资源优势。农业对六安市的经济发展起着重要的作用,但其农业经济结构也存在着较大的调整空间。农业产业
针对多个特征指标的多传感器数据融合问题,将Fisher理论和多数投票法相结合进行数据融合来增加识别率。该方法首先通过Fisher理论得到多个判别函数,然后通过多数投票法继续对
数据库表结构的设计方法直接影响应用软件的性能和生命周期。本文针对提高软件的灵活性和可扩充性,提出了两种数据库表的可扩展设计方案:一种是在数据库表中添加预留字段,并
<正>随着年龄增加,人体会自然出现衰老变化,比如,白发、发胖、尿频等。哈佛大学医学院老年病学副教授肯尼思·米纳克博士表示,衰老其实是一个"救命"过程,接受正常的衰老对身
基于物联网的中铁快运物流在线监测系统研究是在铁路物联网技术蓬勃发展的大背景下,针对中铁快运现行物流业务流程中存在的诸多弊病,引入物联网技术,对中铁快运物流业务流程
本文以I-P-O模型作为基本的分析框架,以组织管理理论、组织行为学和运动训练学为理论基础,运用文献资料法、调查访谈法、定性分析法、统计分析法和逻辑推理法等研究方法,对我