谷歌助手按键将登陆更多手机,软件技术无法解决幽灵芯片漏洞
2612
2月25日早间消息,据美国科技媒体CNET报道,谷歌上周日在MWC展会上宣布,部分厂商的新手机将配备Google Assistant的实体专用按键,用户按下这种按键就能使用谷歌的数字助手。谷歌表示,配备专用Google Assistant按键的新手机包括LG的G8 ThinQ和K40、诺基亚的3.2和4.2,还有小米9和MIX 3 5G版。同时,TCL和vivo的新手机,包括V15 Pro,也将配备这一按键。
包含 LG(G8 ThinQ、V50 ThinQ和 K40), Nokia(4.2 和 3.2)、小米(Mix 3 5G和9)、Vivo(V15 Pro)及 TCL。Google 预计将会有超过一亿台手机配有 Google Assistant 按键。Google 此举动无非是为了吸引更多人使用其助理功能,以迎战其他虚拟助理。
据美国科技媒体Ars Technica报道,谷歌研究人员对“幽灵”(Spectre)攻击的范围和影响进行调查后,发表了一篇论文,认为类似于这样的漏洞可能会继续困扰处理器,而基于软件的防护技术会产生较高的性能成本。
谷歌预计,借助这些合作关系,未来将有1亿台上市设备内置专用Assistant按键。Google Assistant工程主管斯科特·哈夫曼(Scott Huffman)在采访中说,“我们试图让用户感觉Assistant真的是手机的一部分,而不仅仅是你要尝试的应用程序。”
如果用户按一下按键,就会唤醒Google Assistant,接着用户可以用声音来控制它。如果用户双击这个按键,它会显示你一天中的“视觉速读”,包括天气、日程安排等信息,这些信息是基于用户最近可能向Google Assistant查询的信息而定制的。如果用户按下并按住按键,它会激活一个“对讲机”功能来进行更长的查询。
对于谷歌来说,将Google Assistant扩展到更广泛的领域至关重要,因为人们正在用手机搜索更多的东西,而不再使用谷歌的标志性主页。上个月,这家搜索巨头宣布Google Assistant已进入10亿台移动设备,其中绝大多数是Android手机。
谷歌去年首次为LG的G7 ThinQ手机配置了专用的Google Assistant按键。在谷歌自家的最新旗舰手机Pixel 3上,用户可以通过挤压手机两侧来唤醒助手。三星Galaxy手机的数字助理Bixby也有自己的专用按键。
他们还认为,无论如何,软件都不足以防御这种攻击——一些“幽灵”漏洞似乎并没有有效的软件防御措施。因此,“幽灵”将成为未来的一个重要安全隐患,并没有直接的解决方案。
“崩溃”(Meltdown)和“幽灵”攻击的发现无疑是2018年的重大安全事件。去年1月首次发现后,全年又出现了新的变种。这两种攻击都依靠处理器的理论架构行为与真实的事实行为之间的差异来发动。
具体而言,所有的现代处理器都会进行推测执行,例如,它们会假设某个值从内存中读取,或者某个if条件是真是假,使之可以根据这些假设提前执行任务。如果假设正确,推测结果就会保留;如果假设错误,推测结果就会放弃,处理器则会重新计算。推测执行并不是处理器的架构特征,而是执行特征,因此应该在完全不可见的情况下执行程序。当处理器放弃错误的推测时,看起来就像这个推测从未发生过一样。
但“崩溃”和“幽灵”漏洞的研究人员发现,推测执行并非完全不可见。当处理器放弃推测结果时,错误推测会留下一些痕迹。例如,推测可能会改变处理器缓存中的数据。程序可以通过测量从内存中读取数值的时间来探测这些变化。
通过仔细构建,攻击者便可让处理器根据一些兴趣值进行推测,并使用缓存变化来揭露出推测值的实际情况。这就会对网络浏览器等应用构成威胁:可以利用恶意JavaScript来了解正在运行的进程的内存布局,然后使用这些信息来利用其他安全漏洞执行任意代码。
网络开发者认为他们可以在浏览器处理过程中构建安全沙盒,这样一来,脚本就无法了解其包含进程的内存布局。从架构角度来讲,这种假设似乎完全合理。但由于存在“幽灵”攻击,导致这些假设无法成立。
英特尔、苹果和其他采用ARM架构的芯片所面临的“崩溃”漏洞则是这种方式的一个可怕变体。它能让恶意程序从操作系统内核中提取数据。在发现这种漏洞后,操作系统已经进行了一些调整,将多数数据隐藏,使之无法被这种恶意程序发现。英特尔也对其处理器进行了专门的调整来解决“崩溃”问题,所以该公司最近的处理器已经不再需要激活这些变化。
“幽灵”更加难以应对。已经出现了很多软件技术阻止处理器通过推测方式执行敏感代码,或者限制信息通过推测执行方式泄露出去。
谷歌研究人员发现,这些软件措施有很多不完善的地方,例如在从内存加载许多值之后便会屏蔽所有的推测,虽然可以屏蔽很多攻击,但实际使用中却效果不佳。研究人员还尝试修改Chrome V8 JavaScript引擎,但却会导致性能下降三分之一或五分之一。其他措施也会遭遇类似的问题。
但所有措施都存在一个问题:没有一种方式能够屏蔽所有的“幽灵”变种,因此需要将许多技术结合起来。而由于这些技术不能任意结合,所以单纯是找到合适的技术组合也是一个巨大的挑战。另外,谷歌还设计了一个通用目的“幽灵”家族攻击,无法用目前的任何技术实现防御。
“幽灵”攻击的一项重要因素是衡量缓存变化的时间系统。有一种想法认为,可以让应用使用的时钟不那么精确。这种理论认为,如果需要以几纳秒的长度来衡量缓存差异,那么以毫秒为精度单位可能就会太过粗糙,无法发动攻击。但研究人员却设计了一种技术来放大这种时间差异,而这种放大效果可以战胜这种让时间系统变得粗糙的防御方式。
正因如此,该公司认为不可能完全依靠软件技术来防御“幽灵”攻击。硬件调整或许可以实现这种效果,但这目前仍未得到证实