LWN:改进CPU漏洞防护措施的配置方式!

使用 Vosk 实现语音识别 在近两年里,如果说想要在本地部署离线语音识别模型,那么和肯定是首选项。所以为什么要使用呢? 阅读详情

关注了就能看到更多这么棒的文章哦~

Better CPU vulnerability mitigation configuration

By Daroc Alden
March 19, 2025
Gemini-1.5-flash translation
https://lwn.net/Articles/1013640/

现代 CPU 都存在多个硬件漏洞,内核需要缓解这些漏洞;仅在 x86_64 架构上,6.13 版本的内核就有 14 个需要修复的安全敏感 CPU 漏洞。其中一些漏洞有多个变种,或者存在适用于不同微架构的多种缓解措施。每种缓解措施都有不同的内核命令行选项,这给试图配置其系统的用户带来了困惑。 David Kaplan 最近发布了 一个补丁集,该补丁集添加了一个统一的命令行选项来控制缓解措施,并简化了检测、配置和应用这些措施的逻辑。如果该补丁集合并,用户将更容易地驾驭 CPU 漏洞及其缓解措施的复杂组合。

内核通过 sysfs 提供有关其所知的漏洞的信息。 /sys/devices/system/cpu/vulnerabilities/ 目录包含每个已知攻击类别的文件,其中包含有关系统是否易受攻击以及已启用哪些缓解措施的信息。其中一些文件很容易解释,只是说明缓解措施是打开还是关闭。另一些则有些晦涩难懂。例如,我的 x86_64 机器对 Spectre v2 的描述如下:

Mitigation: Enhanced / Automatic IBRS; IBPB: conditional; RSB filling; \     PBRSB-eIBRS: SW sequence; BHI: BHI_DIS_S

这一行意味着内核启用了 增强型间接分支限制推测 (Enhanced Indirect Branch Restricted Speculation, Enhanced IBRS)、间接分支预测器屏障 (Indirect Branch Predictor Barrier, IBPB)、返回栈缓冲区 (Return Stack Buffer, RSB) 填充、屏障后返回栈缓冲区增强型 IBRS (Post-barrier Return Stack Buffer Enhanced IBRS, PBRSB-eIBRS) 以及 分支历史注入 (Branch History Injection, BHI)。增强型 IBRS 是一种阻止 CPU 通过间接分支进行推测的技术。 IBPB 引入了一个屏障(barrier),以防止屏障之前的代码影响屏障之后的 分支预测 。 RSB 填充确保 CPU 在遇到返回指令时可能推测的任何返回地址在上下文切换时被覆盖。 PBRSB-eIBRS 将该保护扩展到某些 CPU 上虚拟机 的退出。最后,BHI 防止代码操纵分支预测器以通过分支进行推测。理论上,所有这些缓解措施加在一起应该使我的计算机在很大程度上免受基于 Spectre 的攻击。

这些缓解措施中的每一个都由 spectre_v2 , spectre_v2_user 和 spectre_bhi 内核命令行选项控制。其他缓解措施有它们自己特有的命名选项。内核的 硬件漏洞文档 描述了各种选项,但是了解给定系统的最佳配置需要了解如何滥用不同的漏洞。实际上,大多数用户可能会将其设置保留为默认值,这对安全性有好处,但会带来明显的性能损失。

Kaplan 的补丁重新构建了内核的缓解配置逻辑,使其依赖于单个命令行选项 mitigations 。该选项已经存在,但目前只能设置为 "off" 或 "auto"。 Kaplan 的补丁扩展了它,以便用户可以附加一个分号和一个逗号分隔的列表,其中包含不需 要缓解的特定攻击向量:

  • no_user_kernel

     — 不要缓解来自恶意用户空间程序尝试泄漏内核数据的攻击。

  • no_user_user

     — 不要缓解一个用户空间程序对另一个用户空间程序的攻击。

  • no_guest_host

     — 不要缓解来自恶意虚拟机试图从其 hypervisor (虚拟机管理程序)中提取数据的攻击。

  • no_guest_guest

     — 不要缓解一个虚拟机对另一个虚拟机的攻击。

  • no_cross_thread

     — 不要缓解从一个 同步多线程 (simultaneous multithreading, SMT) 核心上运行的程序或虚拟机对在其同级核心上运行的代码的攻击。

