ASIST: Architectural Support for Instruction Set Randomization
Uloženo v:
| Název: | ASIST: Architectural Support for Instruction Set Randomization |
|---|---|
| Autoři: | Antonis Papadogiannakis, Laertis Loutsis, Vassilis Papaefstathiou, Sotiris Ioannidis |
| Přispěvatelé: | The Pennsylvania State University CiteSeerX Archives |
| Zdroj: | http://www.syssec-project.eu/m/page-media/3/papadog-asist-ccs.pdf. |
| Sbírka: | CiteSeerX |
| Témata: | ware, C.0 [General, Hardware/software interfaces, System archi- tectures Keywords Instruction Set Randomization, Code Injection Attacks, Architec |
| Popis: | Code injection attacks continue to pose a threat to today’s comput-ing systems, as they exploit software vulnerabilities to inject and execute arbitrary, malicious code. Instruction Set Randomization (ISR) is able to protect a system against remote machine code in-jection attacks by randomizing the instruction set of each process. This way, the attacker will inject invalid code that will fail to exe-cute on the randomized processor. However, all the existing imple-mentations of ISR are based on emulators and binary instrumen-tation tools that (i) incur a significant runtime performance over-head, (ii) limit the ease of deployment of ISR, (iii) cannot protect the underlying operating system kernel, and (iv) are vulnerable to evasion attempts trying to bypass ISR protection. To address these issues we propose ASIST: an architecture with hardware and operating system support for ISR. We present the de-sign and implementation of ASIST by modifying and mapping a SPARC processor onto an FPGA board and running our modified Linux kernel to support the new features. The operating system loads the randomization key of each running process into a newly defined register, and the modified processor decodes the process’s instructions with this key before execution. Moreover, ASIST pro-tects the system against attacks that exploit kernel vulnerabilities to run arbitrary code with elevated privileges, by using a separate randomization key for the operating system. We show that ASIST transparently protects all applications and the operating system ker-nel from machine code injection attacks with less than 1.5 % run-time overhead, while only requiring 0.7 % additional hardware. |
| Druh dokumentu: | text |
| Popis souboru: | application/pdf |
| Jazyk: | English |
| Relation: | http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.679.9266 |
| Dostupnost: | http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.679.9266 http://www.syssec-project.eu/m/page-media/3/papadog-asist-ccs.pdf |
| Rights: | Metadata may be used without restrictions as long as the oai identifier remains attached to it. |
| Přístupové číslo: | edsbas.4A361770 |
| Databáze: | BASE |
| Abstrakt: | Code injection attacks continue to pose a threat to today’s comput-ing systems, as they exploit software vulnerabilities to inject and execute arbitrary, malicious code. Instruction Set Randomization (ISR) is able to protect a system against remote machine code in-jection attacks by randomizing the instruction set of each process. This way, the attacker will inject invalid code that will fail to exe-cute on the randomized processor. However, all the existing imple-mentations of ISR are based on emulators and binary instrumen-tation tools that (i) incur a significant runtime performance over-head, (ii) limit the ease of deployment of ISR, (iii) cannot protect the underlying operating system kernel, and (iv) are vulnerable to evasion attempts trying to bypass ISR protection. To address these issues we propose ASIST: an architecture with hardware and operating system support for ISR. We present the de-sign and implementation of ASIST by modifying and mapping a SPARC processor onto an FPGA board and running our modified Linux kernel to support the new features. The operating system loads the randomization key of each running process into a newly defined register, and the modified processor decodes the process’s instructions with this key before execution. Moreover, ASIST pro-tects the system against attacks that exploit kernel vulnerabilities to run arbitrary code with elevated privileges, by using a separate randomization key for the operating system. We show that ASIST transparently protects all applications and the operating system ker-nel from machine code injection attacks with less than 1.5 % run-time overhead, while only requiring 0.7 % additional hardware. |
|---|
Nájsť tento článok vo Web of Science