跨架构二进制克隆代码检测与基于代码重用的修补技术研究

来源 :上海交通大学 | 被引量 : 0次 | 上传用户:hexiaole632
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
二进制克隆代码检测(也称为相似性比较)与代码修补技术在软件安全以及软件工程领域有诸多应用。二进制克隆代码检测技术旨在寻找二进制代码之间相似或者相同的代码片段,分析人员由此可以复用已知代码的特性和已有的分析结果,快速理解对象代码,该技术可用于检测已知漏洞代码、推断恶意软件家族、检测代码抄袭等;二进制代码修补技术用以修补二进制程序中的缺陷代码,在源代码缺失的情况下,该技术对于代码补强、遗产代码维护等有着重要意义。然而,以上技术当前仍然主要依靠人工分析实现,已有的方法在分析精度、效率上还存在许多不足,在现实复杂的代码分析情境下捉襟见肘,因此,我们需要在已有工作的基础上更进一步,提高二进制克隆代码检测的精度以及二进制代码修补的质量,同时兼顾分析效率,增强以上技术在应对现实应用时的鲁棒性,以期降低人工成本、减少人为错误、提高劳动生产率。本文提出了在不同指令架构集上检测二进制克隆代码以及基于代码重用修补二进制代码的方法。对于二进制克隆代码检测,本文基于语义代码特征,分别用动态插桩、静态模拟执行和重用运行时信息模拟执行的方法处理二进制程序理解、相似代码比较以及目标代码搜索的问题;对于二进制代码修补,本文针对二进制代码中静态链接的已知缺陷代码,利用相应的正确版本代码产生补丁代码以修复缺陷、避免恶意攻击。本文的主要贡献如下:(1)提出基于动态插桩的克隆代码检测技术辅助理解多架构二进制代码。随着智能设备的不断兴起(比如智能手机),越来越多的程序由传统的桌面平台部署到以ARM或者MIPS为架构的嵌入式系统中,然而,与桌面平台相比,ARM、MIPS等架构上的二进制代码分析方法并不成熟,所以我们提出基于动态插桩的克隆代码检测技术MoCKKNGBIRD,用于理解ARM以及MIPS等指令架构集上的二进制代码。由于MOCKINGBIRD采用语义代码特征和动态监控技术,该技术可以处理不同指令架构集的二进制克隆代码检测问题;我们还提出针对语义特征的标准化策略,进一步增强该技术在现实应用中的鲁棒性。实验结果表明,在多架构二进制相似代码比较中,MOCKINGBIRD平均取得了超过75.0%的准确率,当通过ARM架构上OpenSSL的二进制函数检测其在MIPS架构上的克隆代码时,相较同时期的Multi-MH[1]方案,MOCKINGBIRD将检测准确率提高了 50.0%。(2)提出基于模拟执行的二进制克隆代码检测技术。二进制克隆代码检测在安全、软件工程等领域都有着重要应用,比如代码抄袭检测、恶意软件分析等,我们提出一个基于模拟执行的通用技术CACOMPARE以实现以上分析目标。由于采用模拟执行技术提取代码语义特征,该技术不仅能够比较用不同配置编译产生的二进制代码,比如使用不同的编译器、优化选项等,而且可以覆盖所有待检测代码。实验结果表明,CACOMPARE平均能够得到超过75.0%的准确率,在跨架构检测BusyBox的克隆函数时,相较于同时期的BinGo[2]方案,CACOMPARE将检测准确率提高了 37.9%。(3)提出基于重用运行时信息模拟执行的克隆代码检测技术,用于搜索二进制代码。代码搜索是相似代码比较的一个重要应用,当给定一段样例代码时,分析人员可以利用代码搜索确定目标代码中是否存在类似的代码,典型的场景比如查找已知漏洞函数。我们提出基于重用运行时信息模拟执行的二进制克隆代码检测技术BINMATCH,该技术结合了动态分析以及静态分析二者的优势,不仅利用动态执行过程中丰富的语义信息提高精度,而且通过模拟执行可以覆盖所有目标函数。实验结果表明,BINMATCH能够处理因等价语义变换而存在语法差别的二进制代码,比如编译器优化,甚至代码混淆,在与同时期的Asm2Vec[3]方案的比较实验中,BINMATCH将平均检测准确率提高了 27.7%。(4)提出基于重用正确版本代码修补二进制程序中已知缺陷代码的代码修补技术。二进制代码修补对于软件安全以及软件维护都有着重要意义,比如代码补强、遗产代码维护等,我们提出基于重用正确版本代码的修补已知二进制缺陷代码的技术BINPATCH,该技术基于二进制克隆代码检测技术定位目标缺陷代码,而后重用相应的正确版本代码作为补丁用以修复缺陷,BINPATCH因此无需依赖大量测试用例定位目标代码、限定补丁代码行为,不仅避免了不完备的修补,而且更加适用于二进制代码修补缺乏测试用例的应用场景。实验结果表明,BINPATCH不仅能够准确定位出缺陷代码,而且能够产生相应的补丁代码正确地修复缺陷。
其他文献
要分析了大黄山林区自然条件,主要植被和土地利用概况的基础上,从政策环境、生态地位、生态效益、改善生态环境四方面探讨了大黄山林区植被建设的可行性,提出了无林地、盖度
目的:总结先天性小耳畸形和外伤性耳缺损全耳再造手术中颅耳角重建方法的改进。方法:手术分二期进行。第一期手术取畸形耳对侧的6-8肋软骨进行支架的雕刻并埋在乳突区皮下,6
会议
研究背景历史发展的经验表明,劳动力从农业部门向非农业部门的转移是工业化过程的必然趋势,成功的农业剩余劳动力转移战略所带来的人口红利是转型期国家经济发展的重要推动力
目的:探讨导引操防治颈椎病的效果。方法:选取34例颈椎病患者及颈椎不适人群进行导引操练习,观察其疗效。结果:治愈28例,有效4例,无效2例,总有效率为94.1%。结论:导引操可有效防治颈
公共服务动机(PSM)已成为公共管理领域最为关注的研究课题之一。尽管近几年对PSM的研究有所增加,但大多数研究都是在西方国家进行的,很少有实证研究是在中东地区进行的。尤其
奈韦拉平(NVP)是目前使用最广泛的抗艾滋病药物之一,其合成方法的研究近年来受到广泛关注。笔者介绍了目前国内外该化合物合成技术的最新进展,分析了6条合成路线,讨论了各合成方法
构建两岸政党合作机制是我国多党合作理论的创新,对促进两岸和平发展和祖国统一具有重要现实意义。在当前的两岸关系形势下,积极构建与国民党的政党合作机制是“反独促统”的应
在油田勘探中,准确快速地检测井下油气的含量是其主要目标,但现有的勘探技术难以实现这个目标。为此,国内外油田技术服务公司纷纷开展对井下油气含量检测装置的研究:将检测技
当今社会发展对能源的需求量快速增长,由此引发了越来越严重的能源衰竭和环境污染问题。因此,谋求能源结构转型,让能源消费向着高效、清洁、可持续的方向发展成为经济社会发