计算机应用 ›› 2016, Vol. 36 ›› Issue (7): 1852-1855.DOI: 10.11772/j.issn.1001-9081.2016.07.1852
林键1,2, 郭玉东1,2, 周少皇1,2
LIN Jian1,2, GUO Yudong1,2, ZHOU Shaohuang1,2
摘要: 在可执行和可链接格式(ELF)的可执行程序中,存在一个全局偏移表(GOT),用于存放引用库函数的绝对地址,但是在Linux系统中,GOT解引用和GOT覆写是两种比较常用的漏洞利用方法。通过分析GOT的特性,提出并实现了基于地址随机和段隔离的GOT保护方法。通过修改Linux的可执行程序加载器,将与GOT有数据指向关系的节均加载到随机内存地址;同时使用段隔离技术,对GOT的代码引用的指令使用一个新的段寄存器进行间接引用。实验结果证明,该方法不仅能够有效地防御针对GOT的漏洞利用方法,而且性能损耗极低,只有平均2.9 ms的额外开销。
中图分类号: