[发明专利]基于多内核页表的内核动态数据隔离以及保护技术在审
申请号: | 201710345654.1 | 申请日: | 2017-05-12 |
公开(公告)号: | CN107168801A | 公开(公告)日: | 2017-09-15 |
发明(设计)人: | 吕腾飞;黄皓 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F21/62;G06F12/1027 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 210023 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 内核 动态 数据 隔离 以及 保护 技术 | ||
1.一种基于多内核页表的内核动态数据隔离以及保护技术。其特征在于:多内核页表的构建,支持分配来源标识以实现动态分配内存隔离的内存分配器构建,多内核页表交叉访问引发的缺页异常的处理。
2.根据权利要求1所述的一种基于多内核页表的内核动态数据隔离以及保护技术,主要包含如下几个部分:
(2-1)多内核页表的构建:首先在内核页表初始化的时候构建多套内核态页表,同时在内核中加入适当的内核态页表切换逻辑使得内核运行在保证自身正确性的最小内存视图之上,这多套内核态页表的本质作用就是在内核中构建多个内存视图;
(2-2)支持分配来源标识以实现动态分配内存隔离的内存分配器构建:修改内存分配器,增加新的内存分配管理结构。同时,当内核运行中申请内存时,根据内存分配标志修改各个内核态页表中对应的页表项的_PAGE_PRESENT属性,从而将新分配的内存对应到目标页表中;
(2-3)多内核页表交叉访问引发的缺页异常的处理:增加新的内核态缺页处理逻辑,用于处理内核访问当前页表下不可见内存区域而造成的内核态缺页异常。
3.根据权利要求2所述的一种基于多内核页表的内核动态数据隔离机制,其特征在于,多套内核态页表初始化时期建立的是一种一致性的内存映射关系。对于内核虚拟地址空间中直接映射区域,使用不同的内核页表页,以便后期在内存分配的过程中在这多套内核页表中构建差异性内存访问权限,从而实现动态数据的隔离。对于内存空间中的其他区域,则可以通过共享低层页表页的方式实现映射关系的共享。多套内核页表初始化过程如下:
(3-1)定义多套内核态页表的名称并分配页表页所需内存;
(3-2)初始化这多套内核页表之间的关系,初始化时期在这多套内核态页表中建立一致性的内存映射关系。对于内核直接映射区域,使用不同的内核页表页建立一致的内存映射关系。对于内核其他虚拟地址区域,通过共享低层页表页的方式建立一致性的映射关系,其中vmalloc区域比较特殊,因为该区域页表项使用惰性更新的方式进行同步,因此需要在缺页异常中增加对于多套内核态页表的vmalloc区域的页表项同步逻辑。
4.根据权利要求2所述的一种基于多内核页表的内核动态数据隔离以及保护技术,其特征在于,所使用的内存分配器包括SLUB内存分配器和伙伴系统。为了使得当前的SLUB能够实现页粒度的内存可见性限定,我们需要为每套内核态页表实现自身特定的一组SLUB缓存管理结构,辅之以内存分配标志,来实现内存页可见性的限定。因为SLUB底层调页时仍然是通过伙伴系统的接口,而对于SLUB而言,我们限定可见性的实现点就是在调页时。因此对于页表项_PAGE_PRESENT属性的设定可以汇集到伙伴系统中实现,在伙伴系统中分配内存的过程如下:
(4-1)内核调用伙伴系统的内存分配接口;
(4-2)伙伴系统根据内核中物理内存的管理数据进行内存分配,如果分配成功,则通过分析分配标志参数的设定,来将当前分配内存的可见性设置到相应的内核态页表中,完成内存可见性的限定。
5.根据权利要求2所述的一种基于多内核页表的内核动态数据隔离以及保护技术,其特征在于,我们通过在内核中引入合适的内核态页表切换逻辑来保证内核的正确运行。但是当内核运行过程中,可能因为自身实现或者外界因素干扰,而访问了当前内核态页表之外的内存,则此时因为对应位置的页表项没有设置_PAGE_PRESENT属性位,则触发缺页异常。缺页异常中判定异常原因,如果是因为上述原因,则采取一定的响应措施进行处理。可以采取的动作有:宕机或重启;同时利用审计系统的接口来记录发生的该事件等等。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710345654.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种内存分配方法及装置
- 下一篇:一种云存储中小文件的合并方法及装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置