远程执行 Android 设备上的代码 【已翻译100%】(2/2)
我设置好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库,和剑桥大学的设备分析数据。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
中国将在 Sailfish 基础上开发移动操作系统
在授权印度和俄罗斯之后,中国也将在 Sailfish 基础上研发本国的移动操作系统。 Sailfish 是芬兰公司 Jolla 在 MeeGo 基础上开发的移动操作系统,俄罗斯等国青睐 Sailfish 的原因是不想过度依赖美国的操作系统和平台 (aka Android 和 iOS)。中国青睐 Sailfish 的原因估计类似,中国 Sailfish 财团从 Jolla 获得了独家授权开发中国版本的 Sailfish。 财团的一位主要投资者 Shan Li 称,中国需要自己的独立移动操作系统,他一直密切关注 Sailfish 项目,看到许多中国的项目都失败了,而 Sailfish 则取得了稳定的进步。Sailfish OS 是中国唯一可行的替代移动操作系统。他表示多家中国大公司有兴趣加入这个财团。 本文来自开源中国社区 [http://www.oschina.net]
- 下一篇
微软成立开放技术中国子公司
1月16日消息,大家所熟知的那个微软在慢慢改变。微软今天宣布在上海成立微软开放软件(上海)有限公司,并将积极推动跨平台的软件标准和内容变化。 做为微软最出名的软件产品,Windows被用在广泛的设备当中,但一直以来其封闭的系统也让微软承受了很多的指责。不过这一切在不断变化。 微软开放技术有限公司两年前在美国成立。其总裁蒋博励把这家公司的工作定义桥梁,目的是为了连接Windows和其他系统、平台的生态和标准。 这家公司主要的人才包括,了解多语言多平台的技术人员、了解多领域开放社区的技术人员、了解标准的人员等。 两年后的今天,这家公司的第一个地区性分公司,也就是上海分公司正式成立。这是微软的全资子公司,也是希望借此加快中国软件社区的变化。 蒋博励表示,中国子公司和总公司有着相似的结构、人才和目的,但中国有着最快的终端发展速度和增长速度最快的开发群体。 众所周知,操作系统平台的成败取决于平台上应用的多寡,而这取决于软件开发者的多寡。虽然微软一直在PC时代统治行业,但在移动互联时代,苹果的iOS和谷歌的Android无疑给微软了一个大挑战。 微软在努力通过跨平台语言推动自己的产品,比如JAVA...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker安装Oracle12C,快速搭建Oracle学习环境