Title | BackFlow: Backward Edge Control Flow Enforcement for Low End ARM Microcontrollers |
Publication Type | Conference Paper |
Year of Publication | 2020 |
Authors | Bresch, C., Lysecky, R., Hély, D. |
Conference Name | 2020 Design, Automation Test in Europe Conference Exhibition (DATE) |
Keywords | ARM instruction set, Automation, BackFlow, backward edge control flow integrity, Benchmark testing, Cats, CFI, Clang/LLVM compiler, compiler, compiler security, compiler-based toolchain, compositionality, computer security, Europe, Instruction sets, low-end ARM Cortex-M microprocessors, memory corruptions, memory safety, Metrics, microcontrollers, program compilers, program diagnostics, pubcrawl, Resiliency, Safety, Scalability, STM32 NUCLEO F446RE microcontroller, storage management |
Abstract | This paper presents BackFlow, a compiler-based toolchain that enforces indirect backward edge control flow integrity for low-end ARM Cortex-M microprocessors. BackFlow is implemented within the Clang/LLVM compiler and supports the ARM instruction set and its subset Thumb. The control flow integrity generated by the compiler relies on a bitmap, where each set bit indicates a valid pointer destination. The efficiency of the framework is benchmarked using an STM32 NUCLEO F446RE microcontroller. The obtained results show that the control flow integrity solution incurs an execution time overhead ranging from 1.5 to 4.5%. |
DOI | 10.23919/DATE48585.2020.9116396 |
Citation Key | bresch_backflow_2020 |