References:
CFI 1 2 3 4 5 is shown to be ineffective 6 7 8.
Transactions on Information Forensics and Security, 6(4):1404–1417, Dec. 2011.
References: Code-Pointer Integrity Goal Guarantees the integrity of all code pointers in a program, e.g. function pointers, saved return addresses), and thereby prevents all control-flow hijack attacks, including return-oriented programming. Challenges Hard to make Low level languages safe (C/C++) while preserving their benefits including performance and flexible programming patterns. Data execution prevention(DEP): return-to-libc [^c37] attack, ROP[^c44] [^c8], Turning-complete computations. Address Space Layout Randomization (ASLR): defeated by pointer leaks, side channel attacks [^c22], and just-in-time code reuse attacks [^c45].
If you could revise
the fundmental principles of
computer system design
to improve security...
... what would you change?