MESH: A Memory-Efficient Safe Heap for C/C plus

被引:1
|
作者
Vintila, Emanuel Q. [1 ]
Zieris, Philipp [1 ]
Horsch, Julian [1 ]
机构
[1] Fraunhofer AISEC, Garching, Germany
关键词
memory safety; unsafe programming languages; buffer overflows; pointer tagging; dangling pointers; use-after-free;
D O I
10.1145/3465481.3465760
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
While memory corruption bugs stemming from the use of unsafe programming languages are an old and well-researched problem, the resulting vulnerabilities still dominate real-world exploitation today. Various mitigations have been proposed to alleviate the problem, mainly in the form of language dialects, static program analysis, and code or binary instrumentation. Solutions like Adress-Sanitizer (ASan) and Softbound/CETS have proven that the latter approach is very promising, being able to achieve memory safety without requiring manual source code adaptions, albeit suffering substantial performance and memory overheads. While performance overhead can be seen as a flexible constraint, extensive memory overheads can be prohibitive for the use of such solutions in memory-constrained environments. To address this problem, we propose MESH, a highly memory-efficient safe heap for C/C++. With its constant, very small memory overhead (configurable up to 2 MB on x86-64) and constant complexity for pointer access checking, MESH offers efficient, byte-precise spatial and temporal memory safety for memory-constrained scenarios. Without jeopardizing the security of safe heap objects, MESH is fully compatible with existing code and uninstrumented libraries, making it practical to use in heterogeneous environments. We show the feasibility of our approach with a full LLVM-based prototype supporting both major architectures, i.e., x86-64 and ARM64, in a Linux runtime environment. Our prototype evaluation shows that, compared to ASan and Softbound/CETS, MESH can achieve huge memory savings while preserving similar execution performance.
引用
收藏
页数:10
相关论文
共 50 条
  • [21] Ironclad C plus plus A Library-Augmented Type-Safe Subset of C plus
    DeLozier, Christian
    Eisenberg, Richard
    Nagarakatte, Santosh
    Osera, Peter-Michael
    Martin, Milo M. K.
    Zdancewic, Steve
    ACM SIGPLAN NOTICES, 2013, 48 (10) : 287 - 304
  • [22] Parallel Memory-Efficient Adaptive Mesh Refinement on Structured Triangular Meshes with Billions of Grid Cells
    Meister, Oliver
    Rahnema, Kaveh
    Bader, Michael
    ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE, 2017, 43 (03):
  • [23] A memory-efficient strategy for exploring the web
    Castillo, Carlos
    Nelli, Alberto
    Panconesi, Alessandro
    2006 IEEE/WIC/ACM INTERNATIONAL CONFERENCE ON WEB INTELLIGENCE, (WI 2006 MAIN CONFERENCE PROCEEDINGS), 2006, : 680 - +
  • [24] Memory-efficient Parallel Tensor Decompositions
    Baskaran, Muthu
    Henretty, Tom
    Pradelle, Benoit
    Langston, M. Harper
    Bruns-Smith, David
    Ezick, James
    Lethin, Richard
    2017 IEEE HIGH PERFORMANCE EXTREME COMPUTING CONFERENCE (HPEC), 2017,
  • [25] Memory-Efficient Assembly Using Flye
    Freire, Borja
    Ladra, Susana
    Parama, Jose R.
    IEEE-ACM TRANSACTIONS ON COMPUTATIONAL BIOLOGY AND BIOINFORMATICS, 2022, 19 (06) : 3564 - 3577
  • [26] A memory-efficient emptiness checking algorithm
    Department of Computer Science and Engineering, Shanghai Jiaotong University, Shanghai 200030, China
    J. Inf. Comput. Sci., 2006, 4 (803-810):
  • [27] Toward memory-efficient linear solvers
    Baker, A
    Dennis, J
    Jessup, ER
    HIGH PERFORMANCE COMPUTING FOR COMPUTATIONAL SCIENCE - VECPAR 2002, 2003, 2565 : 315 - 327
  • [28] Memory-efficient decoding of LDPC codes
    Lee, JKS
    Thorpe, J
    2005 IEEE INTERNATIONAL SYMPOSIUM ON INFORMATION THEORY (ISIT), VOLS 1 AND 2, 2005, : 459 - 463
  • [29] Memory-Efficient Parametric Semiglobal Matching
    Lee, Yeongmin
    Park, Min-Gyu
    Hwang, Youngbae
    Shin, Youngsoo
    Kyung, Chong-Min
    IEEE SIGNAL PROCESSING LETTERS, 2018, 25 (02) : 194 - 198
  • [30] Memory-Efficient Minimax Distance Measures
    Hoseini, Fazeleh
    Chehreghani, Morteza Haghir
    ADVANCES IN KNOWLEDGE DISCOVERY AND DATA MINING, PAKDD 2022, PT I, 2022, 13280 : 419 - 431