网易科技讯 4月13日消息,据连线杂志报道,长期以来,谷歌始终在努力推动数十家Android智能手机制造商以及数百家运营商定期推出以安全为重点的软件更新。但是,当德国安全公司——安全研究实验室(Security Research Labs)对数百部Android手机进行调查时,发现了一个令人极为不安的新问题:许多Android手机供应商不仅没有为用户提供安全补丁,或者延迟数月发布补丁,有时还会向用户撒谎,告诉他们手机固件是最新的,即使他们偷偷地跳过了安全更新。
图:最新研究发现,Android手机制造商不只是安全更新缓慢,有时候甚至还会谎称打了补丁
在阿姆斯特丹举行的Hack in the Box安全会议上,安全研究实验室的研究人员卡尔斯滕·诺尔(Karsten Nohl)和雅各布·莱尔(Jakob Lell)计划介绍最新研究结果,这是他们历时两年、对数以百计的Android手机操作系统代码进行的逆向工程,他们煞费苦心地检查每部设备是否都包含了安全补丁。他们发现了所谓的“补丁缺口”:在许多情况下,某些厂商的手机会告诉用户他们所有安卓系统都安装了迄今最新的安全补丁,而实际上却缺少数十个补丁,导致手机非常容易受到广泛的已知黑客技术攻击。
诺尔是著名安全研究员、安全研究实验室创始人,他说:“在补丁发布和设备上实际安装的补丁之间存在着巨大差距。有些设备差距较小,而其他设备则相当大。在最糟糕的情况下,Android手机制造商在设备最后被打补丁时故意歪曲事实。有时候,这些厂商在未安装更新补丁的情况下更改日期。可能是由于市场原因,他们可将补丁更新设置为几乎任意日期。”
在2017年发布的每个Android补丁中,安全研究实验室测试了来自数十家手机制造商的1200部手机固件,包括谷歌自身的手机,三星、摩托罗拉、HTC等主要Android手机制造商,以及中兴和TCL等不太知名的中国公司。他们的测试发现,除了谷歌自己的旗舰手机,如Pixel和Pixel 2,即使是顶级手机供应商有时也慌称自己安装了补丁,而更低层次的制造商则有更混乱的记录。
诺尔指出,这一问题比厂商仅仅忽视为旧设备打补丁更糟糕,后者已经是一种常见现象。相反,他们告诉用户自己已经安装了最新安全补丁,尽管实际上并没有安装,从而创造出一种虚假的安全感。诺尔说:“我们发现几家供应商没有安装任何补丁,只是将补丁日期推后了几个月。这是一种故意欺骗,幸好并不常见。”
诺尔认为,更常见的情况是,像索尼或三星这样的公司可能偶尔会错过一两个补丁。但是在其他情况下,结果却难以解释:安全研究实验室发现三星手机2016 J5,非常坦诚告诉用户哪些补丁已经安装,哪些仍然缺乏。而三星2016 J3声称,它已经安装了2017年发布的所有Android补丁,但实际上缺少12个,其中2个被视为手机安全的“关键”。
鉴于这种隐藏的不一致性,诺尔说:“用户几乎不可能知道实际安装了哪些补丁。”为了解决这个补丁丢失的问题,安全研究实验室还发布了一个Android应用SnoopSnitch更新,它将允许用户查看手机代码,以了解其安全更新的实际状态。
在对每家供应商的几乎所有手机进行测试后,安全研究实验室制作了以下图表,根据供应商宣称的补丁安装情况与事实是否相符将它们分成三类。包括小米和诺基亚在内的主要Android厂商,手机平均有1到3个丢失的补丁,而像HTC、摩托罗拉和LG这样的主要供应商,丢失有3到4个补丁。但榜单上表现最差的公司是中国的TCL和中兴,这些公司的手机平均丢失的补丁在4个以上。
图注:wiko是深圳天珑移动控股,在法国注册的手机品牌,份额在法国名列第二。
安全研究实验室还指出,芯片供应商可能也是厂商错过安全补丁的推手:虽然使用三星处理器的手机很少会悄无声息地跳过安全更新,但使用台湾联发科(MediaTek)芯片的手机平均却缺少9.7个补丁。在某些情况下,这可能是因为更便宜的手机更容易跳过补丁,而且它们更倾向于使用便宜的芯片。
但在其他情况下,这是因为在手机芯片中发现了缺陷,而不是在其操作系统中,而手机制造商则依赖芯片制造商提供补丁。因此,从低端供应商那里获得芯片的廉价手机,会继承这些供应商错过的安全更新。诺尔说:“我们的经验是,如果你选择更便宜的设备,你最终在这个生态系统中得到的服务可能也不会太好。”
当《连线》杂志与谷歌联系时,该公司表示感谢安全研究实验室的研究,但其回应指出,安全研究实验室分析的部分设备可能不是Android认证的设备,这意味着它们没有被谷歌的安全标准所控制。他们指出,现代Android手机有安全功能,即使它们有未修补的安全漏洞,也很难破解。谷歌认为,在某些情况下,设备可能会丢失一些补丁,因为手机厂商只是简单地从手机上移除一个易受攻击的功能,而不是修补它,或者手机根本就没有这个功能。
谷歌还表示,他们正在与安全研究实验室合作,进一步调查研究结果。安卓产品安全主管斯科特·罗伯茨(Scott Roberts)补充说:“安全更新只是保护Android设备和用户的众多层面之一,内置的平台保护(如应用程序沙箱)和安全服务(如Google Play Protect)同样重要。这些安全层结合了Android生态系统的巨大多样性,使得研究者们得出结论,Android设备的远程开发仍然具有挑战性。”
对于谷歌断言“有些补丁可能是不必要的,因为此举帮助手机移除了易受攻击的特性,或者为了响应某个漏洞而被删除”,诺尔反驳说:“这些情况非常罕见,这绝对不是常态。”
更令人惊讶的是,诺尔同意谷歌的另一个主要观点:利用他们丢失的补丁来破解Android手机远比听起来难。即使Android手机没有坚实的补丁记录,但它们仍然受益于Android更广泛的安全措施,如地址空间布局随机化(ASLR,即通过随机化软件加载特定代码的内存地址防止攻击者利用软件漏洞悄悄安装恶意程序)和沙盒(限制恶意程序访问设备其他空间)。
这意味着,需要利用手机软件中一系列漏洞来完全控制目标Android手机的大多数黑客技术,也就是所谓的“攻击”可能会无效。诺尔说:“即使你错过了某些补丁,很有可能它们并不是按照某种方式排列的,这样黑客就无法利用它们。结果,Android手机反而更容易被更简单的方式所攻击,即那些在谷歌Google Play中找到或者诱使用户从应用店外其他来源安装它们的流氓软件。只要人类继续容易上当,安装免费或盗版软件,罪犯就可能会坚持下去。”
然而,由国家资助的黑客在Android设备上进行更有针对性的攻击可能是另一回事。在大多数情况下,诺尔认为他们可能使用的是“零日漏洞”(即被秘密破解的漏洞,尚没有补丁存在),而不是已知但未被修补的漏洞。不过在许多情况下,他们也可能会使用已知的、尚未修补的手机漏洞,并将其与“零日漏洞”相结合。诺尔举了一个例子,间谍软件FinFisher利用了已知的Android漏洞Dirty COW以及其发现的“零日漏洞”。
诺尔引用了“深度防御”的安全原则,即在多层中最有效地部署安全。每个错过的补丁都意味着少了一层潜在保护。他说:“你永远不应该留下公开漏洞让攻击者有机可乘,深度防御意味着安装所有补丁。” (小小)