默认设置为缓解所有这些攻击向量,因此没有单独的 "on" 设置。例外情况是跨线程攻击,通常只有禁用同步多线程才能完全阻止。由于性能影响很大,通常不希望这样做,因此用户需要指定 "auto,nosmt" 而不是仅仅 "auto" 才能获得该行为。通常,启用所有缓解措施是一个安全的选择。但是对于不会运行虚拟机的系统,例如,将 "mitigations= auto;no_guest_host,no_guest_guest" 添加到内核命令行可以挽回一些损失的性能。在 Kaplan 的 cover letter (提案信) 中,他证明了切换到这组命令行选项的合理性:

虽然许多用户可能不太熟悉这些 CPU 漏洞的细节,但他们可能更了解其系统的预期用途。因此,可以禁用不需要的缓解措施,从而让用户获得更多性能。

当用户指定其中一个新攻击向量选项时,内核会利用其有关计算机 CPU 中存在的 bug 的知识来启用该情况下最佳的缓解措施。目前,它们仅在 x86 (和 x86_64) 上有效,其他架构的维护者需要提供有关哪些缓解措施应与每个选项关联的意见。现有的特定于缓解措施的命令行选项将继续正常运行,尽管它们的使用量可能会大大减少。

这种特殊的设计是 Kaplan 补丁集先前版本上的 extended discussion (扩展讨论) 的结果。该版本有五个不同的新命令行选项,每个选项对应一个潜在的攻击向量。但是,审阅者发现该设计不必要地复杂,并最终同意使用上述更简单的接口。 Pawan Gupta 、 Josh Poimboeuf 和 Kaplan 都提出了各种想法,但是 Borislav Petkov 提出了建议,该建议最终与 Kaplan 在新版本补丁集中采用的建议最为接近。

审阅者并未完全被 Kaplan 对潜在攻击的分类所说服,尽管他们似乎普遍认为这比令人困惑的现状要好。 Poimboeuf 认为 尤其是跨线程组,将其与其他组分开没有多大意义。在跨线程攻击中,在攻击 SMT 核心 (也称为硬件线程) 上运行的代码必须是用户空间程序或虚拟机;因此, Poimboeuf 认为,任何跨线程攻击都应属于 Kaplan 提出的其他四个类别之一。

Kaplan 并没有不同意,尽管他 在讨论中早些时候 指出,禁用 SMT 必须进行特殊处理。尽管存在围绕 SMT 的复杂性, Kaplan 的命令行选项仍然比现有选项集简单得多。

用于选择缓解措施的内部逻辑 (internal logic) 也受到了审阅者的广泛关注,尽管仅以代码风格注释的形式出现,但也得到了清理。以前,该代码有些错综复杂。通过 Kaplan 的更改,功能应该相同,但是该实现已分为 "select" (选择) 、 "update" (更新) 和 "apply" (应用) 函数,用于内核知道的每种缓解措施。 select 函数确定是否应启用缓解措施, update 函数允许根据已选择的其他缓解措施来更改缓解措施的特定配置,而 apply 函数则完成将缓解措施应用于内核的实际工作。

Kaplan 的补丁集的最新版本于 3 月 10 日发布,因此没有足够的时间引起任何其他讨论。鉴于先前版本收到的积极反响,这些新命令行选项很可能很快可用于 x86 和 x86_64,希望其他架构也能紧随其后。

全文完
LWN 文章遵循 CC BY-SA 4.0 许可协议。

欢迎分享、转载及基于现有协议再创作~

长按下面二维码关注,关注 LWN 深度文章以及开源社区的各种新近言论~

Labview调用C++ dll之字符串数组传递 做项目的时候碰到了一个需求,有一个复杂的运算,用labview实现非常的麻烦,但是如果用C++实现,就会灵活很多。尝试着采用Labview调用C++编写的动态链接库方式解决,兼顾Labview的便利和C++的灵活性。 运算好说,主要难点是Labview与C++之间的数据对应关系,因为我最后的结果是既有字符串又有数字,对于单纯的数字来说,直接通过调用数组的方式就能解决,这里主要记录一下字符串数组... 阅读详情

相关推荐

生物信息学新手必备:5分钟搞定GEO补充数据下载(含西柚云代理配置)

本文为生物信息学新手提供了快速下载GEO数据库补充数据的完整方案。核心在于解析GEO文件存储逻辑,构造正确的FTP下载链接,并利用云端代理服务(如西柚云)解决国内访问NCBI速度慢、易中断的问题。通过分步教程,用户无需命令行即可在5分钟内稳定获取大型测序文件,极大提升数据获取效率。

