Linuxカーネルのx86コアアーキテクチャ開発を担当するPeter Zijlstra(Intel)は11月5日、Intel CPUの保護機能「Intel CET」の一部である「Indirect Branch Tracking(IBT)」をデフォルトで有効とするパッチをサインオフした(コミッターはGoogleのKees Cook)。これにより、11月後半にリリースが予定されている「Linux 6.1」の次のバージョンとなる「Linux 6.2」でIBTがデフォルト実装されることがほぼ確実となった。
- x86/Kconfig: Enable kernel IBT by default -git.kernel.org
IBTはIntelが「Tiger Lake」以降のCPUに実装したマルウェアからのCPU保護機能「Intel CET」に含まれており、2022年5月22日にリリースされた「Linux 5.18」ではじめてメインラインでサポートされた。Intel CETは急増する「Return-oriented Programming(ROP)」攻撃や「Jump/Call-oriented Programming(JOP/COP)」といった脆弱性攻撃を回避しやすくするために開発された機能で、IBTはその主要な構成技術。「ENDBR」という命令(目印)を新たに追加し、プログラムの命令を追跡、間接分岐命令の後の次の到達地がENDBRであれば正常にプログラムを実行するが、ENDBRでない場合は例外を発生させプログラムを終了させる。これによりROS攻撃の最初のステップを大幅に減らせるとしている。
また、IBTと同様にLinux 6.2でのサポートが期待されているCFI(Control Flow Integrity)スキームとCETを統合した「FineIBT」はIBTが有効であることが前提となるため、IBTがデフォルトとなることでFineIBTのサポートも進んでいくと見られている。