多核环境中内核栈完整性保护技术研究
发布时间:2021-04-08 01:03
进程内核栈是操作系统管理进程、保证进程正常运行的重要数据内容之一,在完成进程切换以及用户态到内核态的特权级切换时发挥着保存和恢复进程上下文状态的重要作用。由于Linux等操作系统的设计,各个进程的内核栈并非互相隔离,这就为诸如Return-to-user和Return-to-schedule等攻击提供了条件,这些攻击给进程的正常执行以及系统安全带来了严重的威胁。因此,有一系列的工作旨在解决内核栈完整性保护的问题。多核环境提供了任务的并发能力,但是攻击者也能够攻击系统中正在运行的进程,这使得内核栈完整性保护的问题变得更加复杂。因此,本文主要研究:在多核环境中如何有效地为进程内核栈提供完整性保护。本文对此问题的难点和要点进行了研究和分析,针对以往工作的不足,给出了本文的多核环境内核栈完整性保护方案,对以往工作的安全性进行了增强。本文主要工作如下:1.总结了以往内核栈完整性保护的相关工作及其新需求。将相关工作分为对部分控制数据内容的保护、对整体内核栈的完整性保护两类,分析了这两类保护方案的工作原理及存在的缺陷。缺陷包括:保护的范围不足以及存在Stifling attack攻击的漏洞;尤其在多...
【文章来源】:南京大学江苏省 211工程院校 985工程院校 教育部直属院校
【文章页数】:70 页
【学位级别】:硕士
【部分图文】:
图2.2?SVA架构简图??
|?CPU?Exception?|?|?Device?A?|?|?Device?B?丨??图2.4?FINE-CFI中断处理流程[11]??如图2.4所不,FINE-CFI基于Hypervisor,在Hypervisor内构建中断信息??栈,当某个中断注要入到客户机时,FINE-CFI首先将被中断进程的CS/IP对push??到中断信息栈中,然后再由客户机的中断处理程序对此次中断进行处理。当客户??机执行iret指令返回中断时,FINE-CFI在iret指令前插入vmcall指令,客户机??8??
的处理器上,可以提高系统的并发能力。同时也为系统安全的研宄带来了新的问??题,因为恶意进程会对另一个核上正在运行普通进程发起攻击[20]。??如图2.5所示的是一种统一内存访问(Uniform?Memory?Access,UMA)的??结构简图,SMP系统中各个处理器访问同一个内存区块。运行在不同核上的进??程尽管有不同的虚拟地址空间,但是各虚拟地址空间最终会映射到同一物理内存??上,进程的代码及数据内容存储在同一物理内存中,各个核上正在运行的进程对??10??
本文编号:3124545
【文章来源】:南京大学江苏省 211工程院校 985工程院校 教育部直属院校
【文章页数】:70 页
【学位级别】:硕士
【部分图文】:
图2.2?SVA架构简图??
|?CPU?Exception?|?|?Device?A?|?|?Device?B?丨??图2.4?FINE-CFI中断处理流程[11]??如图2.4所不,FINE-CFI基于Hypervisor,在Hypervisor内构建中断信息??栈,当某个中断注要入到客户机时,FINE-CFI首先将被中断进程的CS/IP对push??到中断信息栈中,然后再由客户机的中断处理程序对此次中断进行处理。当客户??机执行iret指令返回中断时,FINE-CFI在iret指令前插入vmcall指令,客户机??8??
的处理器上,可以提高系统的并发能力。同时也为系统安全的研宄带来了新的问??题,因为恶意进程会对另一个核上正在运行普通进程发起攻击[20]。??如图2.5所示的是一种统一内存访问(Uniform?Memory?Access,UMA)的??结构简图,SMP系统中各个处理器访问同一个内存区块。运行在不同核上的进??程尽管有不同的虚拟地址空间,但是各虚拟地址空间最终会映射到同一物理内存??上,进程的代码及数据内容存储在同一物理内存中,各个核上正在运行的进程对??10??
本文编号:3124545
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3124545.html