安全与密码学2019arxiv.org编辑精选
Spectre 将长期存在:侧信道与推测执行分析
Spectre is here to stay: An analysis of side-channels and speculative execution
进阶 · 约 60 分钟读完前置知识:计算机体系结构基础、乱序执行与推测执行、侧信道攻击基础
导读
这篇论文分析了 Spectre 类攻击所依赖的微架构侧信道,指出这些侧信道并非可以修复的 bug,而是乱序执行和推测执行等性能优化技术的固有基础。作者认为 Spectre 威胁将长期存在,需要从架构和系统层面持续应对,而非指望一次性补丁。
HN 关注点:既然推测执行无法根除,CPU 设计和云计算安全该如何应对——讨论焦点集中在无推测执行 CPU、可信核等替代方案上。
后来怎么样
这篇论文的观点被业界广泛接受:Spectre 类漏洞至今未被彻底修复,芯片厂商和操作系统持续通过微码更新、缓解措施(如 KPTI、retpoline)应对,推测执行侧信道成为长期安全研究议题,衍生出大量后续变体攻击与防御工作。
HN 评论精选
这几条评论里:质疑 2 补充 2
补充推测执行无法根除,未来芯片可能需要性能核+可信核的分离设计
既然这些侧信道是优化技术的根基而非 bug,那么云 CPU 可能需要非推测执行模式,并更努力地把不可信代码挡在高性能 CPU 之外,甚至可能出现同时拥有性能核和可信核的芯片。
phkahler查看英文原文
>> These attacks leak information through micro-architectural side-channels which we show are not mere bugs, but in fact lie at the foundation of optimization. So we'll need to have non-speculative execution for cloud CPUs and stronger efforts to keep untrusted code off our high performance CPUs. This may even lead to chips with performance cores and trusted cores.
质疑主张转向无推测执行的简单多核 CPU,而非持续打补丁
干脆用没有推测执行和 SMT(超线程也有类似问题)的 CPU 如何?当然需要其他优化来弥补性能损失,这是可以解决的工程问题。我猜想方向是更多、更简单的小核,配合更好的内存架构和编程模型,ARM 甚至 RISC-V 系统或许能借此切入。我是软件出身,但比起打地鼠式的补丁,我更信任从根本上无法被这些侧信道攻击利用的简单 CPU。
rickmode查看英文原文
How about CPUs without speculative execution and simultaneous multithreading (SMT / Hyper-Threading, which has similar issues)? We would, of course, need other optimizations to claw back the performance loss--an engineering problem I feel we can solve. I've wondered if the solution is more, simpler cores. We concentrate on smaller, faster cores, and the programming to utilize them better. Perhaps advances in memory architectures as well. Hardware isn't my specialty, so I'm just brainstorming here. Perhaps this is where ARM and even RISC-V based systems can step in. But I'm a software guy, so what do I know? I just know I'd feel more comfortable with systems based on simpler CPUs that just cannot be exploited by the recent side-channel attacks discovered, rather than trying playing whack-a-mole with patches, along with trying to reason when it might be safe to use CPUs with these optimizations.
质疑侧信道攻击难以像内存漏洞那样自动化检测,质疑该领域工具的成熟度
侧信道攻击是最让我恐惧的一类,因为代码本身运行正常,只是时序上的细节泄露了信息。缓冲区溢出至少还有模糊测试等自动化手段去发现,侧信道有没有类似的模糊测试或时序统计分析方法?我找到一篇相关论文,但这个领域似乎还很新,不知道成熟度如何。
openasocket查看英文原文
Side-channel attacks are some of the most terrifying to me, because fundamentally your code works fine, it's just some detail in the timing that gives away information. At least with buffer overflows there are automated ways to try and find them, like fuzz testing. It's not perfect, but at least it's something to try and validate you are doing the right thing. Is there some sort of fuzz testing that could potentially find side-channel timing attacks? Maybe some sort of statistical analysis on the timing results? I found this https://arxiv.org/pdf/1811.07005.pdf but it seems to be fairly recent, and I don't know how mature this area is.
补充补充 Project Zero 等背景资料帮助理解攻击原理
分享几篇有助于理解这个问题的资料:realworldtech 上关于 Sandy Bridge 的深入分析、乱序执行的维基条目、Google Project Zero 关于用侧信道读取特权内存的博客,以及对应的 issue 追踪。
rolph查看英文原文
I found some good reads here if anyone would like to review and get a good perspective: https://www.realworldtech.com/sandy-bridge/10/ https://en.wikipedia.org/wiki/Out-of-order_execution https://googleprojectzero.blogspot.com/2018/01/reading-privileged-memory-with-side.html https://bugs.chromium.org/p/project-zero/issues/detail?id=1272
相关资源
从这篇论文所有 HN 讨论帖的全部评论里整理出来的链接。
历次讨论
- 2019Hacker News 讨论帖169 分 · 69 评
同领域还值得读
如何入侵一台已关机的电脑:在 Intel ME 中运行未签名代码
How to hack a turned-off computer, or running unsigned code in Intel ME
这篇 Black Hat 2017 白皮书讨论 Intel Management Engine(ME)的安全问题:如何在 ME 中运行未签名代码,以及攻破处于关机状态的电脑的相关…
安全与密码学2017 · 543 分 · 107 评专业 · 约 40 分钟编辑精选比特币:一种点对点的电子现金系统(2008)
Bitcoin: A Peer-to-Peer Electronic Cash System (2008)
中本聪 2008 年发表的比特币白皮书,提出了无需可信第三方的点对点电子现金系统。
安全与密码学2017 · 536 分 · 394 评入门 · 约 45 分钟编辑精选GPRS 加密算法 GEA-1 的密码分析表明存在故意弱点
Cryptanalysis of GPRS Encryption Algorithms GEA-1 suggest intentional weakness
首次公开了对 GPRS 加密算法 GEA-1 和 GEA-2 的密码分析攻击。
安全与密码学2021 · 487 分 · 107 评专业 · 约 90 分钟编辑精选Signal 消息协议的形式化安全分析
A Formal Security Analysis of the Signal Messaging Protocol
用形式化方法分析 Signal 消息协议(TextSecure)的安全性:作者在多阶段密钥交换模型下,借助自动化证明工具对协议的密钥协商与 Double Ratchet 密钥更新…
安全与密码学2016 · 353 分 · 230 评专业 · 约 120 分钟编辑精选A2:模拟恶意硬件
A2: Analog Malicious Hardware
论文研究如何在芯片设计阶段植入模拟电路形式的恶意硬件后门,使其难以被常规检测发现。
安全与密码学2016 · 315 分 · 94 评专业 · 约 75 分钟编辑精选