Linux中的SMEP&SMAP

SMEP/SMAP

概述: 是x86处理器提供的硬件安全特性,目的是防止一些常见的内核攻击

SMEP

Supervisor Mode Execution Prevention

作用: 防止内核模式代码意外或恶意执行位于用户空间的代码。

实现方式: 通过控制寄存器CR4中设置特定位(位20)来启用的。linux内核在启动时会检测CPU是否支持SMEP,如果支持,则在早期初始化阶段启用该特定。这样,即时由于漏洞泄露导致内核错误地跳转到用户空间地址,CPU也会产生异常,阻止这种执行。

SMAP

Supervisor Mode Access Prevention

作用: 它禁止内核模式代码在没有明确许可的情况下访问用户空间内存。

实现方式: 通过控制寄存器CR4设置特定位(位21)来启用的。由于内核有时确实需要访问用户空间(例如执行 copy_to_user/copy_from_user 操作),内核在需要访问用户数据时,会暂时关闭SMAP保护。具体来说,内核会使用特殊的指令(如 stac 和 clac)来临时禁用 SMAP,访问完成后再恢复保护状态。

相关推荐
云边有个稻草人10 分钟前
【Linux系统】第四节—详解yum+vim
linux·vim·yum·软件包管理器·linux软件生态·linux编辑器-vim使⽤·yum具体操作
dz小伟4 小时前
vim的配置
linux·编辑器·vim
江湖人称-杰5 小时前
CentOS配置了镜像源之后依旧下载元数据失败
linux·运维·centos
阿运河6 小时前
如何配置 VScode 断点调试Linux 工程代码
linux·ide·vscode
Xena_Networks7 小时前
SierraNet协议分析使用指导[RDMA]| 如何设置 NVMe QP 端口以进行正确解码
linux·服务器·网络
滴水之功8 小时前
Ubuntu22.04怎么退出Emergency Mode(紧急模式)
linux·运维·服务器
小馬佩德罗8 小时前
Linux/AndroidOS中进程间的通信&线程间的同步 - 信号量
linux·信号量
wqqqianqian9 小时前
国产linux系统(银河麒麟,统信uos)使用 PageOffice 在线打开Word文件,并用前端对话框实现填空填表
linux·前端·word·pageoffice
清风来点灯9 小时前
Ubuntu22.04安装显卡驱动/卸载显卡驱动
linux·笔记·ubuntu
吴爃10 小时前
linux搭建hadoop学习
linux·hadoop·学习