weixin_28314575的博客 636

在Intel处理器上,修改mitigations参数使Linux系统运行得更快

您可能听说过影响了许多现代处理器,包括英特尔,AMD,System Z,Power和ARM的某些处理器。幸运的是,内核开发人员已经发布了安全补丁来解决Meltdown/Spectre问题,在最新的内核版本中,默认情况下应用补丁。尽管安全补丁有助于缓解漏洞,但是它们也会影响系统的性能,如果您的系统受到了很好的保护,并且希望获得所有的性能,那么本指南非常适合您。本简要指南介绍了如何通过关闭Spectre和Meltdown缓解措施使Linux系统在Intel CPU上更快地运行。 警告 : 在实施以下解决方案之前

rayylee 8084

吉林大学软件工程章节测验 第九章 答案+解析

4.【判断题】估算软件规模有代码行技术和功能点技术两种方法,其中代码行方法估计实现一个功能所需要的源程序行数,其不依赖项目所使用的开发语言,并且具有较好的直观性。3.【单选题】软件项目估算时,若计划人员对每个功能分别按最佳的、可能的、悲观的三种情况给出功能点估计值,记作a, m, b,则估算的期望值E的公式为( )。8.【判断题】在工程网络图中,如果在由起始事件至终止事件所构成的一条路径上,所有事件的最早时刻都和最迟时刻都相同,那么这条路径就是关键路径。4.【单选题】配置管理贯穿软件开发的整个过程。

m0_51459931的博客 1427

[linux]基于Ubuntu24.04原内核6.8.0升级到6.9.0

2、编译报错,在编译的过程碰到编译失败,不会像原来老的内核版本会报哪个文件哪行出问题,直接什么也没有,看不见(估计是方法不对),这个问题有点困扰,我直接apt update把内核升级,后边乱搞一通,不知怎么的这个问题又好了。3、机器性能不太好,编译可能比较耗时,一般是开始编译,然后跑出去搞其他事,或者看视频等等。1、编译的时候缺库,一般根据出错的原因百度或者其他搜索解决,这种问题容易些;

5745

西红柿成熟度检测数据集总结

成熟度类别标注数量semiripe(半成熟)10275rotten(腐烂)13470fullyripe(完全成熟)35031unripe(未成熟)26212。

crz1336768325的博客 2125

SolidWorks的GB库(钢型材库,包括铝型材、铝管等结构)安装及使用教程(生成铝型材为例)

1、GB库的下载 2、GB库的安装教程 3、GB库的使用教程

树下等苹果的博客 12万+

linux安全策略对性能的影响

https://unix.stackexchange.com/questions/554908/disable-spectre-and-meltdown-mitigations A number of kernel boot parameters are available to disable or fine-tune hardware vulnerability mitigations: for Spectre v1 and v2:nospectre_v1(x86, PowerPC),n...

InternalsOf 1974

产品必备技能(十):如何绘制原型图?先要绘制页面流程图+页面原型图!附实操原型图、流程图实例(抖音)

文章目录目标题目实操步骤模板实操【抖音】APP的视频发布功能页面流程绘制页面流程图合格标准绘制页面原型图合格标准 目标 新入行的产品经理都对原型抱有向往的心境,但是有经验的产品经理不会一上来就画原型,而是先画页面流程再来画原型。通过学习,你将学会如何用页面流程图规划用户行为路径、如何借助原型识别问题、减少风险、有效沟通。 题目 任意选择一款你喜欢的产品,体验某个功能,下载并梳理此功能至少5个以上的页面流程跳转点(后面会解释),还原2 - 3个主要界面的低保真原型图。 实操步骤 可使用手绘以及Process

汪雯琦的博客 4836

CVE-2017-5715/CVE-2017-5754在CentOS8.2/8.3系统禁用方法

问题背景 CVE-2017-5715 Variant CVE-2017-5715 triggers the speculative execution by utilizing branch target injection. It relies on the presence of a precisely-defined instruction sequence in the privileged code as well as the fact that memory accesses may cau

u012533481的博客 795

MCGS 和 200SMART 时间同步

在实际应用中,PLC经常会因为断电原因,导致时间不准确。假设我们设置了一个投加泵,每天8-18点投加。屏幕上显示的时间和PLC内部的时间,很可能不一样。所以需要在触摸屏上读取PLC的时间,并且提供设置功能。

