Visible to the public BackFlow: Backward Edge Control Flow Enforcement for Low End ARM Microcontrollers

TitleBackFlow: Backward Edge Control Flow Enforcement for Low End ARM Microcontrollers
Publication TypeConference Paper
Year of Publication2020
AuthorsBresch, C., Lysecky, R., Hély, D.
Conference Name2020 Design, Automation Test in Europe Conference Exhibition (DATE)
KeywordsARM 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
AbstractThis 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%.
Citation Keybresch_backflow_2020