一句话:提出基于标识符的纯软件二进制内存错误检测器,突破影子内存与硬件依赖限制,检测更多深层错误。
现有二进制级内存错误检测器主要依赖影子内存或特定硬件特性,存在根本性限制,容易漏报深层内存错误。BSan 面向 COTS 二进制,提出基于标识符的纯软件检测方法,不依赖任何特定硬件特性。为降低标识符传播带来的高开销,BSan 采用静态分析加动态插桩的混合方案,在提升性能的同时避免纯静态二进制重写可靠性差的问题。全面评估表明,BSan 能比当前最先进的二进制级检测器发现更多内存错误,且性能与内存开销同现有检测器相当。
This paper presents BSan, a practical softwareonly memory error detector for binary code. Different from state-of-the-art binary-level detectors, which rely on either the shadow-memory-based approach or the hardware-specific feature and thus suffer from several fundamental limitations, BSan adopts an identifier-based approach, enabling it to detect deep memory errors missed by existing detectors. Also, BSan does not depend on any specific hardware features. To reduce the high performance overhead caused by identifier propagation, BSan creates a novel hybrid approach, static analysis+dynamic instrumentation, to improve the performance without inheriting the poor reliability of static binary rewriting, distinguishing it from existing detectors that simply refer to static binary rewriting for better performance. The comprehensive evaluation demonstrates that BSan can detect more memory errors than state-of-the-art binary-level detectors. Meanwhile, the performance and memory overheads of BSan are comparable to those of existing detectors.
DOI 原文 ·
@inproceedings{paperbot8808,
title = {BSan: A Powerful Identifier-Based Hardware-Independent Memory Error Detector for COTS Binaries},
author = {Wen Zhang and Botang Xiao and Qingchen Kong and Le Guan and Wenwen Wang},
booktitle = {ICSE},
year = {2025},
doi = {10.1109/icse55347.2025.00020}
}