Hardware-assisted run-time protection
Prof. N. Asokan,
David R. Cheriton School of Computer Science and Executive director of the Waterloo Cybersecurity and Privacy Institute, University of Waterloo, Canada
Run-time attacks are a prominent attack vector for compromising systems written in memory-unsafe languages like C and C++. Over the last decade there has been significant advances by both researchers
and practitioners in understanding and defending against run-time attacks. As defenses are gradually being deployed, more sophisticated attacks, like data-oriented attacks, will become increasingly
attractive.
Defenses against run-time attacks must consider how to trade-off security, performance and deployability. Fine-grained software-only defenses are effective, but can be prohibitively expensive. Hardware-based defenses can be effective and efficient but deploying new hardware extensions is difficult. In this talk, I will describe two attempts from our recent work to provide run-time
protection, especially for data-oriented attacks. The first, HardScope, is a hardware solution for enforcing lexical scope for variables at run-time. HardScope consists of a small set of proposed
processor extensions as well as associated compiler instrumentation. The second, PARTS and PACStack, are software solutions that makes use of an existing hardware-assisted mechanism in
ARM processors for pointer authentication (PA). They consist of a set of techniques that use PA in new ways for thwarting run-time attacks.
I will also briefly touch on other emerging hardware security extensions and potential research directions in exploring how best to use them.