首页> 外文期刊>Programming and Computer Software >On the Representation of Results of Binary Code Reverse Engineering
【24h】

On the Representation of Results of Binary Code Reverse Engineering

机译:二进制代码逆向工程的结果表示

获取原文
获取原文并翻译 | 示例

摘要

A representation of algorithms extracted from binary code by reverse engineering is discussed. Both intermediate representations designed for automatic analysis and final representations passed to the end user are considered. The two main tasks of reverse engineering-automatic detection of exploitable vulnerabilities and discovery of undocumented features- are analyzed. The basic scheme of the system implementing the automatic detection of exploitable vulnerabilities is presented and the key properties of the intermediate representation designed for solving this problem using an efficient generation of a system of equations for an SMT solver are described. The workflow for discovering undocumented features is described. These steps are the localization of the algorithm, its representation in the form that is convenient for analysis, and investigation of its properties. To automate the first phase, a combined static and dynamic representation is constructed, which includes OS-level events and calls to library functions; they serve as anchor points used by the analyst for the algorithm localization. The further support of localization uses code slicing and navigation algorithms. Once the algorithm is localized, the further work goes in two directions: interactive construction of a compact annotated representation of the algorithm by a flowchart and automated investigation of the algorithm properties aimed at determining declared and undeclared data flows. The representation of the algorithm is based on the construction of simplified models of functions taking into account input and output buffers and on the automatic detection of data dependences between buffers of various function calls. The overall scenario of the analyst' work with such a flowchart in the context of discovering undocumented features is described; this scenario is based on annotating the declared data flows and on the automatic detection of undeclared data flows. In conclusion, an example of the resulting representation is discussed and the directions of further research are discussed.
机译:讨论了通过逆向工程从二进制代码提取的算法的表示。设计用于自动分析的中间表示形式以及传递给最终用户的最终表示形式都将被考虑。分析了逆向工程的两个主要任务,即自动检测可利用的漏洞和发现未记录的功能。提出了实现可利用漏洞的自动检测的系统的基本方案,并描述了为有效使用SMT求解器方程组而解决该问题的中间表示形式的关键属性。描述了发现未记录功能的工作流程。这些步骤是算法的本地化,以易于分析的形式表示的形式以及对其性能的研究。为了使第一阶段自动化,需要构建静态和动态组合的表示形式,其中包括OS级事件和对库函数的调用。它们充当分析人员用于算法定位的定位点。本地化的进一步支持使用代码切片和导航算法。一旦确定了算法的位置,进一步的工作将朝两个方向进行:通过流程图交互式构建算法的紧凑注释表示形式,以及自动研究旨在确定已声明和未声明数据流的算法属性。该算法的表示基于考虑到输入和输出缓冲区的功能简化模型的构建,并且基于各种功能调用的缓冲区之间数据相关性的自动检测。描述了在发现未记录特征的情况下分析人员使用此类流程图进行工作的总体场景;这种情况是基于注释声明的数据流和自动检测未声明的数据流。最后,讨论了所得表示的示例,并讨论了进一步研究的方向。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号