discovRE__Efficient_Cross-Architecture_Identification_of_Bugs_in
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
【discovRE:二进制代码中的高效跨架构错误识别】 背景: 在当前的软件开发环境中,源代码的封闭性和多种编译环境的存在使得源代码级别的错误检测变得困难。此外,许多软件产品以二进制形式发布,这进一步增加了识别和修复错误的挑战。传统的动态分析方法在跨架构的情况下往往效率低下,而基于语义特征的方法虽然能够提供更精确的匹配,但其计算成本高,不适用于大规模的二进制代码比较。 方法论: 为了克服这些挑战,discovRE提出了一种两阶段的静态分析方法。通过使用简单的特征向量来缩小比较的范围,然后利用复杂的图同构比较方法进行进一步的精确匹配。 粗粒度阶段: 在这个阶段,特征向量被构建,包括平均相关度和标准差。较高的平均相关度和较低的标准差表明特征更加稳健,更适合作为比较的基础。特征向量的计算使用了K-最近邻(KNN)算法,以确定两个代码段之间的距离。 细粒度阶段: 在初步筛选后,进入细粒度的子图同构匹配。子图同构是图论中的一个经典问题,尽管它通常被认为是NP完全的,但在有限的循环次数内可以找到近似解。这个步骤旨在确保即使在简单的特征向量无法区分的情况下,也能通过更深入的结构比较来识别相似的代码段。 评估: 为了验证discovRE的有效性,研究人员在OpenSSL 1.0.1e的不同编译环境和架构上编译,得到1293个函数。然后,随机选择函数并搜索代码库,重复这个过程100万次。结果表明,该方法的准确率高达93.93%,证明了其在跨架构错误识别中的高效性和准确性。 跨架构漏洞查找: 在实验中,discovRE也展示了在查找跨架构漏洞方面的优势,其效率和效果均优于其他方法。通过复制之前研究(SP'15)的实验设置,discovRE不仅在速度上胜出,而且在识别潜在漏洞的能力上也表现出色。 总结: discovRE通过引入两阶段的静态分析策略,成功地解决了二进制代码跨架构错误识别的难题。通过结合粗粒度和细粒度的比较方法,它能够在保持高效的同时,提供高精度的匹配结果。这种方法对于维护和更新大量闭源软件,尤其是在安全关键领域,具有重要的实际应用价值。

- 粉丝: 2362
我的内容管理
展开
我的资源
快来上传第一个资源
我的收益 登录查看自己的收益
我的积分
登录查看自己的积分
我的C币
登录后查看C币余额
我的收藏
我的下载
下载帮助
前往需求广场,查看用户热搜最新资源
- 大数据背景下推进档案创新管理的途径分析.docx
- 电力信息化行业现状及发展趋势分析.doc
- 基于单片机的智能节能型抽油烟机的设计.docx
- Java 9响应式编程入门与实战
- 基于单片机的交通信号灯模拟控制系统研究设计.doc
- MATLAB程序方案设计书与优化函数的应用-讲稿2013.doc
- 企业电子商务应用调查报告1.doc
- 大学生思政教育在互联网环境下的困境与对策.docx
- 大数据背景下高中生物校本作业的评价方法.docx
- 《土木工程CAD》(专科)课程实训课程作业.doc
- 旅游大数据平台方案.docx
- 农资营销网络设计方案.doc
- 青岛XX数据仓库项目管理总体规划建议书.doc
- 软件测试工程师终总结.docx
- C语言课程设计方案-宾馆客房管理系统报告.doc
- 石油大学(华东)C语言2018在线测验考试.doc


信息提交成功