当前位置:首页 > 智能硬件 > 安全设备/系统
[导读] 自从 1 月 Google Project Zero 团队揭露IntelCPU 的Meltdown缺陷,以及所有现代 CPU 都有的Spectre缺陷以后,影响面之广人人自危。由于是硬件缺陷,各

自从 1 月 Google Project Zero 团队揭露IntelCPU 的Meltdown缺陷,以及所有现代 CPU 都有的Spectre缺陷以后,影响面之广人人自危。由于是硬件缺陷,各大厂商也只能努力推出修补更新加以弥补。几个月过去了,相关资讯似乎不再常见,然而真的没问题了吗?解决方案都很理想吗?该如何精准评量效能的降低程度呢?

目前各系统的安全更新主要是从系统软件面去做处理,理论上会让程序有 2% 到 30% 不等的降速状况。那实际影响到底有多大?知名网络串流影片公司 Netflix 表示,针对 Meltdown 的 Linux 安全修补预估让串流效能降低了 0.1%~6% 之间,而这还只是做了 4 个 Meltdown patch 修补的其中之一而已。

Netflix 的经验与评估

布伦丹·格雷格(Brendan Gregg)是 Netflix 工程师,同时也是 dTrace 专家、硬盘领域知名人士,他制定了一个“微标竿”(microbenchmark)来评估针对 Meltdown CPU 设计缺陷的 Linux 核心分页表隔离(KPTI)修补,并提出精准可管理的执行效能下降预测,格雷格表示他的工作以下列 5 个因素来评估修补所产生的开销(overhead):

系统呼叫率(Syscall rate) :数量多到某种程度才会有可观的明显影响,一颗 CPU 每秒有 5 万个系统呼叫的情况下,额外开销可能有 2%,伴随着系统呼叫率的增加而这个数字又会再上升。在 Netflix,除了资料库以外,高系统呼叫率在云端中不常见。

前后文切换(Context switches) :这个增加的额外开销类似系统呼叫率的部分,格雷格认为前后文切换率可以简单地添加到系统呼叫率里用于后续的评估。

分页错误率(Page fault rate) :错误率高时,还会增加一点额外开销。

存储器工作集大小(热资料) :Working set size(hot data),超过 10MB 资料量存取,会因为 TLB(CPU 的页表快取)冲洗,导致额外开销。这可以将 1% 的开销(系统呼叫循环)变成 7%。这个很重的额外开销可以透过两个方法降低:1. Linux 4.14 开始的 pcid;2. 使用巨大的分页。

快取存取类型(Cache access pattern) :有些存取类型从快取良好到快取不良转变时,会让额外开销遽增,最糟糕可能会额外增加 10% 的额外开销,例如 7% 的开销增加到 17%。

格雷格的结论是,在某些情况下,软件修补所增加的开销,高达 800%,但如果对系统做精细的调校,对效能的影响不至于让人那么无法接受。Gregg 大幅降低修补带来的新程序码带给 Linux 的额外开销,Netflix 使用的是 AWS 基础设施 ,格雷格的结论是:基于系统呼叫率,KPTI 的开销在 0.1%到 6% 之间,他有自信把开销降到 2%。

他还考虑到他的雇主 Netflix 使用的 AWS 基础设施的影响,并得出结论“由于我们的系统调用率,KPTI 的开销在 0.1% 到 6% 之间,我预计我们会把它降低到低于 2% 调整”,这个成绩虽然不错,格雷格还没有估计进修补对 hypervisors 跟 microcode 对效能损失的影响。

使用 Linux 服务器的业者(包含一般使用者)可以针对电脑的使用情境重编核心自行调整,降低修补所带来的效能下降问题,但对于广大一般 Windows、MacOS X 的电脑使用者而言,就没这么幸运了,没有漏洞的 CPU 才是釜底抽薪的方案 。

Intel 提出分区系统的缓解修补

Intel 在这次的 CPU 漏洞风暴可以说是跌个满头包,不断被动的应付。终于在 3 月 15 日上午,Intel 宣布针对 Meltdown 和 Specter v2 漏洞,提出分区系统的硬件缓解(miTIgations)修补,将会实做在 Xeon server/HEDT platform 下一代的 Cascade Lake,以及第 8 代酷睿(Core)处理器里。

要特别注意的是,Intel 在硬件做出来的改变只能缓解 Meltdown(Intel 称为“variant 3”)和 Specter v2,是透过新的分区系统减轻了漏洞,同时改善了行程(process)和特权级别(privilege-level)分离,类似“防护墙”的做法。

Intel 2018 的 Meltdown 与 Spectre 缓解计划如下:

Meltdown :以硬件解决

Spectre variant 1 :绕过边界检查(bounds check bypass)的漏洞,目前只能以软件解决

Spectre variant 2 :分支目标注入(branch target injection)漏洞,以硬件解决

很不幸的是 Spectre variant 1 目前还只能靠各软件开发人员来解决,而 Spectre 最被大家担心的其实一直都是 v1,整个产业的研究人员对 v1 还没有深度的理解,不知如何处理,好在 Specter v1 只能用于攻击同级的行程而无法攻击管理级的行程,也就是说黑客能透过程序穿透进一般使用者等级的程序与资料,而无法穿透进更安全的系统管理层级。

虽然是不全面的缓解,但有总比没有好。此外,Intel 已经针对过去 5 年发布的所有 CPU 产品提供 microcode 更新,甚至 Core 架构系列,第二代的 Sandy Bridge 以后都有提供,Intel 还计划继续处理最久达 2007 的 cpu 产品的 microcode 更新,包含第一代酷睿处理器(Nehalem / Gulftown / Westmere / Lynnfield / Clarksfield / Bloomfield / Arrandale / Clarkdale)和 45nm Core 2 处理器(Penryn / 的 Yorkfield / Wolfdale 处理器 / Hapertown) ,但是 65 纳米 Core 2(Conroe 等)不在内,然而最大的课题应该是:主机板业者愿不愿意提供采用旧 CPU 的机板 BIOS 更新?品牌电脑业者针对过保固的产品是否愿意提供更新呢?

毕竟是硬件有缺陷,总是要修补,但追根究底还是要改良硬件设计来彻底解决 Meltdown 与 Spectre 的漏洞。Intel 最终可能在 2018 末、2019 初发布的第九代酷睿处理器架构 Ice Lake,透过改变设计解决上述问题。在此之前,终端消费者还是要关注好自身的权益,请原购买产品的公司提出解决方案。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