基于Linux内核页表构建内核隔离空间的研究及实现

来源 :南京大学 | 被引量 : 0次 | 上传用户:liushuaimin
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在现代操作系统中,内核作为整个系统的可信基运行在最高特权层,为上层应用程序提供系统服务。同时内核中存在着大量的漏洞和错误,它们经常被攻击者利用来对内核进行恶意操作。考虑到内核的重要性以及内核固有的脆弱性,如何提升内核运行时的可信性和安全性一直是系统安全领域的一个重要研究课题。内核隔离作为内核保护的一个重要研究方向得到广泛的研究,其中通过页表构建独立执行空间的思想得到广泛的应用。但是当前基于页表的隔离实现中存在一个普遍的问题:不同来源的小动态数据的混合页。动态数据混合页是指来自于不同请求来源的动态对象分布在同一个物理页框之上。基于页表的隔离实现中,内存访问控制的粒度为页。动态数据混合页的存在导致需要对于这些内存页的访问需要额外的访问控制,从而带来了额外的开销。本文的主要贡献和创新包括:(1)提出了一种使用标识内存分配请求来源的动态内存分配器解决小动态数据混合页问题的方法。通过将不同来源的动态数据分配到不同的物理页框之上,便于实现页粒度的访问控制。(2)研究并实现了基于上述动态内存分配器和Linux内核页表为内核不同组件的动态数据构建隔离空间的方法,从而实现内核组件之间动态数据的相互隔离,避免运行过程中内核组件之间动态数据的相互干扰。(3)基于现有的Linux内核页表的隔离实现,本文介绍了将特定内核组件的静态数据隔离到单独的Linux内核页表中的方法。通过这种方式,可以利用内核页表实现内核静态数据的访问控制。
其他文献
随着信息技术的普及,网络技术的高速发展,教育的网络化、信息化已成为不争的事实。如何充分发挥网上学习的优势,设计开发适合远程开放教育模式下的学习支持服务系统是远程开放教
作为宇宙间所有事物具有的一种属性,时间一直贯穿着事物的发展过程。人们不仅仅关注数据和信息本身,同时也考虑事务处理的时序、有效性等时态问题。本文目的在于应用面向对象的