[go: nahoru, domu]

Jump to content

Indirect branch tracking: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
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

  1. ^ Corbet, Jonathan (March 31, 2022). "Indirect branch tracking for Intel CPUs". lwn.net. Retrieved 2023-07-14.
  2. ^ "Documentation – Arm Developer". developer.arm.com. December 2021. Retrieved 2023-07-14.