Lune

ISSTA2023Top-tier venue

CGuard: Scalable and Precise Object Bounds Protection for C

Piyus Kedia, Rahul Purandare, Udit Kumar Agarwal, Rishabh

2023Year
1Citations

Abstract

Spatial safety violations are the root cause of many security attacks and unexpected behavior of applications. Existing techniques to enforce spatial safety work broadly at either object or pointer granularity. Object-based approaches tend to incur high CPU overheads, whereas pointer-based approaches incur both high CPU and memory overheads. SGXBounds, an object-based approach, provides precise out-of-bounds protection for objects at a lower overhead compared to other tools with similar precision. However, a major drawback of this approach is that it cannot support address space larger than 32-bit. In this paper, we present CGuard, a tool that provides precise object-bounds protection for C applications with comparable overheads to SGXBounds without restricting the application address space. CGuard stores the bounds information just before the base address of an object and encodes the relative o set of the base address in the spare bits of the virtual address available in x86_64 architecture. For an object that cannot t in the spare bits, CGuard uses a custom memory layout that enables it to nd the base address of the object in just one memory access. Our study revealed spatial safety violations in the gcc and x264 benchmarks from the SPEC CPU2017 benchmark suite and the string_match benchmark from the Phoenix benchmark suite. The execution time overheads for the SPEC CPU2017 and Phoenix benchmark suites were 42% and 26% respectively, whereas the reduction in the throughput for the Apache webserver when the CPUs were fully saturated was 30%. These results indicate that CGuard can be highly e ective while maintaining a reasonable degree of e ciency. CCS CONCEPTS • Security and privacy → Systems security.

Ask about this paper

Your agent reads all of it.

Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.

Questions to start from

Your agent calls

Luneget_paper_fulltext

Ask in Lune

Free to start. No credit card required.

lune papers fulltext 235ca267-2992-4a0d-8b64-d100e3ed67a9

Builds on1

Related papers

Dusk over the sea between two cliffs drawn in fine vertical lines