【编者按】三星内置SwiftKey的漏洞被视作一起非常严重的安全事件(雷锋网新闻:三星手机键盘爆严重漏洞,想卸你都卸不掉!),而相对漏洞本身,雷锋网更关注的是产生漏洞的背后:三星与“软件供应商”、“定制运营商”三者之间如何协调,为何一个早早就被发现的漏洞,却让用户长期处于裸奔无防护的状态?
日前,三星手机内置的SwiftKey软键盘被爆安全漏洞三星手机用户在接入不安全的网络时,有可能被植入恶意代码,并以管理员权限删除或修改系统重要文件。
问题描述
根据目前掌握的信息显示,三星手机内置的SwiftKey软键盘的更新逻辑存在安全问题。
用户在接入不安全的网络时,例如咖啡馆、酒店等公共Wi-Fi,或者手机与基站的通讯被劫持,攻击者可以通过伪造更新服务器,向用户推送恶意代码,而本地的更新程序既不会检查更新包的数字签名,也不会检查更新包即将覆盖的文件是不是重要的或者敏感的,更由于更新程序拥有手机的root权限(管理员权限),因此攻击者可以覆盖用户手机的任意文件。
更严重的问题在于,这个触摸键盘是系统内置的,既没有办法卸载,也不能通过禁用的方式来阻止其自动更新。
换句话说,如果用户接入不安全网络,此时一旦遭受攻击,那么基本就处于无能为力的状态了。目前已经确认会受影响的手机型号包括:Galaxy S4、S5、S6和S4 Mini。
除了会遭受攻击,本次漏洞还有更深层次问题
我们看到,本漏洞其实和微软当年的中文输入法漏洞的产生原因比较类似,都是操作系统厂商对第三方软件(输入法)的安全控制逻辑出了问题,鉴于SwiftKey输入法的其他手机版本并不存在类似漏洞,我们还是更倾向于认为,三星自己的责任更大:
首先,输入法更新程序与服务器之间的连接应该进行相互的认证,确保不会被劫持。
其次,输入法更新包被下载到本地后,应该验证其数字签名,确保下载的更新包是原厂商制作的,没有被修改替换。
然后,进行更新包升级时,也应该仔细检查更新文件访问的目录,避开敏感和重要的文件,防止更新包修改操作系统或其他应用软件。
同时,三星应该更加仔细的检查第三方提供的内置应用,确保其没有严重的安全问题。
这个过程,简单来说,就是以下图片展示的流程:
本漏洞实际上是在几个月之前就秘密提交了三星,直到最近才公布出来,但三星未能及时修复该漏洞,三星说他们早就提供了修复,但部分运营商不愿意推送该修复,具体内情我们不得而知,推测其相关过程很可能是这样的:
由于修补该漏洞涉及到“软件供应商”、“三星”和“定制运营商”三个部分,协调起来相对复杂,结果却是三星的用户长期处于裸奔无防护的状态。
三星与软件供应商:一方面,三星作为手机生产厂家,拥有三星手机相关操作系统(也就是rom)的所有权;而另一方面,三星手机预装的应用程序,所有权则归软件供应商所有,比如本次出问题的触摸屏键盘。
三星与运营商:当三星与运营商合作推出定制机(比如三星移动版、联通版和电信版)的时候,三星需要根据具体运营商的要求来定制手机操作系统,并且很可能会将该定制操作系统的运营权限(比如升级、修复漏洞)等等交给具体的运营商。
于是本次漏洞出来后,三星首先要协调软件供应商来修复相关的漏洞和配置,三星自己的手机操作系统也需要重新打包或者出一个新的热补丁,然后,运营商才会对该升级或者补丁进行推送。这个过程相对漫长,也是为什么迄今仍有大量用户尚未修复的最可能原因。
信息安全管理标准中,将“第三方管理”单独列为一个部分,第三方不仅包括了产品、服务提供商,也包括了其他的合作伙伴,第三方管理不仅复杂,而且很容易被忽视。
在本次事件中,虚拟键盘的软件供应商和定制操作系统的运营商,都是三星的第三方,如何协调好这些合作伙伴,为用户提供最大程度的安全,对任何企业都是一个巨大的挑战。
普通用户如何防范
大部分用户目前尚没有可用的官方补丁,而且无法完全禁止该内置输入法。一般情况下,root 后的防火墙也能防护,可以把输入法的联网权限给禁掉,但是三星自带了硬件安全模块,手机很难root,所以给普通用户这个建议的意义不大。
因此普通用户尽可能不要连接到不安全的网络,或者暂时停止使用三星手机。在必须连接到不安全的网络时,请使用可信的VPN连接。
写在后面
事实上,此次事件很可能只是冰山一角,不排除三星的其他内置应用软件也有类似的问题,而别的的手机厂商也未必能幸免,随着手机在人们生活中的重要性越来越高,智能手机被攻击的可能性也越来越大,未来必将成为严重的安全威胁。
从本次事件,我又进一步联想到几个月以前,知乎和微博上有人提出的“黑客能不能绕过HTTPS加密,窃取或篡改用户的隐私数据”的问题,某些大V斩钉截铁的认为不可能,然而残酷的现实再一次揭开了真相——
在接入不安全网络时,连手机的root权限都无法保障,何况隐私数据?
【注:西雅图0xid工作组、启明星辰积极防御实验室、安谋网对本文的撰写给予了大量的技术支持。】