[发明专利]基于地址随机和段隔离的全局偏移表保护方法有效
申请号: | 201510463850.X | 申请日: | 2015-07-31 |
公开(公告)号: | CN105095762B | 公开(公告)日: | 2017-10-10 |
发明(设计)人: | 林键;郭玉东;周少皇;何红旗;董卫宇;王立新;蔄羽佳 | 申请(专利权)人: | 中国人民解放军信息工程大学;上海红神信息技术有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 郑州大通专利商标代理有限公司41111 | 代理人: | 陈大通 |
地址: | 450052 河*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 地址 随机 隔离 全局 偏移 保护 方法 | ||
1.一种基于地址随机和段隔离的全局偏移表保护方法,其特征在于,包含如下步骤:
步骤1.ELF程序完成加载后,随机申请内存空间,并将ELF节段内容拷贝到该内存空间中,赋予新的节段名称,在ELF程序表头中定义加载字段PT_DYNAMIC,用于描述.dynamic节的信息;
步骤2.对步骤1中随机申请的内存空间创建段描述符,选择一个空闲的段寄存器作为特殊段寄存器,将段描述符加载到该特殊段寄存器中;
步骤3.修改程序表头及步骤1中赋予新的节段名称的节段内容,使之满足ELF中节段的指向关系,并修改.plt节中的代码,使其通过特殊段寄存器访问GOT表;
步骤4.初始化动态链接器,修改程序表头中PT_DYNAMIC段内容,并隐藏.dynamic节所在地址。
2.根据权利要求1所述的基于地址随机和段隔离的全局偏移表保护方法,其特征在于:所述步骤1中随机申请内存空间并将ELF节段内容拷贝到该内存空间中具体包含随机地按需申请至少三页内存空间,包含可读可执行页、只可读页和可读可写页,其中,.plt拷贝到可读可执行页中,记为.new.plt;.rel.plt拷贝到只可读页中,记为.new.rel.plt;.dynamic和.got.plt拷贝到可读可写页中,并分别记为.new.dynamic和.new.got.plt。
3.根据权利要求1所述的基于地址随机和段隔离的全局偏移表保护方法,其特征在于:步骤1中将ELF节段内容拷贝到该内存空间中,赋予新的节段名称具体包含:将.plt、.rel.plt、.dynamic、.got.plt节的内容拷贝到该内存空间中,并分别标记为.new.plt、.new.rel.plt、.new.dynamic、.new.got.plt,其中.plt为过程链接表,通过jmp指令对GOT表进行引用,.rel.plt包含与过程链接表相关联的重定向地址,.dynamic用于提供动态链接器所需信息,.got.plt用于记录全局函数符号的目的地址。
4.根据权利要求1所述的基于地址随机和段隔离的全局偏移表保护方法,其特征在于:所述步骤3中ELF中节段的指向关系具体为ELF文件头指向ELF程序表头内存位置,ELF程序表头指向加载字段PT_DYNAMIC内存位置,
加载字段PT_DYNAMIC指向.got.plt、.rel.plt的内存位置,通过.got.plt中的第一个函数初始值计算.plt内存位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军信息工程大学;上海红神信息技术有限公司,未经中国人民解放军信息工程大学;上海红神信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510463850.X/1.html,转载请声明来源钻瓜专利网。