Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 217

Control-Flow Integrity

Was ist Control-Flow Integrity?

Control-Flow IntegrityControl-Flow Integrity (CFI) beschraenkt indirekte Aufrufe und Returns auf einen vorab berechneten Satz legitimer Ziele und blockiert ROP- bzw. JOP-Angriffe.


CFI wurde 2005 von Abadi, Budiu, Erlingsson und Ligatti formalisiert. Der Compiler erzeugt den Kontrollflussgraphen, weist jeder indirekten Aufrufstelle eine Menge erlaubter Ziele zu und instrumentiert Call- und Return-Stellen mit Laufzeitpruefungen. Praktische Umsetzungen sind LLVM CFI (typbasierte Bucket-IDs fuer Forward-Edges), Microsoft Control Flow Guard, Linux-Kernel CFI (kCFI) sowie hardware-gestuetzte Varianten wie Intel CET-IBT und Arm BTI fuer indirekte Spruenge plus Shadow Stack fuer Returns. CFI vereitelt klassisches ROP/JOP, weil Gadget-Ketten die erlaubten Kanten verletzen. Hauptbeschraenkungen bleiben grosse Aequivalenzklassen in C/C++ und inkompatible Schnittstellen.

Beispiele

  1. 01

    Microsoft Control Flow Guard blockt indirekte Aufrufe ueber manipulierte vtable in Edge.

  2. 02

    Der Linux-6.x-Kernel mit kCFI stoppt eine ROP-Kette in einer Treiberluecke.

Häufige Fragen

Was ist Control-Flow Integrity?

Control-Flow Integrity (CFI) beschraenkt indirekte Aufrufe und Returns auf einen vorab berechneten Satz legitimer Ziele und blockiert ROP- bzw. JOP-Angriffe. Es gehört zur Kategorie Anwendungssicherheit der Cybersicherheit.

Was bedeutet Control-Flow Integrity?

Control-Flow Integrity (CFI) beschraenkt indirekte Aufrufe und Returns auf einen vorab berechneten Satz legitimer Ziele und blockiert ROP- bzw. JOP-Angriffe.

Wie funktioniert Control-Flow Integrity?

CFI wurde 2005 von Abadi, Budiu, Erlingsson und Ligatti formalisiert. Der Compiler erzeugt den Kontrollflussgraphen, weist jeder indirekten Aufrufstelle eine Menge erlaubter Ziele zu und instrumentiert Call- und Return-Stellen mit Laufzeitpruefungen. Praktische Umsetzungen sind LLVM CFI (typbasierte Bucket-IDs fuer Forward-Edges), Microsoft Control Flow Guard, Linux-Kernel CFI (kCFI) sowie hardware-gestuetzte Varianten wie Intel CET-IBT und Arm BTI fuer indirekte Spruenge plus Shadow Stack fuer Returns. CFI vereitelt klassisches ROP/JOP, weil Gadget-Ketten die erlaubten Kanten verletzen. Hauptbeschraenkungen bleiben grosse Aequivalenzklassen in C/C++ und inkompatible Schnittstellen.

Wie schützt man sich gegen Control-Flow Integrity?

Schutzmaßnahmen gegen Control-Flow Integrity kombinieren typischerweise technische Kontrollen und operative Praktiken, wie in der Definition oben beschrieben.

Welche anderen Bezeichnungen gibt es für Control-Flow Integrity?

Übliche alternative Bezeichnungen: CFI, Control Flow Guard, kCFI.

Verwandte Begriffe

Siehe auch