Analyzing Control Flow Integrity with LLVM-CFI
Paul Muntean, Matthias Neumayer, Zhiqiang Lin, Gang Tan, Jens, Grossklags, and Claudia Eckert

TL;DR
This paper introduces LLVM-CFI, a static analysis framework that systematically evaluates and compares the security effectiveness of various static CFI protections on real-world programs.
Contribution
It provides a unified, precise analysis method for assessing residual attack surfaces of different CFI policies, aiding in security evaluation and improvement.
Findings
LLVM-CFI accurately models CFI policies and evaluates their security levels.
It ranks CFI protections based on residual attack surfaces.
The framework reveals protected calltargets and potential attack vectors.
Abstract
Control-flow hijacking attacks are used to perform malicious com-putations. Current solutions for assessing the attack surface afteracontrol flow integrity(CFI) policy was applied can measure onlyindirect transfer averages in the best case without providing anyinsights w.r.t. the absolute calltarget reduction per callsite, and gad-get availability. Further, tool comparison is underdeveloped or notpossible at all. CFI has proven to be one of the most promising pro-tections against control flow hijacking attacks, thus many effortshave been made to improve CFI in various ways. However, there isa lack of systematic assessment of existing CFI protections. In this paper, we presentLLVM-CFI, a static source code analy-sis framework for analyzing state-of-the-art static CFI protectionsbased on the Clang/LLVM compiler framework.LLVM-CFIworksby precisely modeling a CFI policy and then evaluating…
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.
