CPU安全漏洞及其缺陷补丁的指南
在过去的20年中,从Heartbleed到Mirai僵尸网络,一直存在许多重大安全威胁。事实证明,过去两年并没有什么不同。实际上,在2018年新年的短短一周内,我们了解到在过去二十年中制造的大多数处理器芯片存在严重的设计缺陷。
令人担忧的是,网络安全专家报告说,这可以使用称为幽灵和熔化的技术进行利用,使设备易受黑客攻击,并且需要操作系统补丁才能修复它。
在此期间,大量的水已经通过桥下,所以对于任何需要赶上的人来说,这里是整个惨败的完整指南。
设计缺陷
安全漏洞是设计缺陷的结果,该设计缺陷最初出现在过去20年生产的所有英特尔芯片中(自1995年以来,除了2013年之前的英特尔安腾和英特尔凌动以外,实际上是每个处理器)。
单靠软件无法减轻幽灵漏洞
该缺陷基本上使普通用户程序(例如数据库应用程序和Web浏览器中的JavaScript)能够识别易受攻击芯片的受保护内核存储区域的一些布局或内容。
计算机芯片上的内核响应于用户正在执行的命令,围绕芯片的各个存储器部分移动数据。通过以不同方式利用内核,Meltdown和Spectre有可能允许入侵者访问以前被认为完全受保护的数据。
Meltdown和Spectre究竟是什么?
Spectre和Meltdown是同一漏洞的不同变体的名称。两者都包含恶意代码,可以访问通常受内核保护的数据。
熔化是所谓的,因为它能够“融化”通常在芯片硬件级别设置的限制,理论上至少应该保护存储器的扇区。在这些防御中,Meltdown允许攻击者或恶意软件访问和撬开他们无法访问的数据。
另一方面,幽灵的名字来自一个称为“推测性执行”的程序,该程序应该帮助计算机以非线性方式执行动作,从而提高执行速度。
例如,如果用户运行的程序遵循'if X,则Y'规则,那么如果用户选择执行X,则芯片必须继续执行Y.执行推测执行的芯片将开始执行Y.在用户选择执行X之前,先进行计算。这样做会泄漏应该保密的数据。
Spectre攻击需要更多关于受害者程序内部工作的知识,并且不允许访问其他程序的数据,但也可以在任何计算机处理器上工作。
该官方网站幽灵(是的,有一个)■虽然Spectre比Meltdown更难以利用,但它也更难以缓解。它打破了不同应用程序之间的隔离,并允许攻击者利用遵循最佳实践的无错程序泄露其秘密。但是,可以通过软件补丁防止基于Spectre的特定已知攻击。
哪些系统受到影响?
这取决于你正在看的攻击。熔化主要影响英特尔处理器,目前尚不清楚AMD处理器是否也受到影响。ARM称其部分处理器也受到影响。
然而,幽灵更为普遍。几乎每个系统都受到Spectre的影响,包括台式机,笔记本电脑,云服务器甚至智能手机。更具体地说,所有能够保存许多指令的现代处理器都可能存在漏洞,这意味着所有流行的操作系统,包括Windows,Linux和macOS都会受到影响。
我受影响了吗?
几乎所有在过去20年中创建的所有主要制造商的芯片都受到Spectre或Meltdown或两者的影响。
虽然英特尔是第一个被认定的 - 并且是第一个在私人和公共场合承认这个问题的人 - 但ARM和AMD CPU也受到了影响。
这三个人都为他们的组件发布了补丁(下面有更多信息),通常包括微码缓解。其中一些比其他更成功,英特尔尝试发布一些不会导致计算机重复重启或运行极慢的重大问题的尝试。
因此,如果您运行的计算机或服务器最近购买的数量超过1995年并且尚未安装芯片制造商发布的补丁程序,那么您的系统几乎肯定会受到影响。
修补问题
在2018年初知道漏洞时修补漏洞的竞争中,供应商发布的更新为用户带来了许多问题。
在1月份发布修复程序后不久,微软在安装了安全补丁后,许多支持AMD的PC无法启动后删除了更新。
这个问题引起了微软对其客户支持博客的关注,用户表示他们的设备在安装1月3日和9日推送到他们设备的更新后停止加载“开始”菜单或任务栏。运行Windows 10,Windows 8.1和Windows 7的计算机似乎都受到了影响,其中一些机器可以追溯到10年前。
然而,在发布CPU错误修复后,英特尔遇到了更大的问题。
在发现Spectre补丁对数据中心芯片的性能影响高达25%,对其他系统影响3%到4%之后,该芯片巨头退回并决定建议客户不要下载补丁,因为重启和性能打击他们造成了。
该公司的执行副总裁Navin Shenoy建议原始设备制造商,云服务提供商,系统制造商,软件供应商和最终用户“停止在[a]特定平台上部署当前版本,因为它们可能会引入高于预期的重启和其他不可预测的系统行为“。
这适用于由英特尔前几代芯片驱动的系统,包括Broadwell,Haswell,Coffee Lake,Kaby Lake,Skylake和Ivy Bridge系列。
在Linux内核邮件列表的一篇文章中,Linux创建者Linus Torvalds抨击了英特尔的惨败,称这些补丁“对他们所安装的系统的性能”做了“确实疯狂的事情”。
“他们做的事情没有意义,”托瓦兹宣称。“这使你所有的论点都有疑问和怀疑。补丁做了一些不理智的事情。“
他说,补丁是“忽略了更糟糕的问题,即整个硬件界面实际上是由蠢货设计错误的”。
然而,2月份,英特尔终于发布了其Skylake芯片的工作更新。它可能在最初的错误补丁发布三周后到达,但该公司表示已成功开发了许多微码解决方案,以保护其客户免受Meltdown和Spectre攻击。
发布的更新包括针对Kaby Lake和Coffee Lake平台的OEM客户和合作伙伴的修复,以及其他基于Skylake的平台。其中包括其第六代,第七代和第八代英特尔酷睿产品线以及最新的英特尔酷睿X系列处理器系列。
最近发布的用于数据中心系统的英特尔至强可扩展和英特尔至强D处理器也包含在补丁中。
“这项工作包括客户和行业合作伙伴的广泛测试,以确保更新版本已准备好投入生产,”Shenoy在一篇博客文章中说。“我代表全英特尔,感谢我们的每一位客户和合作伙伴,感谢他们在整个过程中的辛勤工作和合作。”
然而,目前尚不清楚英特尔是否已经成功修补了其第四代和第五代Haswell和Broadwell CPU。
我可以打补丁吗?
建议关注Spectre和Meltdown影响的用户在设备制造商发布时定期发布补丁,同时希望它们不会对机器的性能造成太大的意外后果。
例如,微软最近禁用了其Spectre补丁,称与用户在某人的设备上发起幽灵攻击的低风险相比,性能影响太大。但是,如果您是一个大型企业,可能是恶意行为者的利润丰厚的目标,那么无法修补Spectre不是一种选择。
Torvalds的突发事件也是针对这样一个事实,即英特尔计划绕过其补丁对性能的打击是为了使Meltdown修复程序可选,因此运送故障硬件,用户随后必须自行修补。
然而,在2月初,英特尔为运行基于Skylake的Core或Core M处理器的设备发布了一个新的补丁,声称它不会引入任何不良副作用。针对Haswell和Broadwell运行的PC的同样有效的补丁仍在开发中,但英特尔还为其Kaby Lake,Coffee Lake,第六代,第七代和第八代Intel Core i和Core X系列推出了补丁。
然而,在4月份,英特尔认为其部分受影响的CPU太难以修补。该芯片制造商发布了一份修订公告,将16个微码更新列为“已停止”,这意味着虽然补丁先前已经发布,但它们已不再推出。
英特尔给出的原因不同于由于其设计而将芯片修补的困难,以及一些正在为“封闭系统”供电的事实,公司将其留给其硬件合作伙伴自行发布BIOS更新。
当月晚些时候,AMD最终发布了一系列更新,以帮助保护系统免受其芯片中发现的Specter漏洞的影响,这些漏洞是在2018年初首次向公众披露之后数月。
谷歌研究团队表示,如今所假设的那样,通过应用软件修复程序无法完全缓解当今许多处理器中存在的Spectre漏洞。