Intel CET endbr64

news/2024/11/30 13:31:52/

哪些CPU支持Intel CET?

Intel CET技术在最近的Tiger Lake架构CPU上受到了支持(here)。比如至强中的Intel® Xeon® W-11955M Processor、酷睿中的英特尔® 酷睿™ i7-1185G7E 处理器。

如下图所示“控制流强制技术”
在这里插入图片描述

Intel CET的作用及endbr64指令

Intel CET提供了影子栈及间接跳转指令追踪功能,保护控制流完整性(wiki: here)。

Intel CET相关的指令如endbr64是后向(backward)兼容的。

在Intel CET中,间接跳转的处理逻辑中被插入一段过程:将CPU状态从DLE切换成WAIT_FOR_ENDBRANCH

在间接跳转之后查看下一条指令是不是endbr64。如果指令是endbr64指令,那么该指令会将CPU状态从WAIT_FOR_ENDBRANCH恢复成DLE。另一方面,如果下一条指令不是endbr64,说明程序可能被控制流劫持了,CPU就报错(#CP)。因为按照正确的逻辑,间接跳转后应该需要有一条对应的endbr64指令来回应间接跳转,如果不是endbr64指令,那么程序控制流可能被劫持并前往其它地址(其它任意地址上是以非endbr64开始的汇编代码)(涉及编译器兼容CPU新特性)。


http://www.ppmy.cn/news/198126.html

相关文章

QT5/C++项目:基于QT的跨平台网络对战象棋(一)(推荐★★★★)

QT5/C项目:基于QT的跨平台网络对战象棋(一)(推荐★★★★) 文章目录 QT5/C项目:基于QT的跨平台网络对战象棋(一)(推荐★★★★)本篇副标题:本篇博…

电脑清灰你要知道的那些事(二)

清灰你要知道的那些事(二) 子墨居士 有心的小伙伴可能已经发现了在“清灰你要知道的那些事(一)”只是做了一个笼统大概的说明,咱们接着前面的继续说,这次小编依然不会自己实际操作清灰的过程,因…

uos安装系统时卡在logo界面

问题描述 安装uos专业版1043版本时,使用u盘启动盘, grub界面选择安装系统后会概率性出现卡在logo界面,无法启动安装器。进入tty2不断有soft lock日志刷出,并且伴有Call Trace安装uos专业版1043版本时,概率性进入安装器&#xff0…

在机械革命电脑上安装ubuntu 16.0+ cuda 8.0+cudnn 6.0的方法

首先说一下我奇葩的笔记本电脑机械革命X6ti的配置。 显卡是GTX965M和intel 集显530,硬盘为128GSSD和1T的机械硬盘,cup是i7-6700的。整个安装过程我们可以给它分为四个阶段 1、在电脑上安装ubuntu16.04双系统。 2、在ubuntu上安装Nvidia 的驱动 3、在安装完Nvidia驱动…

VT-x,VT-d简介

虚拟化分软件虚拟化和硬件虚拟化,没有VT-x也能虚拟化,很老的机器都可以跑VMWare,因为使用了软件虚拟化的方式,不过运行效率肯定没有硬件虚拟化的高;硬件虚拟化分两种:CPU层和IO层/芯片层,在Inte…

Intel X86_64 虚拟化CPU

文章目录 前言一、VMX1.1 处理器是否支持VMX1.2 CPU虚拟化1.3 VMX 简介 二、VMCS2.1 VMCS2.2 VMCS data2.3 VMCS launch state2.4 VCPU 总结参考资料 前言 本篇文章主要描述了Intel cpu虚拟化的知识,关于虚拟化的简介可以参考这篇文章: 虚拟化技术简述 …

机械革命 安装Ubuntu16+win10双系统 配置GTX960m显卡

机械革命 安装Ubuntu16win10双系统 配置GTX960m显卡 为了安装这个双系统,使用了我两天的时间,重装十几次,重启,强制关机几十次 首先说一下我的电脑的配置和型号 机械革命-X6TI-M2CPU : I7-6700HQ GPU : GTX960m 内存 &#xff…

XIlinx FPGA 和 Intel FPGA的区别

目录 一 FPGA简介 什么是FPGA呢 ? FPGA的内部结构有什么呢? 为什么要开发FPGA? FPGA的发展历程? FPGA用于做什么? FPGA的优缺点? 二 Xilinx FPGA和Intel FPGA区别 2.1 基本资源逻辑 2.2 内部结构 一…