Pointing in the Right Direction - Securing Memory Accesses in a Faulty World
Robert Schilling, Mario Werner, Pascal Nasahl, Stefan Mangard

TL;DR
This paper introduces a novel hardware-software countermeasure that protects memory accesses against address tampering attacks by encoding pointers with error detection codes and linking data with encoded addresses, demonstrated on a RISC-V FPGA.
Contribution
It presents a new method combining multi-residue encoded pointers and extended load/store instructions to secure memory accesses against faults, with practical implementation and evaluation.
Findings
Achieves 10% code size overhead and 7% runtime overhead.
Successfully implemented on RISC-V FPGA platform.
Automatically encodes pointers using modified LLVM compiler.
Abstract
Reading and writing memory are, besides computation, the most common operations a processor performs. The correctness of these operations is therefore essential for the proper execution of any program. However, as soon as fault attacks are considered, assuming that the hardware performs its memory operations as instructed is not valid anymore. In particular, attackers may induce faults with the goal of reading or writing incorrectly addressed memory, which can have various critical safety and security implications. In this work, we present a solution to this problem and propose a new method for protecting every memory access inside a program against address tampering. The countermeasure comprises two building blocks. First, every pointer inside the program is redundantly encoded using a multi-residue error detection code. The redundancy information is stored in the unused upper bits…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
