arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 1801.04084cs.CR
收藏

Speculose:分析CPU中推测执行的安全含义

Speculose: Analyzing the Security Implications of Speculative Execution in CPUs

Giorgi Maisuradze, Christian Rossow

摘要:

每当现代CPU遇到一个条件分支的条件还不能评估,他们预测可能的分支目标和推测性地执行代码。这种流水线是优化运行时性能的关键,并且已经在CPU中使用了超过15年。在本文中,据我们所知,我们是第一个研究的内部工作原理和安全的影响,这种投机执行。我们重新考虑假设,推测执行的代码不会留下任何痕迹的情况下,它没有提交。我们揭示了几个可测量的副作用,允许对手枚举映射内存页和读取任意内存-所有使用的只是推测的代码,从来没有完全执行。为了证明这种攻击的实用性,我们展示了用户空间攻击者如何探测内核页面,以便在不到三秒的时间内可靠地破坏Linux中的内核级ASLR,并在不到一秒的时间内将Windows 10 KASLR熵减少18位。

英文摘要:

Whenever modern CPUs encounter a conditional branch for which the condition cannot be evaluated yet, they predict the likely branch target and speculatively execute code. Such pipelining is key to optimizing runtime performance and is incorporated in CPUs for more than 15 years. In this paper, to the best of our knowledge, we are the first to study the inner workings and the security implications of such speculative execution. We revisit the assumption that speculatively executed code leaves no traces in case it is not committed. We reveal several measurable side effects that allow adversaries to enumerate mapped memory pages and to read arbitrary memory---all using only speculated code that was never fully executed. To demonstrate the practicality of such attacks, we show how a user-space adversary can probe for kernel pages to reliably break kernel-level ASLR in Linux in under three seconds and reduce the Windows 10 KASLR entropy by 18~bits in less than a second.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