英特尔最近宣布, 那个新闻 我检测到一个漏洞 微架构(列在 CVE-2023-28746 下) 在 Intel Atom 处理器(E 核)上, 该漏洞被称为 RFDS(寄存器文件数据采样),该漏洞的危险在于它允许确定先前在同一 CPU 内核上运行的进程所使用的数据。
RFDS 是一个漏洞 与数据采样攻击有相似之处, 与微架构数据采样(MDS)一样,它的暴露方法和暴露的数据有所不同,仅限于来自过时记录的数据。
关于漏洞
“RFDS”的识别是由英特尔工程师在内部审核中进行的, 虽然没有提供详细信息 关于其利用方法,英特尔工程师 指出攻击者无法有意控制进程的选择 对于数据提取,这意味着可用于恢复的信息的暴露是随机的。然而,可以在系统上本地执行代码的恶意行为者利用 RFDS 可能会导致推断出先前在日志中使用的秘密数据值,从而可能损害信息的安全性和机密性。
RFDS 是英特尔针对微架构安全性进行的广泛内部验证工作的一部分而被发现的。与微架构数据采样(MDS)等数据采样瞬时执行攻击类似,RFDS 可以允许能够在系统上本地执行代码的恶意行为者推断出秘密数据值,否则这些数据值将受到架构机制的保护。 RFDS与MDS漏洞的不同之处在于暴露方式和暴露的数据(RFDS仅暴露过时的日志数据)。单独使用 MDS 和 RFDS 都不能让恶意行为者选择使用这些方法推断哪些数据。
有人提到 这些泄漏会影响向量寄存器 用于加密、内存复制函数和字符串处理,如 memcpy、strcmp 和 strlen 函数。还 通过寄存器存储浮点数可能发生泄漏 和整数,尽管它们在任务执行期间更新得更频繁,从而减少了通过它们泄漏的可能性。重要的是,残留数据不会直接保留在寄存器中,而是可以使用旁路攻击技术从寄存器文件中提取,例如将数据抓取到 CPU 缓存中。
RFDS 专门影响 Atom 处理器 基于微架构 阿尔德湖、猛禽湖、特里蒙特、戈德蒙特和格雷斯蒙特。这些处理器不支持超线程模式,该模式将数据泄漏限制到当前 CPU 内核内的一个执行线程。解决此漏洞的更改包含在微代码更新 microcode-20240312-staging 中。
防护方法 针对此漏洞 与使用的类似 阻止先前识别的攻击,例如 MDS, SRBDS, TAA、DRPW(设备寄存器部分写入)和SBDS(共享缓冲区数据采样)攻击。
为了防止内核和虚拟机管理程序泄漏,除了更新微代码之外, 有必要使用涉及使用 VERW 指令的软件保护方法 当从内核返回到用户空间或将控制权转移到客户系统时,清除微架构缓冲区的内容。这种保护已经在 Xen 虚拟机管理程序和 Linux 内核中实现。
要在 Linux 内核中启用保护,您可以使用“reg_file_data_sampling=开» 加载内核时。有关漏洞的信息以及保护所需的微代码的存在可以在文件中进行评估 «/sys/devices/系统/cpu/漏洞/reg_file_data_sampling«。
最后,如果您有兴趣了解更多,可以咨询 以下链接中提供了详细信息。