mmxxoo_xxmmp的博客 1519

Arcgis中的模型构建器(ModelBuilder)技术之批量图层转KML

这段时间全省各地都在开展耕地流出图斑整改恢复工作,期间或多或少都需要村委会协助摸排举证,除了举证软件外,奥维、外业精灵等软件想必大家接触得也很多。这就经常需要我们转kmz文件给业主或者摸排人员,那么有没有什么方法在arcgis下快速批量转kmz文件呢,今天就介绍一下如何在模型构建器(ModelBuilder)构建批量图层转KML的模型。

weixin_44671081的博客 1324

直付通申请资质安全吗?靠谱吗?

风控规则的运行效果要定期复盘,拦截记录、误伤情况、处理时效都要看,规则持续优化,防护效果才能保持,动态调整的风控,比一成不变的规则更可靠,安全保障更到位,动态调整的风控更可靠,更有效,风控常复盘,规则常优化,防护更有效。资金记录的完整保存很重要,流水明细定期归档,账目随时可查,配合日常核对,资金安全尽在掌握,完善的记录习惯,既是风控要求,也是管理规范,长期坚持受益良多,更放心,流水留存好,随时可对账,管理更规范。方向更清晰,资质看清楚,边界问明白,判断更准确。更稳固,职责边界清,配合更默契,安全更有底。

qq_15110143的博客 346

有之以为利,无之以为用,在 RAP 开发里的虚实取舍

摘要(149字) SAP RAP框架通过"有"与"无"的哲学平衡实现业务应用价值。其"有"体现在CDS视图、行为定义、服务绑定等具体对象,为系统提供形体;而"无"则表现为保留的扩展空间、未暴露的实现细节和框架托管的生命周期。在采购审批应用中,RAP既通过明确定义的行为模型建立业务语义,又通过验证、动作等机制保持灵活性。这种架构既确保核心功能稳固,又为未来演进留出余地,印证了"有之以为利,无之以为用"的技术智慧

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1302

亚远景 - 无方向盘 L4 车辆批量认证,ASPICE 过程证据成制造商安全举证底座

亚远景分析取消驾驶员兜底后安全责任向制造商集中的趋势,说明规范研发过程、功能安全验证与全生命周期管理为何成为批量认证的举证底座,为自动驾驶企业应对准入合规提供过程建设参考。

yayuanjingkeji的博客 195

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

‌7-Zip加密压缩包完整教程:AES-256加密、加密文件名与安全分享指南(2026最新)‌

‌给别人发压缩包,只设密码就够了吗?本文用 2026 最新版 7-Zip 讲透 AES-256 加密原理与实操,手把手教你设置密码、勾选加密文件名、分卷加密与自解压包,并给出强密码标准、密码传递方式和跨设备兼容建议,让敏感资料真正只对指定的人开放。

Helix250的博客 315

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Elasticsearch ingest pipeline 被禁用之后:性能代价、安全治理与数据入库时间的四种替代方案

生产环境为什么禁用 Elasticsearch ingest pipeline?写入路径同步执行的开销、Painless 脚本的安全治理是根因;而 _ingest.timestamp 出不了 pipeline,ES 8/9 也没有原生入库时间字段。本文给出四种替代方案:采集端注入时间戳、bulk 响应后回写、refresh=wait_for 近似、最小 set pipeline 白名单,附选型对比与踩坑清单。

Sayai的专栏 341

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

终端安全平台 V2610 更新复盘:跨平台适配、AI 工具审计能力解析

近期对终端安全管理平台 V2610 版本进行了部署测试,本次版本迭代重点围绕跨平台兼容、AI 工具行为审计、数据防护模块做了调整。本文记录本次新版本的技术改动、功能逻辑、测试过程中遇到的适配问题,供内网安全、终端运维同行参考交流。说明:仅为个人技术测试复盘,不做产品推荐,相关策略落地请结合单位自身安全规范评估。V2610 版本整体偏向解决混合架构内网下的新风险,重点补齐 AI 应用审计、多系统统一管控短板。优势:异构终端管理能力提升,审计链路更完整;

qq_43457377的博客 194

城市生命线工程多场景应用守护城市运行安全

