计算机应用 ›› 2016, Vol. 36 ›› Issue (7): 1852-1855.DOI: 10.11772/j.issn.1001-9081.2016.07.1852

• 网络空间安全 • 上一篇    下一篇

基于地址随机和段隔离的全局偏移表保护方法

林键1,2, 郭玉东1,2, 周少皇1,2   

  1. 1. 信息工程大学, 郑州 450001;
    2. 数学工程与先进计算国家重点实验室(信息工程大学), 郑州 450001
  • 收稿日期:2015-12-02 修回日期:2016-03-03 出版日期:2016-07-10 发布日期:2016-07-14
  • 通讯作者: 林键
  • 作者简介:林键(1989-),男,四川内江人,硕士研究生,主要研究方向:信息安全;郭玉东(1964-),男,河南太康人,教授,硕士,主要研究方向:操作系统、虚拟化;周少皇(1990-),男,河南郑州人,硕士研究生,主要研究方向:信息安全。

Protection method for global offset table based on address randomization and segment isolation

LIN Jian1,2, GUO Yudong1,2, ZHOU Shaohuang1,2   

  1. 1. Information Engineering University, Zhengzhou Henan 450001, China;
    2. State Key Laboratory of Mathematical Engineering and Advanced Computing (Information Engineering University), Zhengzhou Henan 450001, China
  • Received:2015-12-02 Revised:2016-03-03 Online:2016-07-10 Published:2016-07-14

摘要: 在可执行和可链接格式(ELF)的可执行程序中,存在一个全局偏移表(GOT),用于存放引用库函数的绝对地址,但是在Linux系统中,GOT解引用和GOT覆写是两种比较常用的漏洞利用方法。通过分析GOT的特性,提出并实现了基于地址随机和段隔离的GOT保护方法。通过修改Linux的可执行程序加载器,将与GOT有数据指向关系的节均加载到随机内存地址;同时使用段隔离技术,对GOT的代码引用的指令使用一个新的段寄存器进行间接引用。实验结果证明,该方法不仅能够有效地防御针对GOT的漏洞利用方法,而且性能损耗极低,只有平均2.9 ms的额外开销。

关键词: 全局偏移表保护, 地址随机, 段隔离, 全局偏移表解引用, 全局偏移表覆写

Abstract: In an Executable and Linkable Format (ELF) executable program, Global Offset Table (GOT) was used to store the absolute addresses of library functions. But in Linux operation system, GOT dereference and GOT overwrite are two common vulnerability exploit methods. Through analyzing the GOT feature, a protection method for GOT based on address randomization and segment isolation was proposed and implemented. With modifying the ELF loader program, all sections which pointed to the GOT were loaded into random memory addresses. Using segment isolation technology, all instructions with reference to GOT used a new segment register. The experimental results prove that the proposed method can not only defense against the exploit method of GOT effectively, but also has a very low cost of average 2.9 milliseconds.

Key words: Global Offset Table (GOT) protection, address randomization, segment isolation, GOT dereference, GOT overwrite

中图分类号: