休闲

幽灵漏洞补丁

时间:2010-12-5 17:23:32  作者:娱乐   来源:时尚  查看:  评论:0
内容摘要:2018年1月3日,Google Project Zero团队公开了一个被命名为“Meltdown”和“Spectre”的CPU漏洞。这不是一个普通的软件bug,而是现代处理器架构设计层面的缺陷。攻击

2018年1月3日,幽灵Google Project Zero团队公开了一个被命名为“Meltdown”和“Spectre”的漏洞CPU漏洞。这不是补丁一个普通的软件bug,而是幽灵现代处理器架构设计层面的缺陷。攻击者可以利用它读取内核内存中的漏洞敏感数据——密码、密钥、补丁任意进程的幽灵内存内容。修复它,漏洞要么改硬件,补丁要么用补丁硬扛性能损失。幽灵整个行业被迫在“安全”和“速度”之间做选择。漏洞

要理解这个漏洞,补丁得先知道CPU的幽灵一个基本机制:推测执行。处理器为了提高效率,漏洞会在指令还没确定要不要执行之前,补丁就提前“猜”着跑一遍。猜对了,省时间;猜错了,回滚。问题出在回滚上——寄存器状态能恢复,但缓存状态恢复不了。攻击者通过测量缓存访问时间,就能反推出那些本不该被看到的数据。

这个漏洞影响几乎所有的现代处理器。Intel、AMD、ARM,无一幸免。云服务商最头疼,因为同一台物理机上跑着不同租户的虚拟机,理论上一个租户可以偷另一个租户的数据。AWS、Azure、Google Cloud紧急排查,连夜打补丁。个人用户感受到的则是系统变慢——某些场景下性能下降高达30%。

补丁方案分两类。一类是修改内核页表隔离机制,把内核内存和用户内存彻底分开映射。Linux的KAISER补丁就是这个思路,后来演变成KPTI。代价是每次系统调用和中断都要切换页表,上下文切换开销大增。另一类是微码更新,针对具体CPU型号调整推测执行的行为,比如增加屏障指令或者限制推测范围。Intel发了多轮微码,有些主板厂商跟进了,有些没有。老平台用户基本被放弃了。

我自己的一台2015款MacBook Pro,打补丁后编译代码的时间从4分半涨到了将近6分钟。苹果在macOS 10.13.2里集成了缓解措施,没有提供关闭选项。论坛上有人测出SSD随机读写性能下降了10%到15%。这种损失对普通办公用户感知不强,但对数据库、虚拟化、高频交易这些场景,就是真金白银的成本。

更麻烦的是,Spectre的变种一个接一个。2018年5月发现Spectre-NG,7月发现NetSpectre,2019年又出了ZombieLoad。每个变种都需要新的缓解措施,每个措施都吃掉一部分性能。芯片厂商的应对策略是:新一代硬件从设计上修,老硬件靠软件补丁凑合。Intel从Ice Lake开始加入硬件级缓解,AMD的Zen 2也做了类似改进。但存量市场太大了,全球有数十亿台设备还在跑着带漏洞的CPU。

这件事暴露了一个尴尬的现实:性能竞赛跑了几十年,安全性一直是事后才考虑的东西。推测执行、乱序执行、缓存预取,这些技术让CPU飞快,但没人认真想过它们会被侧信道攻击利用。现在补课的成本,由整个行业和所有用户一起承担。

如果你手里有老设备,能更新固件就更新,操作系统补丁别关。性能损失是真实的,但数据泄露的风险更真实。至于那些已经停止支持的平台,只能自己权衡了——要么忍受慢,要么接受不安全。没有两全其美的选项。

最近更新
热门排行
copyright © 2026 powered by 力不从心网   sitemap