cwe - 1342:信息通过Microarchitectural接触状态瞬态后执行
描述
处理器不正确清楚microarchitectural状态不正确的微码助攻或投机执行后,导致瞬态执行。
扩展描述
在许多处理器架构一个异常、mis-speculation或微码协助结果刷新操作清除不再需要的结果。这个动作可以防止这些结果影响建筑,旨在从软件是可见的。然而,这种瞬态执行可能的痕迹留在microarchitectural缓冲区,导致microarchitectural状态的变化可以暴露敏感信息使用边信道攻击者分析。例如,负载值注入(LVI) (ref - 1202)可以利用错误值的直接喷射到中间加载和存储缓冲区。
可能需要满足几个条件对于一个成功的攻击:
- 1)错误的瞬态执行,结果在剩磁的敏感信息;
- 2)攻击者有能力激起microarchitectural异常;
- 3)操作和结构必须识别代码,可以利用受害者。
的关系
模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
保密 完整性
|
技术的影响:修改内存;读记忆;执行未经授权的代码或命令
|
媒介 |
示范例子
示例1
断裂载荷在受害者领域可能会引发错误的瞬态转发,这让secret-dependent microarchitectural痕迹的状态。考虑一下这个例子从[ref - 1203]。
考虑到代码工具:
空白call_victim (size_t untrusted_arg) {
* arg_copy = untrusted_arg; 数组(* * trusted_ptr * 4096);
}
处理器与这个弱点将存储的价值untrusted_arg(可能是由攻击者提供),这是值得信赖的记忆。此外,这家商店操作将这个值保存在一些microarchitectural缓冲区,例如存储队列。
在这段代码中设备反向引用trusted_ptr,而攻击者部队一个页面错误。断裂负荷导致处理器由转发untrusted_arg mis-speculate(投机)加载的结果。然后处理器使用untrusted_arg指针。故障处理和负载后重发了正确的论点,secret-dependent信息存储的地址trusted_ptr仍然可以提取microarchitectural状态和攻击者使用gadget代码。
观察到的例子
参考 |
描述 |
|
负载值注入一些处理器利用投机执行允许经过身份验证的用户,使信息披露与本地访问通过边信道。 |
潜在的缓解措施
阶段:体系结构和设计;需求
硬件确保没有非法数据流从断层micro-ops microarchitectural级别的存在。
注意:在硅预计实现完全解决已知的弱点性能影响有限。 |
阶段:构建和编译
包括指令明确删除不必要的计算从软件交互的痕迹如lfence microarchitectural成分,sfence, mfence clflush。
注意:这有效地迫使处理器来完成每个内存访问之前移动到下一个操作。这可能有很大的性能影响。 |
脆弱性映射笔记
用法:允许
(CWE ID可以用来映射到现实世界的漏洞) |
原因:可接受的使用 |
理由是: 这CWE条目底部的抽象级别,这是一个首选的抽象级别映射到漏洞的根本原因。 |
评论: 仔细阅读这两个名称和描述,以确保此映射是一个适当的配合。不要试图“力”映射到底层基础/变体只是遵守这首选的抽象级别。 |
笔记
维护
CWE 4.9, CWE硬件的成员团体密切分析这个条目和其他改善CWE瞬态执行弱点的报道,其中包括幽灵相关的问题,崩溃,和其他攻击。额外的调查可能包括相关弱点microarchitectural状态。因此,该条目可能会改变显著CWE 4.10。
引用
(ref - 1202)乔·范·Bulck丹尼尔Moghimi,迈克尔•施瓦兹,莫里茨Lipp Minkin码头,丹尼尔•Genkin Yuval Yarom,伯克Sunar,丹尼尔·格鲁斯,和弗兰克Piessens。“LVI——劫持瞬态执行负载值注入”。2020年。< https://lviattack.eu/>。 |
(ref - 1203)乔·范·Bulck丹尼尔Moghimi,迈克尔•施瓦兹,莫里茨Lipp Minkin码头,丹尼尔•Genkin Yuval Yarom,伯克Sunar,丹尼尔·格鲁斯,和弗兰克Piessens。“通过Microarchitectural LVI:劫持瞬态执行负载值注入”。2020-01-09。< https://lviattack.eu/lvi.pdf>。 |
|
|
更多的信息是可用的,请编辑自定义过滤器或选择一个不同的过滤器。
|