目录:
今天,安全研究公司BlueBox--发现所谓的Android“Master Key”漏洞的同一家公司 - 宣布发现Android处理用于签署应用程序的身份证书的方式存在错误。 BlueBox称之为“假身份证”的漏洞允许恶意应用程序将自己与来自合法应用程序的证书相关联,从而获得对他们无法访问的内容的访问权限。
像这样的安全漏洞听起来很可怕,而且我们今天已经看到一两个双曲线标题,因为这个故事已经破裂。 然而,任何让应用程序执行他们不应该做的事情的错误都是一个严重的问题。 因此,让我们总结一下简单发生的事情,它对Android安全性意味着什么,以及是否值得担心……
更新:我们更新了这篇文章,以反映Google确认Play商店和“验证应用”功能确实已更新,以解决假ID错误。 这意味着绝大多数活跃的Google Android设备已经对此问题提供了一些保护,正如本文后面所述。 Google的完整声明可以在本文末尾找到。
问题 - 狡猾的证书
'假ID'源于Android软件包安装程序中的错误。
根据BlueBox的说法,该漏洞源于Android软件包安装程序中的一个问题,该软件包是处理应用程序安装的操作系统的一部分。 软件包安装程序显然没有正确验证数字证书“链”的真实性,允许恶意证书声称它是由可信方发布的。 这是一个问题,因为某些数字签名为应用程序提供了对某些设备功能的特权访问。 例如,使用Android 2.2-4.3,带有Adobe签名的应用程序可以访问webview内容 - 这是Adobe Flash支持的一项要求,如果误用可能会导致问题。 同样,欺骗具有特权访问用于通过NFC进行安全支付的硬件的应用程序的签名可能会让恶意应用程序拦截敏感的财务信息。
更令人担忧的是,恶意证书也可用于模拟某些远程设备管理软件,例如3LM,这些软件被某些制造商使用并授予对设备的广泛控制权。
正如BlueBox研究员Jeff Foristall所写:
“应用程序签名在Android安全模型中发挥着重要作用。应用程序的签名确定谁可以更新应用程序,哪些应用程序可以共享它的数据等。用于门禁访问功能的某些权限只能由具有与权限创建者相同的签名。更有趣的是,非常具体的签名在某些情况下具有特殊权限。“
虽然Adobe / webview问题不会影响Android 4.4(因为webview现在基于Chromium,它没有相同的Adobe挂钩),但底层软件包安装程序错误显然会继续影响某些版本的KitKat。 在发给 Android Central的 一份声明 中, Google表示,“在收到此漏洞的消息后,我们迅速发布了一个分发给Android合作伙伴以及Android开源项目的补丁。”
谷歌表示没有证据表明“假身份证”正在被利用。
鉴于BlueBox称其在4月份通知Google,可能任何修复都将包含在Android 4.4.3中,并且可能还有来自OEM的一些基于4.4.2的安全补丁。 (请参阅此代码提交 - 感谢Anant Shrivastava。)使用BlueBox自己的应用程序进行的初步测试表明,欧洲LG G3,三星Galaxy S5和HTC One M8不受伪造ID的影响。 我们已经联系了主要的Android OEM,以了解哪些其他设备已更新。
至于假身份证的具体细节,Forristal表示他将在8月2日在拉斯维加斯举行的黑帽大会上透露更多信息。在声明中,谷歌表示已经扫描了Play商店中的所有应用程序,还有一些托管在其他应用程序商店中,没有发现该漏洞被用于现实世界的证据。
解决方案 - 使用Google Play修复Android漏洞
通过Play服务,Google可以在大多数活跃的Android生态系统中有效地消除这个错误。
虚假ID是一个严重的安全漏洞,如果适当定位可能会让攻击者造成严重损害。 由于潜在的错误最近才在AOSP中得到解决,似乎绝大多数Android手机都可以接受攻击,并且在可预见的未来仍将如此。 正如我们之前所讨论的那样,更新十亿左右的有源Android手机的任务是一个巨大的挑战,“碎片化”是Android内核中的一个问题。 但谷歌在处理像Google Play Services这样的安全问题时可以使用王牌。
正如Play Services在不需要固件更新的情况下添加新功能和API一样,它也可用于插入安全漏洞。 不久前,Google在Google Play服务中添加了“验证应用”功能,以便在安装之前扫描任何应用中的恶意内容。 更重要的是,它默认打开。 在Android 4.2及更高版本中,它位于“设置”>“安全”下; 在旧版本上,您可以在Google设置>验证应用下找到它。 正如Sundar Pichai在Google I / O 2014上所说,93%的活跃用户使用最新版本的Google Play服务。 即便是我们古老的LG Optimus Vu,运行Android 4.0.4 Ice Cream Sandwich,也有Play Services的“验证应用程序”选项,可以防范恶意软件。
Google已向 Android Central 确认,“验证应用”功能和Google Play已更新,以保护用户免受此问题的影响。 实际上,像这样的应用级安全漏洞正是“验证应用”功能旨在处理的问题。 这极大地限制了伪造ID对运行最新版Google Play服务的任何设备的影响 - 远非 所有 Android设备易受攻击,谷歌通过Play服务解决假身份证的行为在问题公布之前有效地将其彻底扼杀知识。
当Black Hat提供有关该错误的信息时,我们会发现更多信息。 但由于Google的应用验证程序和Play商店可以使用假身份证来捕获应用程序,因此BlueBox声称“自2010年1月以来所有Android用户”处于危险之中似乎有些夸大其词。 (尽管如此,运行具有非谷歌批准的Android版本的设备的用户仍然处于更加困难的状态。)
让Play服务充当网守是一种权宜之计,但它是一个非常有效的解决方案。
无论如何,谷歌自4月份开始意识到假身份证这一事实使得使用该漏洞的任何应用程序将来都不太可能进入Play商店。 与大多数Android安全问题一样,处理虚假ID的最简单,最有效的方法是明智地了解您从何处获取应用。
当然,阻止漏洞被利用与完全消除漏洞并不相同。 在一个理想的世界中,Google可以将无线更新推送到每个Android设备并永远消除这个问题,就像Apple一样。 让Play服务和Play商店充当守门人是一个权宜之计的解决方案,但考虑到Android生态系统的规模和庞大的性质,它是一个非常有效的解决方案。
许多制造商仍然花费太长时间来推销设备的重要安全更新,特别是鲜为人知的设备,因为这样的问题往往会凸显出来。 但它比没有 好多 了。
重要的是要注意安全问题,特别是如果你是一个精通技术的Android用户 - 那些普通人在他们的手机出现问题时会寻求帮助的人。 但是,保持正确的观点也是一个好主意,并记住,重要的不仅是漏洞,还有可能的攻击媒介。 对于Google控制的生态系统,Play商店和Play服务是Google可以处理恶意软件的两个强大工具。
所以保持安全,保持聪明。 我们将向您发布有关主要Android OEM的假身份证的任何进一步信息。
更新: Google发言人向 Android Central 提供了以下声明:
“我们非常感谢Bluebox负责任地向我们报告此漏洞;第三方研究是Android对用户更强大的方式之一。在收到此漏洞的消息后,我们很快发布了一个分发给Android合作伙伴以及AOSP的补丁。谷歌播放和验证应用程序也得到了增强,以保护用户免受此问题的影响。此时,我们已经扫描了所有提交给Google Play的应用程序以及Google从Google Play外部审核过的应用程序,但我们没有看到任何尝试的证据利用此漏洞。“
索尼还告诉我们,它正在努力推出假冒ID修复程序。