Indirect branch tracking: Difference between revisions
m The Anome moved page Indirect Branch Tracking to Indirect branch tracking over redirect: generic term |
names of instructions |
||
Line 5: | Line 5: | ||
== Implementations == |
== Implementations == |
||
⚫ | On Intel processors, the technique is known as Indirect Branch Tracking (IBT), with the "end branch" instructions {{tt|endbr32} and {{tt|endbr64}} acting as the branch target instructions.<ref>{{Cite web |last=Corbet |first=Jonathan |date=March 31, 2022 |title=Indirect branch tracking for Intel CPUs |url=https://lwn.net/Articles/889475/ |access-date=2023-07-14 |website=lwn.net}}</ref> The similar technology on ARM-64 processors is called Branch Target Identification (BTI).<ref>{{Cite web |date=December 2021 |title=Documentation – Arm Developer |url=https://developer.arm.com/documentation/ddi0596/2021-12/Base-Instructions/BTI--Branch-Target-Identification- |access-date=2023-07-14 |website=developer.arm.com}}</ref> |
||
On Intel processors, the technique is knon as Indirect Branch Tracking (IBT). |
|||
⚫ | <ref>{{Cite web |last=Corbet |first=Jonathan |date=March 31, 2022 |title=Indirect branch tracking for Intel CPUs |url=https://lwn.net/Articles/889475/ |access-date=2023-07-14 |website=lwn.net}}</ref> The similar technology on ARM-64 processors is called Branch Target Identification (BTI).<ref>{{Cite web |date=December 2021 |title=Documentation – Arm Developer |url=https://developer.arm.com/documentation/ddi0596/2021-12/Base-Instructions/BTI--Branch-Target-Identification- |access-date=2023-07-14 |website=developer.arm.com}}</ref> |
||
== References == |
== References == |
Revision as of 10:43, 23 February 2024
Indirect branch tracking (IBT), also known as branch target identification (BTI) is a control flow integrity mechanism implemented on some Intel x86-64 and ARM-64 processors. IBT is designed to protect against computer security exploits that use indirect branch instructions to jump into code in unintended ways, such as return-oriented programming.
It creates a special "branch target" instructions that have no function other than to mark a location as a valid indirect branch target, with the processor capable of being put into a mode where it will raise an exception if an indirect branch is made to a location without a branch target instruction.
Implementations
On Intel processors, the technique is known as Indirect Branch Tracking (IBT), with the "end branch" instructions {{tt|endbr32} and endbr64 acting as the branch target instructions.[1] The similar technology on ARM-64 processors is called Branch Target Identification (BTI).[2]
References
- ^ Corbet, Jonathan (March 31, 2022). "Indirect branch tracking for Intel CPUs". lwn.net. Retrieved 2023-07-14.
- ^ "Documentation – Arm Developer". developer.arm.com. December 2021. Retrieved 2023-07-14.