自 Linux 5.18 以來,英特爾在主線內核中提供了間接分支跟踪 (IBT),作為其控制流執行技術 (CET) 的一部分。對於 Linux 6.4,英特爾工程師試圖將 Shadow Stack 支持作為 CET 的另一部分作為主線,但在最後一刻才發現問題。希望 Shadow Stack 支持將合併到 v6.5 週期,但除了主機支持之外,英特爾工程師還一直致力於 CET 虛擬化,以便在虛擬機中啟用這些安全功能。
今天是英特爾針對 CET 虛擬化補丁的第三次迭代,利用這些 CPU 硬件功能——自英特爾 Tiger Lake 處理器以來——幫助抵禦虛擬機內的 ROP/JOP 式控制流顛覆攻擊。
當前的補丁讓控制流執行技術為用戶 Shadow Stack 和間接分支跟踪以及內核間接分支跟踪支持工作。 Intel CET supervisor Shadow Stack 支持留待將來處理。
除了需要這個待定的代碼以及從 v6.4 開始還沒有主流化的 Shadow Stack 代碼之外,這個 CET 虛擬化還需要一些待定的 QEMU 補丁。那些對這項工作的最新內核補丁感興趣的人,可以通過 這個 LKML 補丁找到系列。 v3 補丁已重新基於 linux-next,並包含對先前補丁迭代的幾個修復。