SecGOT: Secure Global Offset Tables in ELF Executables

Chao Zhang, Lei Duan, Tao Wei, Wei Zou · Proceedings of the 2nd International Conference on Computer Science and Electronics Engineering (ICCSEE 2013) · 2013

Global Offset Table (GOT) is an important feature to support library sharing in Executable and Linkable Format (ELF) applications.The addresses of external modules' global variables and functions are runtime resolved and stored in the GOT and then are used by the program.If attackers tamper with the function pointers in the GOT, they can hijack the program's control flow and execute arbitrary malicious code.Current research pays few attentions on this threat (i.e.GOT hijacking attack).In this paper, we proposed and implemented a protection mechanism SecGOT to randomize the GOT at load time, and thus prevent attackers from guessing the GOT's position and tampering with the function pointers.SecGOT is evaluated against 101 binaries in the /bin directory for Linux.The results show that it introduced quite low load-time overhead and provides an effective protection against GOT hijacking attacks.

Read the paper · More papers on PaperTik