首页> 外文期刊>Empirical Software Engineering >On the detection of custom memory allocators in C binaries
【24h】

On the detection of custom memory allocators in C binaries

机译:关于在C二进制文件中检测自定义内存分配器

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

摘要

Many reverse engineering techniques for data structures rely on the knowledge of memory allocation routines. Typically, they interpose on the system's malloc and free functions, and track each chunk of memory thus allocated as a data structure. However, many performance-critical applications implement their own custom memory allocators. Examples include webservers, database management systems, and compilers like gcc and clang. As a result, current binary analysis techniques for tracking data structures fail on such binaries. We present MemBrush, a new tool to detect memory allocation and deallocation functions in stripped binaries with high accuracy. We evaluated the technique on a large number of real world applications that use custom memory allocators. We demonstrate that MemBrush can detect allocators/deallocators with a high accuracy which is 52 out of 59 for allocators, and 29 out of 31 for deallocators in SPECINT 2006. As we show, we can furnish existing reverse engineering tools with detailed information about the memory management API, and as a result perform an analysis of the actual application specific data structures designed by the programmer. Our system uses dynamic analysis and detects memory allocation and deallocation routines by searching for functions that comply with a set of generic characteristics of allocators and deallocators.
机译:许多用于数据结构的逆向工程技术都依赖于内存分配例程的知识。通常,它们插入系统的malloc和free函数,并跟踪因此分配为数据结构的每个内存块。但是,许多性能至关重要的应用程序实现了自己的自定义内存分配器。示例包括Web服务器,数据库管理系统以及gcc和clang之类的编译器。结果,用于跟踪数据结构的当前二进制分析技术在此类二进制文件上失败。我们介绍了MemBrush,这是一种新工具,可以高精度检测剥离二进制文件中的内存分配和释放函数。我们在使用自定义内存分配器的大量现实应用程序中评估了该技术。我们证明了MemBrush可以检测到分配器/取消分配器,该精度很高,在SPECINT 2006中,分配器/分配器中有59个分配器中有52个,分配器中31个中有29个。如我们所示,我们可以为现有的逆向工程工具提供有关内存的详细信息管理API,并因此对程序员设计的实际特定于应用程序的数据结构进行分析。我们的系统使用动态分析,并通过搜索符合分配器和释放器的一组通用特征的函数来检测内存分配和释放例程。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号