FPGate: the Last Building Block for A Practical CFI Solution

Tao Wei,Chao Zhang,Zhaofeng Chen,Linlin Duan,László Szekeres,Stephen McCamant,Dawn Song
2012-01-01
Abstract:We propose and evaluate a new protection mechanism for indirect call and jump instructions in binaries, which we call FPGate. FPGate stops attacks targeting function pointers by limiting indirect transfers to only those targets that are legal in the original program. When deployed together with other existing lightweight protections, FPGate can provide a level of protection comparable to CFI (Control Flow Integrity), stopping almost all control-ow hijacking attacks including ROP. We observe that with the wide deployment of ASLR, Windows/x86 PE executables contain enough information in relocation tables which FPGate can use to nd all legal jump targets reliably,
What problem does this paper attempt to address?