TyPro: Forward CFI for C-Style Indirect Function Calls Using Type Propagation

5Citations
Citations of this article
6Readers
Mendeley users who have this article in their library.
Get full text

Abstract

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). We present TyPro, a Clang-based forward CFI scheme based on type propagation. TyPro uses static analysis to follow function pointer types through C programs, and can determine the possible target functions for indirect calls at compile time with high precision. TyPro does not underestimate possible targets and does not break real-world programs, including those relying on dynamically-loaded code. TyPro has no runtime overhead on average and does not depend on architecture or special hardware features.

Cite

CITATION STYLE

APA

Bauer, M., Grishchenko, I., & Rossow, C. (2022). TyPro: Forward CFI for C-Style Indirect Function Calls Using Type Propagation. In ACM International Conference Proceeding Series (pp. 346–360). Association for Computing Machinery. https://doi.org/10.1145/3564625.3564627

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free