Cargando…

Efficient Context-Sensitive CFI Enforcement Through a Hardware Monitor

Recent works on Control-Flow Integrity (CFI) have mainly focused on Context-Sensitive CFI policies to provide higher security guarantees. They utilize a debugging hardware feature in modern Intel CPUs, Processor Trace (PT), to efficiently collect runtime contextual information. These PT-based CFI me...

Descripción completa

Detalles Bibliográficos
Autores principales: Canakci, Sadullah, Delshadtehrani, Leila, Zhou, Boyou, Joshi, Ajay, Egele, Manuel
Formato: Online Artículo Texto
Lenguaje:English
Publicado: 2020
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7338176/
http://dx.doi.org/10.1007/978-3-030-52683-2_13
Descripción
Sumario:Recent works on Control-Flow Integrity (CFI) have mainly focused on Context-Sensitive CFI policies to provide higher security guarantees. They utilize a debugging hardware feature in modern Intel CPUs, Processor Trace (PT), to efficiently collect runtime contextual information. These PT-based CFI mechanisms offload the processing of the collected PT trace and CFI enforcement onto idle cores. However, a processor does not always have idle cores due to the commonly-used multi-threaded applications such as web browsers. In fact, dedicating one or more cores for CFI enforcement reduces the number of available cores for running user programs. Our evaluation with a state-of-the-art CFI mechanism ([Formula: see text]CFI) shows that the performance overhead of a CFI mechanism can substantially increase (up to 652% on a single-core processor) when there is no idle core for CFI enforcement. To improve the performance of [Formula: see text]CFI, we propose to leverage a hardware monitor that unlike PT does not incur trace processing overhead. We show that the hardware monitor can be used to efficiently collect program traces (<1% overhead) in their original forms and apply [Formula: see text]CFI. We prototype the hardware-monitor based [Formula: see text]CFI on a single-core RISC-V processor. Our analysis show that hardware-monitor based [Formula: see text]CFI incurs, on average, 43% (up to 277%) performance overhead.