发明名称 基于地址随机和段隔离的全局偏移表保护方法
摘要 本发明涉及一种基于地址随机和段隔离的全局偏移表保护方法,包含:加载ELF程序,随机申请内存空间,将ELF节段内容进行拷贝并赋予新的节段名称,加载字段PT_DYNAMIC;对该内存空间创建段描述符,选择空闲的段寄存器,将段描述符加载到该段寄存器中;修改程序表头及内存空间中的节段内容,并修改.plt节中的代码;初始化动态链接器,修改程序表头段内容,隐藏.dynamic节所在地址。本发明增加随机化处理,反汇编代码获得GOT表地址,在不知道段寄存器段基地址情况下,无法计算出GOT表的地址,让对原来固定的GOT表地址进行恶意代码劫持攻击失效,对尝试读取固定内存地址并计算出GOT表地址的方法恶意攻击失效。
申请公布号 CN105095762A 申请公布日期 2015.11.25
申请号 CN201510463850.X 申请日期 2015.07.31
申请人 中国人民解放军信息工程大学;上海红神信息技术有限公司 发明人 林键;郭玉东;周少皇;何红旗;董卫宇;王立新;蔄羽佳
分类号 G06F21/56(2013.01)I 主分类号 G06F21/56(2013.01)I
代理机构 郑州大通专利商标代理有限公司 41111 代理人 陈大通
主权项 一种基于地址随机和段隔离的全局偏移表保护方法,其特征在于:包含如下步骤:步骤1.ELF程序完成加载后,随机申请内存空间,并将ELF节段内容拷贝到该内存空间中,赋予新的节段名称,在ELF程序表头中定义加载字段PT_DYNAMIC,用于描述.dynamic节的信息;步骤2.对步骤1中随机申请的内存空间创建段描述符,选择一个空闲的段寄存器作为特殊段寄存器,将段描述符加载到该特殊段寄存器中;步骤3.修改程序表头及步骤1中赋予新的节段名称的节段内容,使之满足ELF中节段的指向关系,并修改.plt节中的代码,使其通过特殊段寄存器访问GOT表;步骤4.初始化动态链接器,修改程序表头中PT_DYNAMIC段内容,并隐藏.dynamic节所在地址。
地址 450052 河南省郑州市高新区科学大道62号