CFIghter: Automated Control-Flow Integrity Enablement and Evaluation for Legacy C/C++ Systems
Sabine Houy, Bruno Kreyssig, Alexandre Bartel

TL;DR
CFIghter is an automated system that enables strict, type-based control-flow integrity in large C/C++ projects by automatically repairing violations, making deployment of CFI practical for complex, real-world software.
Contribution
It introduces CFIghter, the first fully automated tool that detects, classifies, and repairs CFI violations in large C/C++ codebases without manual source modifications.
Findings
Resolves all build errors related to visibility issues.
Automatically repairs 95.8% of CFI violations in large codebases.
Maintains strict CFI enforcement at over 89% of indirect control-flow sites.
Abstract
Compiler-based Control-Flow Integrity (CFI) offers strong forward-edge protection but remains challenging to deploy in large C/C++ software due to visibility mismatches, type inconsistencies, and unintended behavioral failures. We present CFIghter, the first fully automated system that enables strict, type-based CFI in real-world projects by detecting, classifying, and repairing unintended policy violations exposed by the test suite. CFIghter integrates whole-program analysis with guided runtime monitoring and iteratively applies the minimal necessary adjustments to CFI enforcement only where required, stopping once all tests pass or remaining failures are deemed unresolvable. We evaluate CFIghter on four GNU projects. It resolves all visibility-related build errors and automatically repairs 95.8% of unintended CFI violations in the large, multi-library util-linux codebase, while…
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.
Taxonomy
TopicsSecurity and Verification in Computing · Advanced Malware Detection Techniques · Software Testing and Debugging Techniques
