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...

Full description

Bibliographic Details
Main Authors: Seonghwan Park, Dongwook Kang, Jeonghwan Kang, Donghyun Kwon
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