[发明专利]基于多内核页表的内核动态数据隔离以及保护技术在审

专利信息
申请号: 201710345654.1 申请日: 2017-05-12
公开(公告)号: CN107168801A 公开(公告)日: 2017-09-15
发明(设计)人: 吕腾飞;黄皓 申请(专利权)人: 南京大学
主分类号: G06F9/50 分类号: G06F9/50;G06F21/62;G06F12/1027
代理公司: 暂无信息 代理人: 暂无信息
地址: 210023 江苏*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 内核 动态 数据 隔离 以及 保护 技术
【说明书】:

技术领域

发明涉及Linux内核隔离和防护领域,特别是一种基于多内核页表的内核动态数据隔离以及保护技术。

背景技术

Linux是目前在计算机操作系统上运行越来越快,越来越强大的内核之一。基于Linux内核也已经涌现出了大量的发行版,无论是在服务器还是客户端中都占有着举足轻重的地位。同时,Linux也是一个庞大的开源项目,本身包含千万级别的代码量,甚至该数量仍然在不断扩充。更多的代码意味着更多的漏洞。不仅如此,Linux系统本身还具有很高的可扩展性和灵活性,允许通过插入模块的方式向内核中增加代码,这在进一步增加了Linux代码量的同时,不可信的模块插入也对于系统运行造成很大的风险,导致系统变得更加不安全。虽然我们通常将Linux认为是系统运行中的可信软件,但是仍然需要承认其中存在不可避免的不可信问题。而这些不可信因素通常也给了攻击者可乘之机,被用来获取系统root权限、窃取系统机密信息或者修改系统关键数据等等。

针对内核的不可信问题,存在着大量的研究方向。内核隔离作为其中的一个重要方向得到广泛的研究,其中通过页表构建独立执行空间的思想得到广泛的应用。但是当前基于页表的隔离实现中存在一个普遍的问题:小动态数据的混合页问题。无论是通过Hypervisor页表实现隔离还是通过Linux内核页表实现内核组件的隔离,隔离后的Linux主内核和被隔离组件的小内存数据通常存在混合分布的情况,导致无法利用页粒度的保护对于不同来源的小内存空间进行限制,而通常对于这些混合页面需要引入额外的控制机制,带来很大的空间和时间上的开销。

发明内容

针对以上现有技术中的不足,本发明的目的在于提供一种内核不同来源的动态数据隔离和保护技术。避免来自不同来源的小动态数据混合分布在同一组页框中的情况。从而便于实现隔离不同来源的动态数据的需求,解决内核隔离中常见的动态数据混合页的问题。同时进一步提出了一种通过多内核态页表在内核运行过程中为内核不同来源的动态数据构建隔离空间的方法。通过在内核空间建立多套内核页表,从而在内核空间构建多个内存视图。内核运行过程中通过切换页表的方式实现不同内存视图的迁移。

内核的正常运行需要代码和数据之间的协作。通过将内核不同组件的动态数据隔离到不同的内存视图中,可以对于内核运行在特定组件时能够访问的内存区域进行限制。内核仅仅可以访问当前使用的内核页表限定为可见的内存位置,而无法直接访问当前内存视图中不可见的内存。从而防止内核运行过程中的不可信行为对于任意内核内存区域的破坏。

本发明的技术方案如下:一种基于多内核态页表实现的内核动态数据隔离和保护方法,主要包含以下三个部分:

1)多内核页表的构建:用于在内核空间中通过这多套内核态页表构建多个内存视图。内核运行在特定内核页表构建的内存视图下的时候不能访问当前内核页表中被设置为不可见的内存空间,从而限制内核此时能够访问的内存空间范围。

2)支持分配来源标识以实现动态分配内存隔离的内存分配器构建:通过分配来源标志判定分配请求来源,然后将不同来源的动态内存在不同的内核页表中设置不同的访问权限,使得只有在特定的内核页表的作用下才能完成对于该内存区域的正常访问。

3)多内核页表交叉访问引发的缺页异常的处理:如果内核运行过程中有意或者无意地访问了当前内核页表作用下不可见的内存空间,则会触发内核态缺页异常,通过在缺页异常处理函数中增加额外的逻辑对于该情况进行处理。

进一步,可以将上面的三个部分归结为如下的实现步骤:

步骤1:在系统初始化的时候建立多套内核态页表。初始化时期在这多套内核态页表建立一致性的映射关系。对于内核空间中的直接映射区域将映射关系建立在不同的内核页表页上以便于后期的权限差异化设置,对于内核空间的其他区域,则通过共享低层页表页的方式建立一致性的映射,因为动态数据的隔离不需要对于除了直接映射区域之外的其它空间的页表项进行设置。每个页表用于构建一个相对隔离的内存环境。使用页表的好处就是地址翻译过程构建在其基础之上,内核运行过程中通过内核态页表来完成虚拟地址到物理地址的转换。通过限制内核态页表中页表项的_PAGE_PRESENT属性,就可以使得内核运行在某套内核态页表的时候只能看到部分内存视图。而这个部分内存视图则构成内核当前运行的一个受限的环境。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710345654.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top