您现在的位置是:首页 > 文章详情

远程执行 Android 设备上的代码 【已翻译100%】(2/2)

日期:2017-06-01点击:195

我设置好AP后,从13,119个标明有潜在漏洞的app中随机选了一些,把它们安装到接入了AP的一台Nexus 5(运行4.4.3)和一台三星XE700t(运行AOSP 4.2的x86平板)。我们只不过是启动每个App,做些简单的交互操作,就成功地在超过半数的应用中触发了远程代码执行,它们加载了通过中间人代理注入的恶意代码。

为了好玩,我们把注入到一个app中javascript代码反复修改,直到显示Bromium的标志替换了原有广告。

被扰乱而显示了Bromium标志的app的UI截屏。

全是广告惹得祸

通过查看TCP/IP包的轨迹,很快发现广告框架程序就是联合使用了addJavascriptInterface和非安全HTTP下载的罪魁祸首。在我们调查的框架程序中没有一个使用HTTPS,也就意味着任何使用这些框架程序的app在非安全地下载javascript时也易受到攻击。以往的研究显示有17%的app虽然使用了HTTPS,但用法不当,但这是另一回事了。

我们认真地检查了一些app,看看使用用了哪些广告框架。AdMob是用得最多的(通常也是更新最频繁的),但我们发现用到的大量框架仍然在不安全地使用addJavascriptInterface。在检查的app中,有超过80%的非付费app包含了至少一款广告框架。总体上讲,在识别的2140个app中出现了4190个广告框架。

问题有多严重?

Google在Play Store上公布了所有app的大致下载量。仅就我们手工确认了存在漏洞的小部分用例,就有超过1.5亿的下载量。这并不是说就保证会有150,000,000部有漏洞的设备,因为一台设备可能安装多个不同的有漏洞的应用。但考虑到我们在分析中发现的比例——10%的app有潜在的风险,其中有50%的有风险的app被实地测试可以被攻击——这就存在非常多有漏洞的设备。

而且,别忘了有57%的Android设备运行在低于4.2的版本上。所以即使明天所有有漏洞的app和框架打上了基于4.2的补丁,仍然有超过一半的Android设备不能修复这个漏洞。

一旦你实现了远程代码的执行,结束之前在咖啡店所描述的灾难情形,不是什么大的进步。初始化一个匹配的root权限(不幸的是,相当一部分在安卓平台上),一个被损害的设备会变成某种中间人,它随后会进入任何网络。因此,攻击开始传播,举例来说,在自带移动设备的世界里,共同的wifi网络是那样地受欢迎。

合并设备分析器(Device Analyser)的数据

设备分析器(Device Analyser)是另外一个用于统计安卓设备的(数据)来源。其中的一项功能就是它追踪用户启动不同的应用的频繁程度。他们用足够地耐心去相互参照潜在缺陷应用的列表上的数据,给出了下面的结果:

每天每用户打开潜在缺陷应用的平均数量

过去一年左右的时间,设备分析器(Device Analyser)的数据显示设备的使用者们每天平均打开0.4-0.5个潜在漏洞的应用。或者换言之,平均一周内就有几次收到(漏洞)攻击。我们不能假设应用的版本比我们分析过存在漏洞的版本新,因此,当我们的示例数据已不再是最新版本,与图形对应也就表现为急剧下降。如果我们对最近的APK版本重新进行我们的分析,我们很有可能看到它仍在0.4分。DA( 设备分析器: Device Analyser)的数据是一个相当小的样本,让它去引导更多地关于安卓设备的结论,在整体上是困难的。

结论

我们发现,通过使用相对简单的中间人代理技术,无需特定的应用程序或设备可以远程运行有危害的应用程序,即使 Android设备安装了完全补丁。使用静态分析我们发现,相当大比例的应用很可能仍然脆弱,我们证实,通过随机测试超过一半的应用确实缺乏抵抗力。

因此,我们建议当连接到一个不可信的wi-fi无线网络时不要使用任何Android应用程序显示广告。

我们感谢Evozi提供他们的APK库,和剑桥大学的设备分析数据。

原文链接:https://yq.aliyun.com/articles/117669
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章