TyPro: Forward CFI for C-Style Indirect Function Calls Using Type Propagation
Markus Bauer, Ilya Grishchenko, Christian Rossow · 2022
Maliciously-overwritten function pointers in C programs often lead to arbitrary code execution. In principle, forward CFI schemes mitigate this problem by restricting indirect function calls to valid call targets only. However, existing forward CFI schemes either depend on specific hardware capabilities, or are too permissive (weakening security guarantees) or too strict (breaking compatibility).