cwe - 1303:不透明的Microarchitectural资源的共享
描述
硬件结构共享跨执行上下文(例如,缓存和分支预测)可以违反预期架构上下文之间的隔离。
扩展描述
现代处理器使用技术,如无序执行,投机,预取、数据转发和缓存来提高性能。这些技术的实现细节隐藏在程序员的观点。这是一个问题,当这些技术的硬件实现结果在资源共享在孤立的环境中。争用共享资源在不同的情况下打开秘密通道,允许恶意程序执行在一个上下文恢复信息从另一个上下文。
一些例子的共享micro-architectural资源用于泄漏信息上下文之间的缓存,分支预测逻辑,和负载或存储缓冲区。投机和无序的执行为攻击者提供了增加控制哪些数据是通过秘密泄露的渠道。
如果上下文之间资源共享的程度在设计微体系结构是无证,它是极其困难的,以确保系统对信息披露资产保护。
的关系
模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 |
请注意 |
架构和设计 |
期间推出的这些问题可能是硬件架构和设计和确定后在测试或系统配置阶段。 |
实现 |
期间推出的此类问题可以实现和确认后在测试或系统配置阶段。 |
常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
保密
|
Microarchitectural边信道用于特定信息,如密钥泄漏,和地址空间布局随机化(ALSR)补偿以及任意内存。 |
|
示范例子
示例1
一些处理器硬件间接分支预测器之间共享执行上下文,例如,兄弟姐妹之间SMT线程。当SMT线程执行一个间接分支目标地址X,这个目标可能会被暂时存储在间接分支预测器。随后间接分支预测错误SMT线程B可以大胆执行指令在X(或在B的地址空间的位置,部分别名X)。即使处理器回滚的建筑影响mis-predicted间接分支,内存访问改变数据缓存状态,这不是回滚后间接部门解决。
潜在的缓解措施
阶段:体系结构和设计
Microarchitectural秘密通道可以使用的硬件和软件解决缓解技术。这些包括分区缓存,新的屏障和刷新指令,禁用高分辨率性能计数器和计时器。 |
阶段:需求
Microarchitectural秘密通道可以使用的硬件和软件解决缓解技术。这些包括分区缓存,新的屏障和刷新指令,禁用高分辨率性能计数器和计时器。 |
笔记
维护
CWE 4.9, CWE硬件的成员团体密切分析这个条目和其他改善CWE瞬态执行弱点的报道,其中包括幽灵相关的问题,崩溃,和其他攻击。额外的调查可能包括相关弱点microarchitectural状态。最后,这个条目的示范例子可能不合适。因此,该条目可能会改变显著CWE 4.10。
引用
[ref - 1121],莫里茨Lipp丹尼尔花岗岩碎砾,托马斯•Prescher迈克尔•施瓦兹沃纳哈斯,拉斯穆森(Anders Fogh, Jann角、Stegfan Mangard,保罗•Kocher Daniel Genkin Yuval Yarom和迈克Hamberg。“危机:阅读内核内存从用户空间”。2018-01-03。< https://meltdownattack.com/meltdown.pdf>。 |
[ref - 1122],莫里茨Lipp丹尼尔花岗岩碎砾,托马斯•Prescher迈克尔•施瓦兹沃纳哈斯,拉斯穆森(Anders Fogh, Jann角、Stegfan Mangard,保罗•Kocher Daniel Genkin Yuval Yarom和迈克Hamberg。“幽灵攻击:利用投机执行”。2018-01-03。< https://spectreattack.com/spectre.pdf>。 |
|
|
|