Google想干掉服务器上的Intel ME和私有UEFI

HardenedLinux 写道 " 近日在捷克布拉格举行的 Open Source Summit 上 的工程师 Ron Minnich 谈到面对 Intel ME 和私有 UEFI 实现时 Google 感到很害怕 目前和其他一些厂商以及自由软件社区合作开发基于自由固件 coreboot 一个叫 NERF 的项目,NERF 是一个基于 内核的变种作为 coreboot 的 payload 运行在固件启动阶段,借鉴了之前另外一个名为 HEADS 的 coreboot payload 实现,因此 NERF 在固件阶段可以非常灵活的定制各类操作。coreboot 是一个完全开放源代码的固件项目所以不存在不可审计的问题(闭源固件的二进制审计成本过高),另一方面,coreboot 相比私有 UEFI 大大降低了攻击平面。 ME 方面,虽然今天很多应用是运行于 ME 平台上,但其安全方面不仅存在漏洞的风险,更存在后门的风险,所以一般核运行核心业务的机器都会禁用,这也是为什么 NSA 在作为可信保障规划的 HAP 项目中也禁用了 ME。HardenedLinux 社区的基础平台防御方案 Hardening the COREs 在最极端的场景下不仅开启 HAP bit(学习 NSA 的做法)禁用 Intel ME,同时也删除必要代码模块以外的所有模块包括 AMT 和 SGX,云计算场景中诱人的 feature 比如基础资产管理和 remote attestation 可以通过 OS 层面的实现和 meansuredboot+TPM 来实现,虚拟化层面则配合 PaX/Grsecurity 和定制 SMI 实现联动防御对抗逃逸和测信道,内核本身的加固可以参考 PaX/Grsecurity 的特性根据业务场景和威胁建模进行适配,只有当 RING 0 到 RING -3 的基础防御问题得到有效解决时我们才有精力真正意义上去 hacking RING -4 的世界,这次是真的应该给 Google 点个赞了;-)"

听听 Intel 专家怎麽说,如何有效衡量处理器效能

前阵子 举办了一场小型的技术说明会,请到英特尔公司平台评估及效能分析团队的经理 Hiral Gheewala 先生,与同部门使用者经验计画推广经理 Pallavi Sharma 女士,来与技术编辑们聊聊该如何有效衡量处理器效能,此次主题聚焦在第 6 代 Skylake 行动版处理器,行动版处理器共推出 3 款不同瓦数的版本:Y(4.5W)、U(15W)与H(45W),换句话说在挑选笔记型电脑、2 合 1 笔电或者平板时,处理器型号结尾的英文字,就代表着其功耗与效能分级,挑选时可以依据需求来决断,例如只要基本文书上网 Core M 系列即可,除此之外还需要编辑相片、影音等,可能就需要 U 的版本,若要顶级效能兼具游戏就须采用 H 的版本。

行动世代 电力优先

在现今,效能已经不是行动装置所极力追求的项目,「省电」才是行动装置的死穴,试想想一台笔电带着出门工作,却还要担心电力不足,更要故意挑有插座的位置才能坐下工作,这不是相当不便吗?若想让装置省电,那肯定要先知晓使用者如何使用这台装置,以现今笔者的使用习惯来看,与 提供的数据相当符合,使用电脑有 35% 在使用浏览器,上上 Facebook 跟粉丝团互动哈拉、20% 在使用生产工具,例如开启 Word 打稿、19% 在创造影音内容、15% 在玩游戏、9% 在进行影音串流观看线上影片。

若以生产力、影片播放测试与闲置 3 种状态来测量 SKL-Y SOC 处理器的功耗,可以发现平均功耗低於 1W,换句话说第 6 代 Intel 处理器,在行动装置上有着相当好的电力功耗,可以让合作夥伴打造出高续航力的产品。

Intel 行动版处理器的 3 种定位
Intel 行动版处理器的 3 种定位
上述提到的 SOC 处理器功耗测试
上述提到的 SOC 处理器功耗测试

Speed Shift 反应更速

除了电源的控制之外,为了加速新生代装置的反应速度,Intel 在第六代的处理器上,放入了 Speed Shift 的新技术,在过往各位肯定听过 Intel TurboBoost 技术,可以让处理器依造软体需求,自动调升处理器的运作时脉,像是 i7-6700HQ 这颗处理器基础频率为 2.6GHz,但最大超频可达 3.5GHz,对於运行一些重度需求的游戏,且又接上装置的外接电源时,多半的笔电都能透过 TurboBoost 技术提升电脑的效率。

