間接分岐追跡

Control flow integrity technology

間接分岐追跡IBT )は、分岐ターゲット識別BTI )とも呼ばれ一部のIntel x86-64およびARM-64プロセッサに実装されている制御フロー整合性メカニズムです。IBTは、間接分岐命令を用いて意図しない方法でコードにジャンプする(例えば、リターン指向プログラミング)といったコンピュータセキュリティの脆弱性から保護するように設計されています

これは、場所を有効な間接分岐ターゲットとしてマークする以外の機能を持たない特別な「分岐ターゲット」命令を作成し、分岐ターゲット命令のない場所への間接分岐が行われた場合、例外を発生させるモードにプロセッサを設定できます。

実装

インテルプロセッサでは、この技術は間接分岐追跡(IBT)と呼ばれており、「分岐終了」命令であるendbr32endbr64が、それぞれ32ビットモードと64ビットモードの分岐ターゲット命令として機能します。[1] [2] IBTは、 Tiger Lake世代のプロセッサで初めてリリースされたIntel制御フロー強制技術の一部です[3]

ARM-64プロセッサの同様の技術は分岐ターゲット識別(BTI)と呼ばれ、 BTIと呼ばれる命令には、ジャンプのみ、関数呼び出しのみ、またはその両方をチェックする3つのバリエーションがあります。[4] [5]

参考文献

  1. ^ Corbet, Jonathan (2022年3月31日). 「Intel CPUの間接分岐追跡」lwn.net . 2023年7月14日閲覧
  2. ^ 「間接分岐追跡 - 006 - ID:655258 | 第12世代インテル® Core™ プロセッサー」. edc.intel.com . 2024年2月23日閲覧
  3. ^ 「Intel、Tiger LakeモバイルCPUに新たなCETテクノロジーを搭載」ZDNET 2024年2月23日閲覧
  4. ^ 「ドキュメント – Arm Developer」. developer.arm.com . 2021年12月. 2023年7月14日閲覧
  5. ^ 「ドキュメント – Arm Developer」. developer.arm.com . 2024年2月23日閲覧


Retrieved from "https://en.wikipedia.org/w/index.php?title=Indirect_branch_tracking&oldid=1283670702"