漏洞数量242:15,英特尔和AMD CPU谁更安全?
直到最近几年,普通用户和网络安全研究人员都大多担心过多的软件漏洞,而这些漏洞似乎永远不会消失。
随着在2018年1月谷歌批露了Meltdown和Spectre CPU设计缺陷开始,许多用户和安全研究人员意识到,为我们的电脑提供动力的CPU并不像我们以前想象的那样安全且。
这给我们留下了一个问题:哪个公司更安全?当我们认为英特尔目前有242个公开披露的漏洞,而AMD只有16个(对AMD有利的比例为15:1)时,这个问题似乎显得很紧迫。
2018年:处理器安全元年
2018年1月,谷歌的零号项目安全专家以及其他独立的安全研究人员披露了 Meltdown和Spectre CPU设计缺陷。这些漏洞的存在是由于大多数CPU体系结构团队为了提高其芯片性能而做出的设计选择。
Meltdown漏洞(也称为Spectre变体3)专门影响Intel的CPU。它允许第三方代码破坏通常由硬件实施的应用程序与操作系统之间的隔离。攻击者可以使用它来访问其他应用程序和操作系统的内存,从而使他们能够窃取秘密。
Spectre漏洞打破了不同应用程序之间的安全边界,甚至使那些遵循最佳编码实践的应用程序也变得容易受到利用PC侧通道安全漏洞的攻击者的攻击。
Spectre几乎影响所有使用预测执行来提高性能的乱序CPU,包括AMD和Arm的处理器。但是,Spectre家族新发现的侧通道攻击似乎比其他两家供应商对英特尔的影响更大,这意味着英特尔可能比竞争对手拥有更多的CPU自由来保持性能优势。
预测执行是一种CPU设计功能,它使CPU可以处理下一步可能需要或不需要的某些任务。如果需要这些任务,则在需要时可以更轻松地访问它们,因此与没有此功能的情况相比,CPU的性能得以提高。
这也是为什么尽管Spectre的特定变体可以通过软件固定甚至可以在硬件中缓解的原因,但直到CPU制造商决定足够的可能性并完全禁用预测执行功能,或者设计全新的架构。。
这不仅是一种理论,而且自从首次披露Meltdown和Spectre缺陷(不到两年)以来已经发生了好几次。
在研究人员披露Spectre数月之后,另一组安全研究人员准备披露 “ Spectre Next Generation” 新的预测执行漏洞家族。据称,英特尔试图推迟披露,因为该公司在那年早些时候因《幽灵》的首次曝光而遭受了巨大的公关打击。
预测性执行至少造成了三个其他错误,即TLBleed, Foreshadow 和Zombieload,这些错误实际上使英特尔的超线程技术不安全。OpenBSD创始人Theo de Raadt已 警告不要 一开始就在Intel计算机上启用超线程。
直到最新的 Zombieload攻击 ,其他操作系统供应商(例如Google甚至Apple)才加入了OpenBSD创始人的行列。Google 禁用了所有Chromebook上的超线程,而苹果公司仅指出,要完全缓解Zombieload和其他微体系结构数据采样(MDS)漏洞,就需要禁用超线程,这是用户的一种 选择。
英特尔本身也建议禁用超线程功能,但仅向“不能保证受信任的软件在其系统上运行”的某些客户禁用。不过什么是受信任的,什么不是?
攻击面
绝大多数预测性执行攻击不会影响到AMD的处理器,只有少数例外,例如Spectre变体1、1.1和4,后者被称为 Speculative Store Bypass。
AMDCPU也受到PortSmash的影响,PortSmash是一个影响其同时多线程(SMT)功能的漏洞,该功能类似于英特尔的超线程。AMD处理器也容易受到NetSpectre和SplitSpectre的攻击,因为这些漏洞影响了处理器,而这些处理器也容易受到Spectre v1的攻击。
AMD的处理器容易受到Spectre变体2的影响,该公司对此进行了更新,但它表示, 与英特尔设计相比,其架构存在差异,“利用风险几乎为零”。
AMD的芯片还受到新的Meltdown and Spectre攻击中的 五种的攻击,其中包括一些发现原始Spectre andMeltdown设计缺陷的原始研究人员。英特尔的芯片容易受到所有七个漏洞的影响。
AMD的CPU(包括最新的Ryzen和Epyc处理器) 不受 以下漏洞的影响:
Meltdown (Spectre v3)
Spectre v3a
LazyFPU
TLBleed
Spectre v1.2
L1TF/Foreshadow
SPOILER
SpectreRSB
MDS attacks (ZombieLoad, Fallout, RIDL)
SWAPGS
英特尔和AMD都针对上述所有缺陷发布了固件和软件补丁,尽管如果更新过程取决于主板或设备制造商而不是英特尔/ AMD或操作系统供应商,则并非所有缺陷都已经到达用户手中。例如Microsoft,Apple等。
获胜者:AMD
降低Spectre软件对性能的影响
在公众了解到Spectre和Meltdown最初的缺陷之前,芯片制造商有大约6个月的时间对它们发出警告。这也引起了争议,因为并不是所有的操作系统供应商都同时了解到这一点。有些人被要求在几天或几周内处理漏洞。
即使有了6个月的领先优势,最初的修复也在人们的电脑上造成了不少问题,从性能显著下降到导致电脑死机。随着几个月后的一些更新,情况有所改善。
然而,即使这些补丁被优化以最小化性能损失,对于芯片制造商(尤其是Intel)来说,在处理所有spectree级漏洞的补丁时,仍然很难同时最小化补丁的性能开销。
根据最近的一份报告,英特尔必须提供的所有补丁程序 使用户的PC 和服务器的速度降低了大约是AMD自己的补丁程序的五倍。这是一个很大的差距,主要是因为英特尔必须比AMD修复更多的安全漏洞。
也许由于Intel因Spectre级的安全漏洞不得不发布大量的固件和软件缓解措施,该公司也改变了主意,不再向其处理器中添加基于硬件的缓解措施。最初,英特尔不太愿意这样做,或者至少不愿对其架构进行重大更改。但是,它后来致力于 “安全第一”的原则。
在某些方面,该公司履行了这一承诺。英特尔在Meltdown和Foreshadow中包括了硬件缓解措施,从 Whiskey Lake和Cascade Lake处理器开始,在某些最新的CPU 中还包括了部分MDS硬件缓解措施,
英特尔还承诺将对Spectre v2进行硬件修复,并已实现使用内置硬件和软件的部分修复。不过英特尔尚未承诺在硬件中修复最危险的推测执行攻击Spectre v1。
在某些情况下,据称英特尔还忽略或轻描淡写了某些Spectre类漏洞的披露。就MDS攻击而言,据称英特尔呼吁漏洞 研究人员拼底MDS攻击的严重性,不过这个提议被拒绝了
目前还不清楚英特尔是否有意避免修复Spectre v1和其他在硬件上的侧通道攻击,因为它很昂贵,可能会破坏太多东西,或者只是在等待时机,直到它准备好发布这样的处理器。
有一点似乎很清楚,那就是用于投机性执行端侧通道攻击的软件补丁不足以防止类似的新攻击出现。漏洞研究者们表示怀疑,即试图修补体系结构是否会因体系结构设计变更而带来长期的安全利益。
因此,如果英特尔,AMD和其他芯片制造商不愿意改变其CPU架构的设计,我们将永远被Spectre级的旁通道攻击所困扰 。
同时,AMD尚未在其已经出货的芯片中增加任何新的芯片缓解措施,尽管它正在将其应用于更新的型号中。但是,值得一提的是,AMD不需要像英特尔那样进行太多改动来抵御漏洞,因此它不需要基于硬件的修补程序。
英特尔的ME和其他安全漏洞
在Spectre漏洞被发现之前,甚至以后,英特尔芯片最大的与隐私或安全性相关的问题都围绕着英特尔的内置管理引擎展开。但是,尽管其他漏洞可能同样重要,但预测性执行侧通道漏洞掩盖了所有其他安全漏洞。
2017年, 英特尔确认了ME 中的一个安全漏洞,攻击者可以利用该漏洞远程利用固件并接管任何由英特尔支持的计算机。自2008年以来,该错误影响了所有处理器。
在2017年晚些时候,研究人员发现了另一个ME漏洞,从2015年的Skylake到2017年的Coffee Lake,都受到了影响。即使用户可以通过正常方式禁用ME,或通过非官方方式禁用ME,该漏洞也可使ME保持活动状态。
安全研究人员找到了一种方法, 可以通过英特尔为政府机构秘密实施的无证模式,在同一年禁用英特尔ME。据推测,英特尔这样做是为了让NSA和其他政府机构禁用ME的潜在易受攻击的功能,从而影响PC市场上的其他所有人。
研究人员还在 2018年发现了 两套新的 ME安全漏洞,而英特尔正在深入应对Spectre后果。
由于担心ME可能是“官方”后门或可能被恶意团体使用,一些计算机制造商(例如 Purism, Systems 76甚至Dell)已开始提供默认情况下禁用ME的笔记本电脑。Google则在其某些内部设备禁用ME。
在撰写本文时,公开披露的Intel固件漏洞有242个。
AMD的PSP,Ryzenfall,Chimera和其他CPU缺陷
AMD平台安全处理器(PSP),也称为AMD安全处理器,使用Arm Cortex-A5处理器将某些芯片平台功能与主处理器和主操作系统隔离。它与AMD的ME类似,并且与ME一样,如果恶意方发现其中的错误,也有可能被利用来产生毁灭性的影响。
自2017年以来,至少发现了三个PSP漏洞。一位谷歌安全研究人员在2017年发现了一个漏洞可能使攻击者能够访问密码,证书和其他敏感信息。
在2018年发现了其他PSP错误,并披露了总共13个影响AMD基于Zen的处理器的安全漏洞。研究人员将它们分为四类: Ryzenfall,Chimera,Fallout和Masterkey。
根据研究人员的说法,Ryzenfall错误会使攻击者完全控制AMD安全处理器。结合归类为Masterkey的Bug,攻击者还能够在目标计算机上安装持久性恶意软件。
Chimera漏洞涉及两个制造商ASMedia芯片组后门的存在 ,一个在固件中,另一个在芯片组的硬件(ASIC)中。后门程序允许将恶意代码注入Ryzen芯片组。
Fallout漏洞使攻击者可以读写受保护的内存区域,例如SRAM和Windows Credential Guard隔离内存。
AMD在很大程度上淡化了这些漏洞,称在大多数情况下,攻击者需要通过物理访问来利用这些安全漏洞。然而,在CVE详细信息数据库中,我们可以看到,他们中的大多数都有一个非常高的严重性评级:
AMD已经向所有硬件受到这些漏洞影响的oem和odm发布了补丁,但和往常一样,这取决于这些公司对用户电脑的补丁,这使得支持参差不齐。
研究人员还发现, AMD 针对Epyc服务器芯片的安全加密虚拟化(SEV)功能有时是不安全的。第一个SEV漏洞是作为之前提到的Masterkey公开的一部分发布的。研究人员表示,可以利用Masterkey错误来篡改SEV和固件可信平台模块(fTPM)的安全性。
另一组研究人员披露了第二个SEV漏洞,即 SEVered,仅在几个月后的2018年5月。该漏洞可能使攻击者能够远程提取通常由SEV保护的虚拟机的内存内容。
一位Google研究人员在 今年初发现了 最新的SEV漏洞。再次,它涉及一个漏洞,该漏洞使攻击者可以提取SEV功能使用的加密密钥来加密受保护VM的内存内容。
换句话说,这是大约一年来第三次证明SEV无法完成其工作-保护VM内存。这并不一定会使英特尔的类似SGX功能处于更好的位置,因为它也发现有 一些 由Spectre系列旁通道CPU缺陷引起的 弱点。
最新的Intel CPU安全措施
对于现代处理器的安全性而言,这并不是一个坏消息。尽管这仍然是一个新兴的计划,但是在研究人员披露了第一个Spectre漏洞之后,英特尔承诺将安全性放在首位。
如前所述,该公司已承诺减轻硬件中Spectre漏洞的危害,其中许多已经当前时代的处理器中得到修正。
然而,最终这些只是一开始就不应该被破坏的问题的小规模修复,我们正在寻找修复破坏的架构之外的安全性。那么英特尔处理器在用户安全方面还能提供什么呢?
软件保护扩展(Software GuardeXtensions,简称:SGX)可能是英特尔近年来发布的最受欢迎和最先进的处理器安全特性。SGX允许应用程序将敏感数据(如密码密钥)存储在硬件加密的RAM中的安全虚拟区域中,操作系统或其他第三方应用程序无法访问这些数据。诸如端到端的加密信号信使之类的应用程序可以利用它,以便可以将用户安全私密地配对。
英特尔TME / MKTME
英特尔最近还宣布了发展SGX的计划,以便能够提供全内存加密(TME),而不是像SGX那样只加密一小部分内存。新特性实际上是两个功能合一:TME为所有内存提供一个单一的加密密钥,而另一个变体称为多密钥总内存加密,它提供全内存加密,支持多个密钥,比如每个加密的VM一个密钥。
MKTME允许在内存中进行加密、静态加密和传输加密。由于英特尔的新功能发布的时间比AMD稍晚,或许该公司已经从其竞争对手在SEV和SGX上的失误中吸取了教训。
硬件内存加密将为用户带来重大的安全优势,因为它会使应用程序将来更加难以从他人窃取数据(授予的操作系统也对允许应用程序共享数据的API进行了严格限制)。但是,目前尚不清楚英特尔和AMD是否打算将这项功能留给企业客户使用,或者是否也将为主流用户启用。
最新的AMD CPU安全措施
AMD在内存加密方面可能已经晚了一步,因为英特尔抢先推出了SGX。然而,当AMD推出Ryzen处理器时,这些处理器同时具有安全内存加密(SME)和安全加密虚拟化(SEV),这些特性过去和现在都比Intel的先进得多。
AMD SME
SME功能通常在引导时在BIOS或其他固件中启用。它使用通过硬件随机数生成器生成的单个临时128位AES加密密钥提供页面粒度内存加密支持。SME使应用程序可以标记用于加密的某些内存页。
然后,当应用程序需要读取或写入数据时,将自动对这些页面进行加密和解密。该功能可防止遭受旨在窃取仍驻留在纯文本RAM中的敏感客户数据的物理攻击。
AMD TSME
AMDTSME(Transparent SME)是SME的更严格的子集,默认情况下会加密所有内存,并且不需要应用程序以自己的代码支持它。对于不再期望修改其代码的旧应用程
AMD最近似乎将TSME重新命名为“Memory Guard”,并将其作为公司新推出的Ryzen Pro 3000 cpu的GuardMI的一部分。GuardMI是AMD对英特尔vPro的替代产品,它为企业客户提供了可管理性和安全特性。目前AMD相对于英特尔的一个特点是内存保护,它可以保护系统的数据不受冷启动攻击。
AMD SEV
AMD的SEV是SME的扩展,它使用自己的临时加密密钥对每个虚拟机的内存进行加密。这样,虚拟机可以保持彼此完全隔离。AMD在为索尼和微软的游戏机开发安全功能时提出了这个想法 。
实际上,像英特尔SGX一样,SEV仍然容易受到侧通道攻击或其他利用加密密钥访问的攻击。在确保这些功能几乎不受攻击方面,AMD和Intel仍有许多工作要做。
获胜者:AMD
为什么处理器安全很重要
为什么还要关心处理器安全性呢?Windows、macOS或Linux的安全特性还不够吗?不是数据中心和网络托管公司需要担心这些攻击?
首先,硬件在低于操作系统的级别上运行。另一种说法是,硬件控制软件的最终功能。因此,如果有人接管了硬件,这意味着他们现在也可以控制操作系统和应用程序的功能。这包括攻击者可以控制这些安全特性的工作方式,或者完全禁用这些特性。
其次,即使没有人会试图在网上以您的名字作为目标,您仍然可能是恶意软件大规模感染的受害者,这些恶意软件通过广告网络,您访问的被黑站点,内部工作网络等传播。硬件漏洞利用可能是整个漏洞利用工具链的一部分,这些工具的主要目标是:窃取他们遇到的任何人的数据。
如果您不能保证设备中硬件的安全性,那么您喜欢的操作系统或应用程序的所有安全性功能基本上都是无关紧要的。例如,这就是为什么苹果和谷歌已经开始 构建自己的服务器 或停止从不太值得信赖的服务器硬件提供商那里购买的原因。两家公司都在软件方面实现了一流的安全性,但是如果他们使用的硬件中存在后门,那么这些工作都是徒劳的了。
结论:英特尔与AMD处理器谁更安全?
从短期来看,尽管两家公司尽了最大的努力,但在AMD和Intel的处理器都变得更好之前,情况可能会变得更糟。是的,我们可能会获得更多的硬件缓解措施-也许足以使大部分消费者和媒体安心,但由于扭转主要处理器体系结构所涉及的所有困难和成本,还不足以解决所有问题。
在未来的几年中,我们还将从英特尔和AMD那里获得一些有趣的新安全功能。但是,随着越来越多的研究人员开始更深入地研究他们的CPU微体系结构,未来几年可能会被两家公司的处理器中发现的更多安全漏洞报告所控制。
两家公司也将花费数年的时间来修复研究人员在新架构设计中发现的缺陷。最后,一切都应该变得更好,因为它将迫使处理器变得更加成熟。
既然都不太安全,那么这两家公司到底谁会更安全一些?我们分析如下:
1)英特尔目前有242个公开披露的漏洞,而AMD只有16个。这在AMD的偏爱中是15:1。差距太大了,不容忽视。
2)自2018年初以来,针对英特尔披露的投机性执行侧通道攻击似乎只有不到一半影响了AMD的Ryzen和Epyc CPU。确实,在某些漏洞被宣布影响英特尔的CPU的情况下,研究人员可能并未主要研究AMD的CPU。但是,即使到那时,AMD在仔细检查漏洞如何影响其自身的处理器之后,仍然确认这些错误不会影响其处理器。实际上,AMD似乎在设计新的Ryzen微体系结构时考虑到比英特尔本质上基于Nehalem的微体系结构更好的安全性。为什么以Nehalem为基础?因为至少从2008年Nehalem微体系结构问世以来,大多数推测性执行攻击都会影响英特尔的CPU。
3)随着新的Zen架构的发布,在支持新的硬件加密功能方面,AMD在支持新的硬件加密功能方面似乎也领先英特尔一步。AMD在安全方面是否会保持这样的速度还有待观察,因为英特尔试图解决Spectre的所有问题并改善其在消费者心目中的形象,但至少目前来看,AMD似乎处于领先地位。即使不考虑与Spectre相关的补丁对新旧系统造成的所有各种性能下降,AMD的处理器似乎还是在近期和中期选择的更安全,更安全的平台。
即使不考虑与spectrep相关的补丁对新旧系统造成的各种性能下降,AMD的处理器在近期和中期看起来都是更安全、更可靠的选择。
本文翻译自:tomshardware
原文链接:https://www.tomshardware.com/features/intel-amd-most-secure-processors
1000篇!芯片设计/制造精品文章免费送!