二进制程序漏洞挖掘技术的分析与工具实现-analysis and tool implementation of binary program vulnerability mining technology.docxVIP
- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
二进制程序漏洞挖掘技术的分析与工具实现-analysis and tool implementation of binary program vulnerability mining technology
图 4.13程序状态汇合整体流程图41图 4.14函数摘要过程间处理流程图44图 4.15缺陷识别整体流程图46图 5.1二进制插桩过程示意图49图 5 2插桩工具DynTool的分析框架图 50图 5.3DynTool程序状态层次结构图 52图 5.4DynTool抽象值结构图 52图 5.5DynTool过程级别插桩分析流程图 55图 6.1典型案例源代码图示57图 6.2BAT工具导入Sample案例的视图 58图 6.3字符串单字节循环拷贝缺陷代码片段60表目录表 2.1污染格操作14表 3.1C/C++常见缓冲区溢出锚点函数23表 4.1REIL指令种类35表 4.2程序状态的值汇合规则44表 5.1静态和动态分析工具的异同点50表 6.1案例Sample main函数为入口的分析结果58表 6.2案例Sample main函数为入口的分析结果(续表)59表 6.3案例Sample 导出函数start函数为入口的分析结果59表 6.4WPS Office typocore核心库部分分析结果60表 6.5BAT验证的已有漏洞信息表61表 6.6BAT测试相关性能数据表61表 6.7DynTool动态分析实例程序的结果62中国科学技术大学学位论文原创性声明本人声明所呈交的学位论文,是本人在导师指导下进行研究工作所取得的 成果。除已特别加以标注和致谢的地方外,论文中不包含任何他人已经发表或 撰写过的研究成果。与我一同工作的同志对本研究所做的贡献均已在论文中作 了明确的说明。作者签名: 签字日期: 中国科学技术大学学位论文授权使用声明作为申请学位的条件之一,学位论文著作权拥有者授权中国科学技术大学 拥有学位论文的部分使用权,即:学校有权按有关规定向国家有关部门或机构 送交论文的复印件和电子版,允许论文被查阅和借阅,可以将学位论文编入《中 国学位论文全文数据库》等有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编学位论文。本人提交的电子文档的内容和纸质论文的内 容相一致。保密的学位论文在解密后也遵守此规定。□公开□保密(年)作者签名: 导师签名: 签字日期: 签字日期: 第一章绪论1.1 引言计算机安全中的首要和关键问题是软件安全问题,软件安全是使软件在受 到恶意攻击的情形下依然能够继续正确运行的工程化的软件思想。导致软件安 全问题的根源主要是软件实现中的缺陷,危害性大点的缺陷则称为漏洞。随着 软件数量和种类的不断增多,软件漏洞也在快速增长,造成了重大经济损失。 缓冲区溢出是目前最普遍的安全问题,一些语言允许对内存进行写操作,若被 写数据超出目标内存的范围,就可能导致该类缺陷的存在。目前广泛存在漏洞 类型有:缓冲区溢出漏洞(包括堆缓冲区溢出和栈缓冲区溢出)、SQL 注入漏 洞、跨站点脚本漏洞、整数溢出漏洞、命令注入漏洞及格式化字符串漏洞等。 软件漏洞的挖掘可以有效避免漏洞被非法利用。漏洞挖掘的方法有很多,动态 Fuzzing 测试[1]是最传统且最常用的方法,Fuzzing 测试是一种输入制导的 软件测试技术,通过自动构造随机的或带有一定规则的输入来寻找程序缺陷, 其在文件格式类和网络协议类应用程序漏洞挖掘中有着广泛的应用。Fuzzing 测试所有给出的结果都是确实有效的,但大部分结果都仅仅是程序异常而非真 正的漏洞。另一种主流的方法是通过静态分析或动态分析手段自动查找程序缺 陷,静态分析主动地对程序进行分析,无需执行目标程序,但存在误报;动态 分析是在程序执行过程中对运行时程序状态信息进行分析的方法,其比静态分 析方法更准确,但取决于程序输入。由于传统 Fuzzing 测试耗时耗力,且具有 较大的盲目性,自动化或半自动化的程序安全性分析已成为现阶段漏洞挖掘领 域的研究热点。随着软件产业的发展,软件分析技术也在不断发展中[2],软件质量和软 件安全分析一直以来都为人们所热切关注。针对二进制软件,业界已有许多工 具,如反汇编工具 IDA Pro[3]、反编译工具 Hex-Rays[4]、比对工具 Bindiff[5] 等。软件逆向分析早已成为计算机软件安全的重要研究方向,其主要侧重于程 序类型和结构等信息的恢复和重现,如反汇编技术和反编译技术。静态分析技 术在源代码分析和缺陷发掘中已有成功的案例,如 Fortify[6]、Coverity[7]、 RATS[8]、FindBugs[9]等工具,对于二进制程序,能够了解和获知的信息较 少,且涉及逆向工程中的许多底层技术,分析的难度大大增加。目前,二进制程序分析和缺陷发掘技术正处于起步阶段。许多研究仅限于 对特定环境下特定漏洞类型的检测,在分析难度和精度上未能使人满意。文章[10]给出一种对 X86 二进制程序整数溢出的自动检测方法,主要采用符号执行和污点传播等技术
您可能关注的文档
- 多系统萎缩、进行性核上性麻痹mri、tcs的临床分析-clinical analysis of mri and tcs in multiple system atrophy and progressive supranuclear paralysis.docx
- 多系统下dlna数字家庭网络人机交互系统设计与实现-design and implementation of dlna digital home network man-machine interaction system under multi-system environment.docx
- 多网融合环境下网络管理技术的分析与实现-analysis and implementation of network management technology in multi-network convergence environment.docx
- 多线外形上基于散乱曲线段曲线网构造方法-curve network construction method base on scattered curve segment in multi-line shape.docx
- 多相流ct系统成像算法分析及软件设计-imaging algorithm analysis and software design of multiphase flow ct system.docx
- 多小波与双向多小波的构造分析-structural analysis of multiwavelets and bidirectional multiwavelets.docx
- 多网融合mesh网关管理系统设计和实现-design and implementation of mesh gateway management system based on multi-network convergence.docx
- 多用户ofdm系统中跨层资源分配设计-design of cross-layer resource allocation in multiuser ofdm system.docx
- 多信息融合的客运索道监测与故障诊断技术分析-technical analysis of passenger ropeway monitoring and fault diagnosis based on multi-information fusion.docx
- 多元文化背景下加拿大印第安人政策分析(1971-1992)-analysis of canadian indian policy in multicultural background ( 1971 - 1992 ).docx
原创力文档


文档评论(0)