[发明专利]内核运行时随机化的装置和方法在审
| 申请号: | 201980096407.X | 申请日: | 2019-06-19 |
| 公开(公告)号: | CN113826098A | 公开(公告)日: | 2021-12-21 |
| 发明(设计)人: | 德米特里·卡萨特金 | 申请(专利权)人: | 华为技术有限公司 |
| 主分类号: | G06F21/52 | 分类号: | G06F21/52;G06F21/62;G06F21/79 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 518129 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 内核 运行 随机化 装置 方法 | ||
1.一种装置(100),其特征在于,包括耦合至非易失性存储器(104)和运行时内存(106)的处理器(102),所述处理器(102)用于:
从所述非易失性存储器(104)中读取链接可执行镜像(108)和随机化镜像(110),其中,所述链接可执行镜像(108)包括链接可执行程序,所述随机化镜像(110)包括符号表、重定位表和对象表中的一个或多个;
将所述链接可执行镜像(108)加载到所述运行时内存(106)中以生成运行时程序(112);
对所述运行时程序(112)进行运行时随机化以生成随机化运行时程序(118);以及
执行所述随机化运行时程序(118);
其中所述运行时随机化包括:
将所述运行时程序(112)的段(114)复制到临时位置(116),其中,所述复制的段包括多个可重定位对象;
根据所述多个可重定位对象的随机顺序,将所述多个可重定位对象中的每个可重定位对象写入所述运行时程序(118),生成随机化运行时程序(118);以及
对所述随机化运行时程序(118)执行重定位,其中,执行所述重定位包括更新符号表、重定位表、代码段和数据段中的一个或多个。
2.根据权利要求1所述的装置(100),其特征在于,所述处理器用于在复制所述段(114)后擦除所述段(114)。
3.根据前述权利要求中任一项所述的装置(100),其特征在于,所述段(114)包括多个段,所述多个段包括文本段和数据段中的一个或多个,所述处理器(102)用于将所述多个段复制到所述临时位置(116)。
4.根据前述权利要求中任一项所述的装置(100),其特征在于,所述链接可执行镜像(108)和所述随机化镜像(110)包括压缩数据,所述处理器(102)用于读取和解压所述压缩数据。
5.根据前述权利要求中任一项所述的装置(100),其特征在于,所述多个可重定位对象包括编译单元、函数和数据对象中的一个或多个,所述处理器(102)用于根据所述多个可重定位对象的随机顺序将所述多个可重定位对象中的每个可重定位对象写入所述随机运行时程序(118)。
6.根据权利要求1所述的装置(100),其特征在于,加载所述链接可执行镜像(108)包括:
生成随机偏移值;
根据所述随机偏移值加载所述运行时程序(112);以及
根据所述随机偏移值更新动态重定位表。
7.根据前述权利要求中任一项所述的装置(100),其特征在于,所述处理器(102)用于在启动加载器的上下文中执行所述运行时随机化。
8.根据前述权利要求中任一项所述的装置(100),其特征在于,所述随机化镜像(110)嵌入在所述链接可执行镜像(108)中,所述处理器(102)用于读取所述链接可执行镜像(108)和随机化镜像(110)。
9.根据前述权利要求中任一项所述的装置(100),其特征在于,所述运行时程序包括内核(112),所述处理器(102)用于在所述内核(112)的上下文中执行所述运行时随机化。
10.根据前述权利要求中任一项所述的装置(100),其特征在于,所述装置(100)包括移动通信设备。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980096407.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:夹合装置
- 下一篇:一种链路检测的方法、装置及相关设备





