跳至內容

核心頁表隔離

出自Taiwan Tongues 台語維基
於 2025年8月23日 (六) 07:42 由 TaiwanTonguesApiRobot留言 | 貢獻 所做的修訂 (從 JSON 檔案批量匯入)

(差異) ←上個修訂 | 已批准修訂 (差異) | 最新修訂 (差異) | 下個修訂→ (差異)

核心頁表隔離(Kernel page-table isolation,縮寫 KPTI,嘛簡稱 PTI,舊名 KAISER)是 Linux 核心中的一个強化技術,旨佇閣較好隔離使用者空間佮核心空間的記持體來提高安全性,緩解現代 x 八十六 CPU 中的「熔掉」硬體安全缺陷。

前身

KPTI 修補程式是因為 KAISER,伊是一个較冗咧解決無真重要問題的早期修補程式,彼个時陣業界猶未了解講 Meltdown 的存在矣。

你若是無 KPTI,每當執行使用者空間程式碼(應用程式)時,Linux 會佇其分頁表中保留規个核心記憶體的對映,而且保護其存取。按呢做的優點是做應用程式向核心傳送系統呼叫抑是收著斷節的時陣,核心頁表示終存在,會當避免絕大多數來上下文交換相關的開銷(TLB 閣整理過、頁表交換等)。

二空空五年,Linux 核心採用位址空間組態隨機載入(KASLR)引起使用者空間中相關的核心位址,增加利用其他核心漏洞的難度。雖然阻止了對遮的核心對映的存取,毋過佇遐發現,這馬英特爾 x 八十六處理器(節甲二空一七年十二月)猶閣佇咧足濟所在可能放屎尿遮的記持體位置的邊仔路攻擊,可能踅過 KASLR。AMD 講其處理器無受遮的攻擊的影響,所以無需要 KPTI 做伊的措施。

Meltdown 落空佮 KPTI

二空一八年一月,影響 Intel x 八十六位理器熔害去予人公布。KAISER 修補程式是改做修復這个問題,並且閣較名做 KPTI,因為新型攻擊足類似的,就算講閣較嚴重。

實現

KPTI 通過完全分離使用者空間佮核心空間頁表來解決頁表示泄露。支援處理程序上下文識別碼(PCID)特性的 x 八十六處理器會當用伊來避免 TLB 閣整理過,但是就算講遮,伊猶原有足懸的效能成本。根據 KAISER 原作者稱,其開銷替百分之空抹二八;一名 Linux 開發者稱大多數工作負載下測得欲百分之五,但是就算講有 PCID 最佳化,佇某一寡狀況下開銷有到百分之三十。

KPTI 佇二空一八年早期予人敆牢咧 Linux 核心四配一五版,嘛去予人反向徙栽去到 Linux 核心四配一四 . 十一。Windows 和 macOS 嘛發佈講類似的更新。

使用核心啟動選項「pti=off」會當部份禁用核心頁表隔離。依規定嘛會當對已經修復漏洞的新款處理器禁用核心頁表隔離。

參見

  • 熔掉 ( 安全漏洞 )
  • 幽靈 ( 安全漏洞 )
  • 衝拚浮點除錯誤

參考文獻

外部連結

  • 英特爾陷晶片安全問題捲渦 \ _ 新湧網(簡體中文)
  • KPTI documentation patch(英文)