面向软件安全的二进制代码逆向分析关键技术研究.pdf

面向软件安全的二进制代码逆向分析关键技术研究.pdf

ID:50465120

大小:8.01 MB

页数:169页

时间:2020-03-06

面向软件安全的二进制代码逆向分析关键技术研究.pdf_第1页
面向软件安全的二进制代码逆向分析关键技术研究.pdf_第2页
面向软件安全的二进制代码逆向分析关键技术研究.pdf_第3页
面向软件安全的二进制代码逆向分析关键技术研究.pdf_第4页
面向软件安全的二进制代码逆向分析关键技术研究.pdf_第5页
资源描述:

《面向软件安全的二进制代码逆向分析关键技术研究.pdf》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、博博博士士士学学学位位位论论论文文文面向软件安全的二进制代码逆向分析关键技术研究RESEARCHONKEYTECHNOLOGIESOFSOFTWARESECURITYANALYSISORIENTEDBINARYCODEANALYSIS邱邱邱景景景哈哈哈尔尔尔滨滨滨工工工业业业大大大学学学2015年年年9月月月国内图书分类号:TP313学校代码:10213国际图书分类号:004.41密级:公开工工工学学学博博博士士士学学学位位位论论论文文文面向软件安全的二进制代码逆向分析关键技术研究博士研究生:邱景导师:苏小红教授申请学位:工学博士学科:计算机

2、科学与技术所在单位:计算机科学与技术学院答辩日期:2015年9月授予学位单位:哈尔滨工业大学ClassifiedIndex:TP313U.D.C:004.41DissertationfortheDoctoralDegreeinEngineeringRESEARCHONKEYTECHNOLOGIESOFSOFTWARESECURITYANALYSISORIENTEDBINARYCODEANALYSISCandidate:QiuJingSupervisor:Prof.SuXiaohongAcademicDegreeAppliedfor:Docto

3、rofEngineeringSpecialty:ComputerScienceandTechnologyAliation:SchoolofComputerScienceandTechnologyDateofDefence:Sep,2015Degree-Conferring-Institution:HarbinInstituteofTechnology摘要摘要二进制代码逆向分析是一种针对二进制代码的程序分析技术。它在源代码无法获取的情形中至关重要。如在恶意软件检测与分析中,由于恶意软件作者往往不公开源代码,二进制代码逆向分析几乎是唯一的分析手

4、段。在对商业软件的安全审查以及抄袭检测中,由于没有源代码,也只能对其二进制代码进行分析。二进制代码逆向分析技术还可以应用于加固现有软件,减少安全漏洞,也可以用于阻止软件被破解,防止软件被盗版,保护知识产权。当前,无论是在巨型计算机,还是在智能手机以及嵌入式设备中,绝大多数软件都是以二进制代码形式发布。所以,研究二进制代码逆向分析对于提高计算机软件的安全性,具有重要的科学理论意义和实际应用价值。由于二进制代码和源代码间存在巨大的差异,使得二进制代码逆向分析相对于程序源代码分析要困难得多。混淆技术的使用和编译器优化也会增加对二进制代码进行分析的难

5、度。此外,为保护软件不被检测和分析,恶意软件会使用各种反分析方法,如基于完整性校验的反修改和基于计时攻击的反监控。为分析这些软件,需要对抗这些反分析。这又进一步增加了二进制代码逆向分析的难度。本文重点对二进制代码反分析的识别,反汇编,函数和库函数的识别等关键技术进行深入研究。针对当前反分析识别的研究都只针对特定类型的反分析设计特定的反分析识别方法、缺乏通用性的问题,分析了各种反分析方法之间的概念相似性,提出了一个基于信息流的反分析识别框架。针对当前对抗基于完整性校验的反修改需使用硬件辅助且不能处理自修改代码的问题,研究了一个无需硬件辅助的基于

6、动态信息流的识别方法。首先使用后向污点分析来识别可执行内存位置或用来计算可执行位置值的内存位置,然后使用前向污点分析来识别校验过程。对于基于计时攻击的反监控,亦可以使用这种方法识别。首先将常见获取时间的指令和系统调用的返回值作为污点源,然后使用污点分析识别验证过程。本文方法可以成功识别现有研究文献中的基于完整性校验的反修改和基于计时攻击的反监控技术,并提供识别出的反分析的基础结构信息,进而可以帮助分析人员设计出对抗这些反分析的技术。针对当前动静结合反汇编方法仍存在覆盖率低的问题,研究了一种多路径探索方法来反汇编代码。静态反汇编无法区分可执行代

7、码区域中的数据和代码,也无法处理自修改代码。动态反汇编方法代码覆盖率低,只会处理已执行的路径。-I-哈尔滨工业大学工学博士学位论文本文使用基于二进制插桩技术的动态分析技术记录程序指令执行轨迹,并通过逆转已执行路径中的条件分支来实现多路径探索,从而提高动态分析的覆盖率。然后精简合并所有执行轨迹。最后使用静态反汇编来发现未处理区域中的代码。该方法能够高准确度高覆盖率地反汇编二进制代码。当前函数识别方法无法识别无交叉引用和无头尾特征的函数。针对这个问题,研究了一个以函数返回指令为识别特征的函数识别方法。因为一个函数至少有一个返回指令使得控制流离开函

8、数,因此,相比传统方法使用的函数头尾特征,本文采用的返回指令作为识别特征更可靠。首先引入逆向扩展控制流图(ReverseExtendedControlFlowGra

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。