RAGuard
Autor: | Lixin Zhang, Wei Song, Sally A. McKee, Mingyu Chen, Zhen Jia, Jun Zhang, Rui Hou, Chen Zheng, Dan Meng |
---|---|
Rok vydání: | 2018 |
Předmět: |
0303 health sciences
Computer science business.industry Advanced Encryption Standard Indirect branch Physical unclonable function 02 engineering and technology Encryption 020202 computer hardware & architecture 03 medical and health sciences Control flow Hardware and Architecture 0202 electrical engineering electronic engineering information engineering Message authentication code business Key management Software Computer hardware 030304 developmental biology Information Systems Arbitrary code execution |
Zdroj: | ACM Transactions on Architecture and Code Optimization. 15:1-21 |
ISSN: | 1544-3973 1544-3566 |
DOI: | 10.1145/3280852 |
Popis: | Control-flow integrity (CFI) is a general method for preventing code-reuse attacks, which utilize benign code sequences to achieve arbitrary code execution. CFI ensures that the execution of a program follows the edges of its predefined static Control-Flow Graph: any deviation that constitutes a CFI violation terminates the application. Despite decades of research effort, there are still several implementation challenges in efficiently protecting the control flow of function returns (Return-Oriented Programming attacks). The set of valid return addresses of frequently called functions can be large and thus an attacker could bend the backward-edge CFI by modifying an indirect branch target to another within the valid return set. This article proposes RAGuard, an efficient and user-transparent hardware-based approach to prevent Return-Oreiented Programming attacks. RAGuard binds a message authentication code (MAC) to each return address to protect its integrity. To guarantee the security of the MAC and reduce runtime overhead: RAGuard (1) computes the MAC by encrypting the signature of a return address with AES-128, (2) develops a key management module based on a Physical Unclonable Function (PUF) and a True Random Number Generator (TRNG), and (3) uses a dedicated register to reduce MACs’ load and store operations of leaf functions. We have evaluated our mechanism based on the open-source LEON3 processor and the results show that RAGuard incurs acceptable performance overhead and occupies reasonable area. |
Databáze: | OpenAIRE |
Externí odkaz: |