针对近来研究人员发现的处理器安全漏洞, 包括英特尔(Intel), 苹果(Apple)和微软(Microsoft)等技术巨擘正联手提供修补方案, 以避免这些攸关安全的漏洞让骇客有机可乘, 从电脑, 智能手机和其他装置中窃取资料.
稍早前发现的所谓 '安全漏洞' 指称出现在英特尔的晶片, 而今, 很显然地, 上周发布的这些安全漏洞普遍对于当前的许多高性能处理器都造成了影响, 而不仅限于英特尔.
事实上, Google Project Zero和其他公司的安全研究人员已经发现了三种不同的旁道攻击(side-channel attack). 这些攻击搭配采用了对于现代CPU内部作业的知识以及某种程度的暴力(brute force)破解法.
值得注意的是, 截至目前为止, 我们尚未发现这些安全漏洞被利用. 但是, 随着这项消息被披露, 对于CPU有深入了解的骇客可能就会发动攻击. 因此, 包括整个软件生态系统都竞相发布修补这些安全漏洞的增补程式.
需要共同修复这些安全漏洞的团队包括AMD, ARM和英特尔等CPU设计业者. 而关键的软件供应商则包括Apple, Citrix, Linux, 微软和VMWare.
这些供应商在去年六月即已发现存在安全漏洞, 并着手进行修补. 但由于这些安全漏洞存在于已经出货的晶片设计中, 唯一的解决办法就是以修补系统软件来解决这些问题, 例如透过更新作业系统(OS)以及虚拟化软件/管理程式等.
我在此用的是 '漏洞' (vulnerability)一词, 而非 '错误' (bug), 因为这些电路都是依照应有的设计方式进行的. 但旁道攻击正是利用对于这些正确操作的知识, 以推断应该会受到保护的资料.
对于性能将会造成什么影响, 将取决于每一种不同的处理器设计和软件. 例如资料中心等需要大量系统呼叫(system call)指令的软件似乎感受最深. 而像游戏与浏览器等一般用户软件所受的影响应该不大.
特别设计的恶意软件可能会强制CPU执行 '推测性执行' , 然后从具有更高层级保护的区域中辨识出资料来. 因此, 在修复时必须改变系统的软件和韧体. 恶意软件并不会破坏记忆体, 但在本地执行的软件可能暴露敏感的资料, 例如密码和加密密钥.
英特尔已经证实, 这些攻击可能发生在其处理器上, 而AMD也暴露出可能的威胁.
在上周发现的三种主要安全漏洞及其编号如下:
绕过边界检查(Bounds Check Bypass; CVE-2017-5753)分支目标注入(Branch Target Injection; CVE-2017-5715)未管理资料加载(Rogue Data Load; CVE-2017-5754) '绕过边界检查' 必须进行软件修复, 因为这种威胁难以透过改变CPU设计来消除推测执行. AMD, ARM与英特尔三家公司表示, 这种常见的威胁可以透过软件更新进行修复. 因此对于性能的影响微忽其微.
而第2和第3种威胁的影响则取决于不同的CPU供应商. 英特尔证实了这两种威胁的存在, 但AMD表示并未观察到第2种威胁, 其设计也未受到第3项漏洞的影响. 这可能是因为英特尔在其预测性作业的设计方面采用了更先进的技术. 每一家供应商都有不同的分支目标设计, 而这可能影响到安全漏洞. 同时, 这部份的威胁对于性能的冲击也最大.
英特尔表示, 第2种威胁可能使得性能基准测试分数减少0-5%. 而第3种威胁则可能对于典型工作负载造成3-5%的影响, 特别是对于经常存取核心服务的软件影响将首当其冲.
ARM的情况比较复杂. 许多ARM核心是限制或甚至没有推测执行的, 即使是主流的Cortex-A核心. 但更高性能的核心则确实提供了性能的推测作业. 此外, 像Apple, Cavium和高通(Qualcomm)等授权ARM架构的业者所设计的晶片, 也各自具有不同的推测执行和分支目标设计. 随着这些资讯被揭露, 各家供应商都必须列出可能受到影响的CPU清单. ARM将在开发过程中更改其核心设计, 并根据需要增补现有的核心.
尽管一开始的报导重点都放在英特尔, 但目前更需要的是在这些彼此竞争的厂商之间以及软件与晶片公司之间建立独特的产业合作. 可能还会有更多的公司将受到这些安全漏洞的影响. 但随着此次事件反映出安全缺陷正在改变威胁的形式, 我希望这一次将是业界针对安全问题展开更广泛合作的开始. 当所有的公司共同合作, 势必能更有力地保护我们的PC, 手机与数据中心.
编译: Susan Hong