[发明专利]在操作系统内核的隔离地址空间中执行系统调用在审
申请号: | 202080029768.5 | 申请日: | 2020-05-15 |
公开(公告)号: | CN113711182A | 公开(公告)日: | 2021-11-26 |
发明(设计)人: | M·拉波波特;J·K·尼德尔;J·巴特利 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/4401 | 分类号: | G06F9/4401 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 姚杰 |
地址: | 美国纽*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 操作系统 内核 隔离 地址 空间 执行 系统 调用 | ||
本系统和方法的实施例可以通过在专用地址空间中执行系统调用以减少对恶意应用可见并因此可由恶意应用利用的共享资源的量来在操作系统内核本身内部提供附加的安全机制。例如,在实施例中,一种在计算机中实现的方法,该计算机可包括处理器、可由处理器访问的存储器以及存储在存储器中且可由处理器执行的计算机程序指令,该方法可以包括:当用户进程进行系统调用时,切换到内核模式,并使用用于用户进程的系统调用页表以执行系统调用处理程序,当系统调用处理程序尝试访问未映射的内核空间存储器时,生成页错误,以及通过确定是否允许对未映射内核空间存储器的尝试访问来处理页错误。
背景技术
本发明涉及通过在专用地址空间中执行系统调用以减少对恶意应用可见并因此可由恶意应用利用的共享资源的量来在操作系统内核本身内部提供附加安全机制的技术。
系统调用是暴露于用户空间应用的操作系统(诸如Linux)的内核应用二进制接口(ABI)的重要部分。当执行系统调用时,从无特权模式(例如,x86上的环-3)到超级用户模式(例如,x86上的环-0)的CPU转换以及在系统调用执行期间调用的例程具有最高特权级别,因此具有访问和修改系统资源的能力。恶意用户空间应用可利用系统调用实现中的漏洞来获得对这些系统资源的访问并导致系统崩溃、读取敏感信息或获得超级用户特权。
微内核通过最小化在超级用户模式中运行的代码的量并且在隔离的地址空间中以用户特权执行大多数操作系统服务来避免特权状态的广泛暴露。微内核方法的主要缺点是与进程间通信相关联的性能成本以及系统的不同组件之间的接口的复杂性。
作为Meltdown漏洞的缓解,完全隔离用户和内核地址空间的页表隔离(PTI)机制被添加到Linux内核。然而,即使对于PTI,整个内核代码也共享相同的地址空间,并且任何系统调用处理程序中的开发使得整个系统易受攻击。
因而,出现了对在操作系统内核本身内部提供附加安全机制的技术的需要。
发明内容
本系统和方法的实施例可以通过在专用地址空间中执行系统调用来减少对恶意应用可见并因此可由恶意应用利用的共享资源的量来在操作系统内核本身内部提供附加的安全机制。
在实施例中,当用户空间应用执行系统调用时,内核条目代码可以选择适合于该特定系统调用的执行的地址空间。如果系统调用的执行尝试访问该地址空间之外的存储器,则发生页错误。页错误处理程序可以验证所请求的存储器范围是否被允许由系统调用处理程序例程访问,并且如果是,则可以将这个范围添加到专用地址空间。在系统调用完成时,可以将地址空间定义恢复到初始。
例如,在实施例中,一种在计算机中实现的方法,该计算机可包括处理器、可由处理器访问的存储器以及存储在存储器中且可由处理器执行的计算机程序指令,该方法可以包括:当用户进程进行系统调用时,切换到内核模式,并使用用于用户进程的系统调用页表以执行系统调用处理程序,当系统调用处理程序尝试访问未映射的内核空间存储器时,生成页错误,以及通过确定是否允许对未映射内核空间存储器的尝试访问来处理页错误。
在实施例中,计算机系统操作系统可以是Linux操作系统。系统调用页表可以包括允许内核代码的执行和对内核数据的访问的多个内核空间地址范围。系统调用页表可以通过以下方式来创建:创建模板系统调用页表,模板系统调用页表包括在执行系统调用时执行到内核模式的条目所需的内核代码和数据的映射、具有到系统调用处理程序的指针的表、以及每个系统调用处理程序的条目代码,当创建用户进程时,在进程状态表示中为用户进程创建模板系统调用页表的副本,并且用用户空间映射连同原始模板一起填充每进程条目页表,以及当确定允许页错误时,添加允许尝试访问内核空间存储器的系统调用处理程序的执行的内核空间地址范围的映射。所述方法可以进一步包括:当确定不允许页错误时,终止对做出尝试访问内核空间存储器的系统调用的用户进程的执行。所述方法可以进一步包括:当系统调用处理程序的执行结束时,移除在系统调用处理程序的执行期间添加的内核空间地址范围的映射。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202080029768.5/2.html,转载请声明来源钻瓜专利网。