城市生命线工程以地下管网、桥梁、燃气、供水等基础设施为对象,通过物联网传感、数据监测与智能分析,实现对城市 "血管" 和 "神经" 的实时守护。本文以科普视角,梳理生命线工程的多场景应用、技术逻辑与落地价值,帮助读者理解城市安全从 "被动抢险" 走向 "主动预防" 的转变过程。

hnsoyon的博客 190

Android 开发入门实践(二):Kotlin 空安全,从可空类型到安全访问

延续 NewsApp 项目中的新闻标题练习,记录 Kotlin 安全调用。

Easyhood的博客 273

DeepAgents框架构建一个带有严格安全护栏的本地 Shell 执行环境。

核心亮点在于:通过精心设计的 System Prompt(系统提示词)强制约束大模型的行为,防止其通过操作系统底层的 Shell 命令绕过框架的虚拟沙箱,从而确保本地物理磁盘的绝对安全。DeepAgents 框架接入 DeepSeek 模型并构建一个带有严格安全护栏的本地 Shell 执行环境。

qq_42092076的博客 66

AI Agent 的安全风险,正在从 Prompt 扩展到运行环境

从 Cursor 恶意扩展事件看 AI Agent 运行环境的安全风险与权限边界。

2501_92842654的博客 472

Claude API新版本重大变更与安全升级指南

Anthropic发布ClaudeAPI新版本,首次更新核心版本控制架构,引入多项破坏性变更。新版本移除采样参数(temperature/top_p/top_k),禁止Assistant文档块与用户文本引用,重命名管理与分析字段,并强制使用anthropic-version标头。官方SDK主版本同步升级至2.0.0及以上,身份验证改为Authorization: Bearer。开发者需锁定依赖、扫描代码、重构消息结构、双版本测试,以避免生产环境400错误,确保平滑迁移。

阡陌数智,专注大模型网关与 LLM 工程落地 327

从 NEAR Intents 事件看 NEAR 智能合约安全

2026年9月29日至10月1日,攻击者利用NEAR Intents存款退款处理中的校验缺陷,通过填充代币和恶意receiver合约触发超额退款请求,使回调失败后内部余额未被撤销,造成缺乏资产支持的可花费余额。攻击者据此从BNB Chain上的HOT Bridge金库七笔提现共转出3,865,021 USDT。项目方于10月2日部署修复、10月7日移除存款通知功能,并于同日宣布资金全额归还,后续事后报告确认受影响用户已获补偿。

BlockSec的博客 247

生物冰箱智能锁是如何通过权限记录全程开门记录筑起样本安全的第一道防线的?

未来,面对新的挑战和需求,生物冰箱智能锁必将持续创新,成为保障样本安全不可或缺的智能守护者。全程开门记录开门时间、操作人员及异常情况均被实时记录并上传至管理平台,通过防止非法开门和异常操作,确保样本在存储过程中的稳定性和完整性,减少样本损坏和丢失的风险,提升科研数据的可靠性,便于后续的数据追踪和安全审计,智能锁结合权限管理和全程记录功能,为生物样本管理提供坚实的安全保障,促进科研工作的规范化和标准化,保障科研成果的真实性和有效性。

berer8的博客 94

运营商云改数转安全落地实践|融合 4A 与数据安全服务案例

本实践依托保旺达在运营商行业长期沉淀的业务 know-how,以融合 4A 为核心抓手,联动数据安全、AI 安全管控能力,以平台建设 + 专项治理 + 持续运营的模式,匹配运营商云改数转转型节奏,解决异构云网环境下身份权限治理、敏感数据安全、新型 AI 应用风险等核心难题,为同类型省级运营商安全体系建设提供可落地参考。

KKKlucifer的博客 72

终端供应链安全:应用白名单与软件正版化检测落地|终端安全治理实践

终端供应链攻击日益严峻,攻击者通过非正规渠道投毒、盗版软件植入恶意载荷,绕过传统防护。企业需从“被动查杀”转向“全生命周期治理”,构建可识别、可管控、可审计的软件管理体系。核心举措包括:建立可信软件库、推行应用白名单与审批机制、开展全网软件资产盘点与正版化检测、强化脚本与进程管控,并通过差异化策略与持续运营实现安全与业务平衡。唯有技术与制度协同,方能封堵供应链攻击的“最后一公里”。

2401_86491085的博客 454
上一篇: LWN:2025 疯狂的 mapcount!
下一篇: LWN:保证可以分到连续内存的分配器!
LinuxNews搬运工
博客等级 码龄7年 438粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值