Litcius/Paper detail

FastCFI: Real-time Control-Flow Integrity Using FPGA without Code Instrumentation

Lang Feng, Jeff Huang, Jiang Hu, Abhijith Reddy

2021ACM Transactions on Design Automation of Electronic Systems14 citationsDOIOpen Access PDF

Abstract

Control-Flow Integrity (CFI) is an effective defense technique against a variety of memory-based cyber attacks. CFI is usually enforced through software methods, which entail considerable performance overhead. Hardware-based CFI techniques can largely avoid performance overhead, but typically rely on code instrumentation, forming a non-trivial hurdle to the application of CFI. Taking advantage of the tradeoff between computing efficiency and flexibility of FPGA, we develop FastCFI, an FPGA-based CFI system that can perform fine-grained and stateful checking without code instrumentation. We also propose an automated Verilog generation technique that facilitates fast deployment of FastCFI, and a compression algorithm for reducing the hardware expense. Experiments on popular benchmarks confirm that FastCFI can detect fine-grained CFI violations over unmodified binaries. When using FastCFI on prevalent benchmarks, we demonstrate its capability to detect fine-grained CFI violations in unmodified binaries, while incurring an average of 0.36% overhead and a maximum of 2.93% overhead.

Topics & Concepts

Computer scienceOverhead (engineering)Field-programmable gate arrayInstrumentation (computer programming)Embedded systemControl flowFlexibility (engineering)Code (set theory)Computer hardwareReal-time computingOperating systemSet (abstract data type)StatisticsProgramming languageMathematicsSecurity and Verification in ComputingAdvanced Malware Detection TechniquesPhysical Unclonable Functions (PUFs) and Hardware Security
FastCFI: Real-time Control-Flow Integrity Using FPGA without Code Instrumentation | Litcius