CRSep 9, 2019

Proconda -- Protected Control Data

arXiv:1909.03758v1
Originality Incremental advance
AI Analysis

This addresses security vulnerabilities in systems using languages like C, offering a robust alternative to information-hiding methods that are susceptible to recent attacks, though it is incremental in building on hardware-based protection techniques.

The paper tackles the problem of memory corruption vulnerabilities that allow attackers to overwrite control-flow data on the stack in non-memory-safe languages like C, and proposes ProConDa, a hardware-based approach that enforces strict separation between control-flow and regular data, showing compatibility with existing software through a prototype tested on ARM Linux benchmarks.

Memory corruption vulnerabilities often enable attackers to take control of a target system by overwriting control-flow relevant data (such as return addresses and function pointers), which are potentially stored in close proximity of related, typically user-controlled data on the stack. In this paper, we propose ProConDa, a general approach for protecting control-flow relevant data on the stack ProConDa leverages hardware features to enforce a strict separation between control-flow relevant and regular data of programs written in non-memory-safe languages such as C. Contrary to related approaches, ProConDa does not rely on information hiding and is therefore not susceptible to several recent attacks specifically targeting information hiding as a foundation for memory isolation. We show that ProConDa enforcement is compatible with existing software by applying a software-based prototype to industry benchmarks on an ARM CPU running Linux.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes