内核页表隔离

✍ dations ◷ 2025-10-24 14:27:08 #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”可以部分禁用内核页表隔离。依规定也可对已修复漏洞的新款处理器禁用内核页表隔离。

相关

  • 脑血管疾病脑血管疾病(英语:Cerebrovascular disease)包含所有影响脑血管和脑部血液循环(英语:cerebral circulation)的医学症状疾病。脑血管疾病的常见病征为供应脑部氧气和养分的动脉受损(
  • 广州医学院广州医科大学简称广医,其始建于1958年,是一所以培养高等医学人才为目的,以医学为优势和特色的全日制高等医科院校。广医下设16个学院,8所直属附属医院和10所非直属附属医院,19个
  • 恐水狂犬病(拉皮斯病,俗称疯狗症,字根来自拉丁语:rabies,意为“疯狂”)是一种由狂犬病病毒引起之人畜共患病,可于恒温动物身上造成严重脑炎。没有接受疫苗免疫的感染者,当神经症状出现后
  • 邹志刚邹志刚(1955年3月-),生于天津,籍贯山东黄县,中国材料学专家,从事能源与环境材料方面的研究。1982年毕业于天津大学,1986年取得该校硕士学位,1996年取得东京大学博士学位。担任南京大
  • 王佛松王佛松(1933年5月23日-),广东省兴宁市人。1955年毕业于武汉大学化学系,中国高分子化学家,中国科学院院士,曾任中国科学院副院长。
  • LoveLive!LoveLive! School idol project(日语:ラブライブ! School idol project)是由日本动画公司日昇动画、唱片公司Lantis、以及ACG月刊杂志《电击G's magazine》共同合作推出的读者
  • 北美鲶科Ameiurus Astephus † Ictalurus Noturus, Prietella Pylodictis Satan Trogloglanis北美鲇科是辐鳍鱼纲鲇形目的一个科。北美鲇科下分7个属,如下:
  • 刘震云刘震云(1958年5月-),河南延津人,中国当代作家。现为《农民日报》社编委、中国作家协会全国委员会委员、北京市青联委员、一级作家。其妻是律师郭建梅。2011年,刘震云凭借《一句顶
  • 4f14 5d2 6s2 2, 8, 18, 32, 10, 2蒸气压 第一:658.5 kJ·mol−1 第二:1440 kJ·mol−1 主条目:铪的同位素 .mw-parser-output ruby.zy{text-align:justify;text-justify:none
  • 哈马丹省哈马丹省(波斯语:استان همدان)是伊朗三十一个省份之一。面积19,547里,在所有省份中排行第23。人口约1,738,700(2005年数据);首府位于哈马丹市。哈马丹坦省位于伊朗西