Bratter: An Instruction Set Extension for Forward Control-Flow Integrity in RISC-V
In recent decades, there has been an increasing number of studies on control flow integrity (CFI), particularly those implementing hardware-assisted CFI solutions that utilize a special instruction set extension. More recently, ARM and Intel, which are prominent processor architectures, also announc...
Main Authors: | , , , |
---|---|
Format: | Article |
Language: | English |
Published: |
MDPI AG
2022-02-01
|
Series: | Sensors |
Subjects: | |
Online Access: | https://www.mdpi.com/1424-8220/22/4/1392 |
_version_ | 1827652855395254272 |
---|---|
author | Seonghwan Park Dongwook Kang Jeonghwan Kang Donghyun Kwon |
author_facet | Seonghwan Park Dongwook Kang Jeonghwan Kang Donghyun Kwon |
author_sort | Seonghwan Park |
collection | DOAJ |
description | In recent decades, there has been an increasing number of studies on control flow integrity (CFI), particularly those implementing hardware-assisted CFI solutions that utilize a special instruction set extension. More recently, ARM and Intel, which are prominent processor architectures, also announced instruction set extensions for CFI called branch target identification (BTI) and control-flow enhancement technology (CET), respectively. However, according to our preliminary analysis, they do not support various CFI solutions in an efficient and scalable manner. In this study, we propose Bratter, a new instruction set extension for forward CFI solutions on RISC-V. At the center of Bratter, there are <i>Branch Tag Registers</i> and dedicated instructions for these registers. We implemented well-known CFI solutions (i.e., branch regulation and function signature check) using Bratter to evaluate its performance. Our experimental results show that, by using Bratter, even when these two solutions work together, they impose only 1.20% and 5.99% overhead for code size and execution time, respectively. |
first_indexed | 2024-03-09T21:07:00Z |
format | Article |
id | doaj.art-41eded0faa5e4fccab4671439929c1e7 |
institution | Directory Open Access Journal |
issn | 1424-8220 |
language | English |
last_indexed | 2024-03-09T21:07:00Z |
publishDate | 2022-02-01 |
publisher | MDPI AG |
record_format | Article |
series | Sensors |
spelling | doaj.art-41eded0faa5e4fccab4671439929c1e72023-11-23T21:58:49ZengMDPI AGSensors1424-82202022-02-01224139210.3390/s22041392Bratter: An Instruction Set Extension for Forward Control-Flow Integrity in RISC-VSeonghwan Park0Dongwook Kang1Jeonghwan Kang2Donghyun Kwon3Computer Security Laboratory, School of Computer Science & Engineering, Pusan National University, Busan 609-735, KoreaCyber Security Research Division, Electronics and Telecommunications Research Institute, Daejeon 305-700, KoreaComputer Security Laboratory, School of Computer Science & Engineering, Pusan National University, Busan 609-735, KoreaComputer Security Laboratory, School of Computer Science & Engineering, Pusan National University, Busan 609-735, KoreaIn recent decades, there has been an increasing number of studies on control flow integrity (CFI), particularly those implementing hardware-assisted CFI solutions that utilize a special instruction set extension. More recently, ARM and Intel, which are prominent processor architectures, also announced instruction set extensions for CFI called branch target identification (BTI) and control-flow enhancement technology (CET), respectively. However, according to our preliminary analysis, they do not support various CFI solutions in an efficient and scalable manner. In this study, we propose Bratter, a new instruction set extension for forward CFI solutions on RISC-V. At the center of Bratter, there are <i>Branch Tag Registers</i> and dedicated instructions for these registers. We implemented well-known CFI solutions (i.e., branch regulation and function signature check) using Bratter to evaluate its performance. Our experimental results show that, by using Bratter, even when these two solutions work together, they impose only 1.20% and 5.99% overhead for code size and execution time, respectively.https://www.mdpi.com/1424-8220/22/4/1392CFIRISC-VISA |
spellingShingle | Seonghwan Park Dongwook Kang Jeonghwan Kang Donghyun Kwon Bratter: An Instruction Set Extension for Forward Control-Flow Integrity in RISC-V Sensors CFI RISC-V ISA |
title | Bratter: An Instruction Set Extension for Forward Control-Flow Integrity in RISC-V |
title_full | Bratter: An Instruction Set Extension for Forward Control-Flow Integrity in RISC-V |
title_fullStr | Bratter: An Instruction Set Extension for Forward Control-Flow Integrity in RISC-V |
title_full_unstemmed | Bratter: An Instruction Set Extension for Forward Control-Flow Integrity in RISC-V |
title_short | Bratter: An Instruction Set Extension for Forward Control-Flow Integrity in RISC-V |
title_sort | bratter an instruction set extension for forward control flow integrity in risc v |
topic | CFI RISC-V ISA |
url | https://www.mdpi.com/1424-8220/22/4/1392 |
work_keys_str_mv | AT seonghwanpark bratteraninstructionsetextensionforforwardcontrolflowintegrityinriscv AT dongwookkang bratteraninstructionsetextensionforforwardcontrolflowintegrityinriscv AT jeonghwankang bratteraninstructionsetextensionforforwardcontrolflowintegrityinriscv AT donghyunkwon bratteraninstructionsetextensionforforwardcontrolflowintegrityinriscv |