但依据上一个小节所提到的,使用者大多在操作浏览器这类负载较小的程序时,若要等待软体要求处理器进行加速,可能为时已晚,因为这类程式都属於负载小、执行时间短,但需要极快的速度做出反应。有监於此,Speed Shift 的这项技术,是透过硬体来控制,可以在极短的时间提升处理器频率,让这些任务能以更短的时间执行完毕,从图表中可以看出原本透过硬体调整频率,也就是没有 Speed Shift 这项技术,几乎需要 100ms 才能让提升处理器的频率,而使用 Speed Shift 这项技术,不仅只需要将近 20ms 就能达到高频率进行运算,相同的工作下 Speed Shift 只需 60ms 就能完成。

从图表来看有着将近 50% 的效能提升,但这是针对短时间的应用,像是网页浏览、触控操作这类负载不大、时间不长但需要急速的反应速度时,就能靠着 Speed Shift 提升产品的反应速度,而这项技术需要使用第 6 代 Intel Core 处理器与 Windows 10 作业系统才能达成。

而在 Windows 10 作业系统中,出现的 Windows Hello 登入技术,也是结合 Intel RealSense 的独家技术,才能办到让电脑认识主人;除此之外,Windows 10 当中的 Cortana,原先需透过软体进行全时聆听,但相对的却额外增加了电源损耗,因此 Intel 加入 Wake on Voice 的功能,可以透过硬体端加入的 DSP,进行全时聆听的动作,藉此省去无谓的运算降低功耗。

Speed Shift 调变时间比较
Speed Shift 调变时间比较
Wake on Voice 与软体聆听的耗电差异
Wake on Voice 与软体聆听的耗电差异

评测评测 效能测试

笔者在测试产品时,其实有着一惯的作业流程,例如先 产品的基本资料,像是产品类型、定位、特色与规格,并开箱试用之後,接着就进入测试的环节,若以笔电来举例不外乎,就是跑一些效能测试软体与续航力的测试,其目的就是希望使用相同的测试基准,去快速的测试不同装置,藉此得到一个公开的数据,让笔者或读者们能透过分数快速了解该产品的效能,进而让产品在相互比较上有个依据。

因此,使用的测试软体,其开发商是否可被信任、模拟的测试是否与实际使用相符、是否有提供评分的方法,以及稳定的版本更新,都是在使用测试软体时需要注意的重点;此外,Intel 也提到实际影响应用程式运行效能的两大因素:分支预测(Branch mispredictions)、快取预测(Cache misses),分支预测能有效提升管线化处理器的效能,预测的越准效能就越好,但相反的预测错误就需重头来过;而快取预测则是当程序所需的资料,不在 L1 快取时往下查找到 L2、L3,若都没有就会从系统记忆体中查找,因此不必要的延迟因而产生。

现实的应用中,像是 Word、PhotoShop、Powerpoint 等应用,其分支预测与快取预测的遗失量,差不多是一半一半,但若使用的测试软体故意降低测试资料量,减少预测错误的发生,而测得的分数也不太具有公信力。

因此,Intel 也分享一些可靠的测试工具,像是主流使用测试 SYSmark 2014 1.5、TouchXPRT 2014、TabletMark v3、WebXPRT 2015、3DMark 1.2、GFXBench 3.0 等。在未来,笔者也会采用这些测试工具,产出更公正的产品评论。

分支预测流程图
分支预测流程图
快取遗失时的搜寻路径与延迟
快取遗失时的搜寻路径与延迟
现实工具针对分支预测与快取预测的遗失统计
现实工具针对分支预测与快取预测的遗失统计

Video Quality Experts Group

此外,Intel 还提供一套开源的影像品质测试工具 VQEG(www.its.bldrdoc.gov/vqeg),透过分析影像的噪点、边缘锐利度、影像质量、色彩饱和度、动态范围、对比等,多方因素来做出客观的评分,这工具实在相当有趣,但碍於笔者手边的照片不足,待有机会测试智慧手机时,使用这工具来评监手机的拍照功能再与读者分享。

VQEG 分析影像评分测试工具
VQEG 分析影像评分测试工具