内核页表隔离

✍ dations ◷ 2025-12-06 08:37:51 #Linux内核功能,虚拟内存,X86架构

内核页表隔离(Kernel page-table isolation,缩写KPTI,也简称PTI,旧称KAISER)是Linux内核中的一种强化(英语:Hardening (computing))技术,旨在更好地隔离用户空间与内核空间的内存来提高安全性,缓解现代x86 CPU中的“熔毁”硬件安全缺陷。

KPTI补丁基于KAISER,它是一个用于缓解不太重要问题的早期补丁,当时业界还未了解到Meltdown的存在。

如果没有KPTI,每当执行用户空间代码(应用程序)时,Linux会在其分页表中保留整个内核内存的映射,并保护其访问。这样做的优点是当应用程序向内核发送系统调用或收到中断时,内核页表始终存在,可以避免绝大多数上下文交换相关的开销(TLB刷新、页表交换等)。

2005年,Linux内核采用了地址空间配置随机加载(KASLR)隐匿用户空间中的相关内核地址,增加了利用其他内核漏洞的难度。尽管阻止了对这些内核映射的访问,但在此后发现,现有的英特尔x86处理器(截至2017年12月)还存在着多处可能泄露这些内存位置的旁路攻击,可能绕过KASLR。AMD称其处理器不受这些攻击的影响,所以不需要KPTI作为缓解措施。

2018年1月,影响Intel x86处理器的熔毁漏洞被公布。KAISER补丁改为修复此问题,并更名为KPTI,因为新型攻击很类似,尽管更为严重。

KPTI通过完全分离用户空间与内核空间页表来解决页表泄露。支持进程上下文标识符(PCID)特性的x86处理器可以用它来避免TLB刷新,但即便如此,它依然有很高的性能成本。据KAISER原作者称,其开销为0.28%;一名Linux开发者称大多数工作负载下测得约为5%,但即便有PCID优化,在某些情况下开销高达30%。

KPTI在2018年早期被合并到Linux内核4.15版,并被反向移植到Linux内核4.14.11。Windows和macOS也发布了类似的更新。

使用内核启动选项“pti=off”可以部分禁用内核页表隔离。依规定也可对已修复漏洞的新款处理器禁用内核页表隔离。

相关

  • 量子量子光学(英语:Quantum optics)是物理学在1990年后成熟的新兴分支,是原子分子与光物理的一部分,也和冷原子物理紧密相连。与凝态物理、粒子物理学、宇宙学等其他成熟分支相比,在精
  • 贾克·莫诺雅克·吕西安·莫诺(Jacques Lucien Monod,1910年2月9日-1976年5月31日)是一位法国生物学家,出生于巴黎,他与弗朗索瓦·雅各布共同发现了蛋白质在转录作用中所扮演的调节角色,也就
  • 美国国家癌症研究所国家癌症研究所是美国政府为癌症研究和训练所设立的主要机构,也是美国国立健康研究院的其中一所。国家癌症研究中心是一个被联邦资助的研究与发展中心。该中心协调全国癌症计
  • 世俗化实证主义 · 反实证主义(英语:Antipositivism) 结构主义 · 冲突理论 中层理论 · 形式理论 批判理论人口 · 团体 · 组织(英语:Organizational theory) · 社会化 社会性
  • 吉瓦瓦特(符号:W)是国际单位制的功率单位。瓦特的定义是1焦耳/秒(1 J/s),即每秒钟转换,使用或耗散的(以安培为量度的)能量的速率。日常生活中更常用千瓦作为单位,1千瓦=1000瓦特,千瓦又可合
  • 锺台妹锺台妹(1911年10月1日-2008年10月9日),台湾客家文学家锺理和之妻。在锺理和的自传小说中,将锺台妹化名为平妹。锺台妹年轻时与锺理和相恋,两人虽无血缘关系,但因同姓,且女方年龄较长
  • 新罗马新罗马(希腊语:Νέα Ῥώμη,转写:Nea Romē,拉丁语:Nova Roma)是罗马皇帝君士坦丁在博斯普鲁斯海峡欧洲海岸建立的帝国新首都的名称,因此也被成为君士坦丁堡,君士坦丁堡的重建自3
  • 肖松尼人肖松尼(Shoshone)(i/ʃoʊˈʃoʊniː/ or i/ʃəˈʃoʊniː/) 是个曾经活跃于北美洲美国西部与墨西哥北部的大部族,分为三大部落;本族语言是肖松尼语。此语属犹他-阿兹提克语系
  • 海军舰队海军舰队(Naval fleet)是海军的高级作战兵力集团,有较固定的作战水域,担负某一战略方向海上作战任务的海军战略战役集团;通常是海军中最高级别的建制单位。海军舰队一般都以作战
  • 西瓜汁Citrullus vulgaris西瓜(学名:Citrullus lanatus),古称寒瓜,是葫芦科西瓜属的一种植物或其果实。原产于非洲,是一种双子叶开花植物,形状像蔓藤,叶子呈羽毛状。它所结出的果实是假果,