小米手机藏后门可远程安装任意APP?真相如此惊悚吗?

简介:
     这个乡村爱情故事可能和今天要说的事情有点关系。

你可能已经习惯了这个场景——新手机会预装一些APP,怎么删都删不掉。但是,手机制造商将这些APP和服务安装在你手机上是否会有特别的目的?这些预装的应用又是否会威胁到机主的安全和隐私?  

荷兰的一位小伙对此就颇有疑问。

他是小米4的用户。小伙有一天发现,手机预装了一个叫 AnalyticsCore.apk(com.miui.analytics)的应用,会自动在后台运行。


小伙很生气,他不喜欢未经许可收集用户信息的应用,因此对它进行了逆向工程,发现该应用每24小时会访问小米官方服务器检查更新,在发送请求时它会同时发送设备的识别信息,包括手机的IMEI、型号、MAC地址、Nonce、包名字和签名。如果服务器上有名叫Analytics.apk的更新应用,它会自动下载和安装,整个过程无需用户干预。


如果应用安装时没有任何验证,该漏洞能被黑客利用,或者小米只需要将想要安装的应用重命名为Analytics.apk就可以将其推送给用户,而且该设备是通过HTTP发送请求和接收更新,这意味着用户很容易遭到中间人攻击。

看样子,一个大新闻要搞出来了!

小米手机藏后门可远程安装任意APP?真相如此惊悚吗?

对此,小米的发言人表示,

AnalyticsCore是内建在MIUI系统中的组件,主要用来分析数据以增强用户体验,比如说MIUI Error Analytics——小米的系统错误分析功能。


为了安全起见,MIUI会在软件的安装和升级期间检查Analytics.apk应用签名,以确保载入的是拥有正确签名的官方安卓软件包。没有官方签名的安卓安装包会被拒绝安装,我们的软件的自动升级功能都是为了更好的用户体验


在今年四月到五月期间发布的最新版本MIUI v7.3中,HTTPS协议能够有效地保障数据传输安全,避免中间人攻击。

究竟是怎么回事?我们再来挖一下。

1.BUG在哪里?

HTTPS,是以安全为目标的HTTP通道,简单而言,是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。

小米的老版本用的是HTTP协议,确实埋了一个漏洞。某知名安全公司资深安全专家告诉雷锋网(公众号:雷锋网)宅客频道(微信公众号 ID:letshome),这是小米的一个预装应用的升级机制没有做好安全措施,24小时升级一次,期间可以被中间人劫持替换。

新版用了HTTPS协议后,就意味着“可能被劫持”这个问题被解决了吗?

该专家表示,官方虽然说用了HTTPS升级就无法被中间人劫持了,但新版他也不确定,老版是HTTP,24小时升级1次,场景对一般小黑客而言,要攻击还是比较有限制,不过技术好点的黑客可以用NTP欺骗手机时间的方式攻击,提高升级概率来劫持。

一旦发生劫持,恶意软件就拿了一把钥匙可以随意打开你家的门,在手机上安家落户。

还有一个BUG是,上传设备隐私信息是明文。

2.小米真的在窃取用户隐私吗?

这个问题在知乎也引起了讨论,知乎用户 Android Framework认为:

小米不能背锅。

所谓的漏洞,其实是小米开发的一个功能,会有签名检查一类的机制来尽量保障大家的设备不被利用;所谓的信息收集,我觉得其实是对小米的不信任,同样的事情 Google 在做,Apple 也在做。

以下是他的详扒过程:(知乎用户 Android Framework 如何评价 MIUI 的 AnalyticsCore 后门?

看到 @vczh 轮子哥关注了这个问题,正好有相关背景,回答一记。

利益相关: 米黑(小米1,小米4用户)。

先说结论:这个锅不能让小米背。

很多 Android 用户很诟病的一点是国内 Android 手机都没有 GMS 服务,并且称其为“安卓”或者说是阉割版的 Android。


有人说谷歌移动服务(简称GMS,包括gtalk,gmail等)是Android的精髓,没有GMS就不算真正的Android,这个说法不太对,连谷歌自己都不是这么认为的。谷歌开源的Android代码不包含任何GMS应用;在谷歌内部,Android和GMS是两个独立的团队,GMS经常先推出iPhone版然后才发布Android版的。


现在 Google 已经越来越收紧对 Android 的控制权限,AOSP 中 CPS(联系人,电话,短信)应用已经万年不更新,倒是这些模块的 GMS 版本都更新的很勤快,这不,最近连骚扰拦截这种 MIUI 几乎从最初版本就有的“高大上”的功能也上线了。打个岔,听说最近的 iOS 10 也有这个功能了。


http://www.androidpolice.com/2016/07/25/googles-phone-app-now-shows-a-warning-about-spam-callers-and-makes-it-easy-to-block-and-report-them-apk-download/。
但是,有点实力的 OEM 其实都不太关心这个了,因为大家要做差异化,要做用户体验,这些模块当然自己开发了。比如 CPS 好像是 MIUI 的重点,大家可以自行搜索 11 年的旧闻 “雷军揭秘小米:用CPS重新发明手机”。

回到正题,
请问非小米的 Android 用户,你们的手机中在 /system/app 中有没有一个 PlayAutoInstallConfig.apk 的应用呢。(各位国产机和国行用户就别找了,你们是肯定不会有的。因为,你们连 Google 服务都没有啊!)

Nexus 用户:
android.autoinstalls.config.google.nexus
android.autoinstalls.config.google.fugu
ASUS 用户:
android.autoinstalls.config.asus.pai
HTC 用户:
android.autoinstalls.config.htc.htc_pmeuhl-1
其他厂商的就不一一找出来列举了。


AOSP中包管理的程序是:

PackageInstaller.apk pkgName=com.android.packageinstaller

而带有 GMS 包中有 Google 的一堆应用,其中包含:

GooglePackageInstaller.apk pkgName=com.google.android.packageinstaller

注意到了没有?这两个用于管理(安装,卸载等)程序的程序是 不一样 的!

Google Play 静默安装

小米手机藏后门可远程安装任意APP?真相如此惊悚吗?
Google 在 Android L 之后引入了一个新的功能"PlayAutoInstalls",简称 PAI。
相关功能介绍:
Android 5.0 Lollipop feature: Play Auto Installs bloatware removal
http://www.androidpolice.com/2014/10/28/android-5-0-lollipop-feature-spotlight-carriers-can-now-have-google-play-install-their-crapware-automatically-which-is-good-maybe/

官方开发者页面戳这:
https://developers.google.com/android-partner/reference/rest/v1/playAutoInstalls
简单来说,就家伙是在用户第一次开机的时候,走开机引导流程,登录 google 账户的过程中,在后台默默的给你装一些应用,一般来说会是运营商全家桶。本来嘛,这个功能就是为了 OEM 适应不同的地区,不同的运营商做的。

当然, Google 得知道你的一些信息才能给你装上对应的全家桶,
不然难道给一个联通的用户装一堆移动或者电信的全家桶?

既然它可以在第一次开机的过程中做这些事情,那你们猜猜,不是第一次开机的时候它能不能做这些呢?给你们一次机会,我相信你们是不会猜错的。

它不止可以在后台安装程序哦,还可以修改你的桌面布局
https://android.googlesource.com/platform/packages/apps/Launcher3/+/android-5.0.2_r1/src/com/android/launcher3/AutoInstallsLayout.java

   static final String ACTION_LAUNCHER_CUSTOMIZATION =
           "android.autoinstalls.config.action.PLAY_AUTO_INSTALL";



如果非要说小米收集你的信息了,那请仔细阅读一下小米手机的《用户协议》。

综上,
所谓的漏洞,其实是小米开发的一个功能,会有签名检查一类的机制来尽量保障大家的设备不被利用;所谓的信息收集,我觉得其实是对小米的不信任,同样的事情 Google 在做,Apple 也在做。

不过话说回来,小米使用HTTP进行连接,有点说不过去。 

上述专家认为,这个就看官方怎么解释这个APP的功能了,如果是手机性能测试收集或者crash分析程序的话,算是正常。他指出,别的系统也有类似功能,比如程序crash了要分析上传崩溃日志。

3.怎么处理?

如何屏蔽这样的秘密安装呢?权宜之计是利用防火墙屏蔽掉所有通向小米相关域名的连接。

但这样会有什么后果?该安全专家提醒——只屏蔽这个APP的升级地址没问题,如果把升级地址的整个域名都屏蔽了,就会影响MIUI的其他升级。

他表示:

如果他们的最新版本和他们声明一样,可以不用担心黑客劫持升级和明文传输设备隐私信息这些事了。但是之前的屏蔽还是有效的,你继续屏蔽也升级不到他们声明的最新版本,哈哈!

4.其他APP可以套路吗?

你可能想多了。预装APP常常有最高权限,用户可能删除不掉,而且静默升级,你可能也意识不到需要提防。其他APP虽然也可以有类似的问题,但一旦发现,删除起来容易多了!

  
 
  本文作者: 李勤

本文转自雷锋网禁止二次转载, 原文链接
目录
相关文章
|
4月前
|
存储 人工智能 编译器
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
146 10
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
|
5月前
|
缓存 前端开发 IDE
【06】flutter完成注册页面-密码登录-手机短信验证-找回密码相关页面-并且实现静态跳转打包demo做演示-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【06】flutter完成注册页面-密码登录-手机短信验证-找回密码相关页面-并且实现静态跳转打包demo做演示-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
98 0
【06】flutter完成注册页面-密码登录-手机短信验证-找回密码相关页面-并且实现静态跳转打包demo做演示-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
8月前
|
小程序 JavaScript API
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
这篇文章介绍了如何在uni-app和微信小程序中实现将图片保存到用户手机相册的功能。
2261 0
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
|
9月前
|
移动开发 Android开发 数据安全/隐私保护
移动应用与系统的技术演进:从开发到操作系统的全景解析随着智能手机和平板电脑的普及,移动应用(App)已成为人们日常生活中不可或缺的一部分。无论是社交、娱乐、购物还是办公,移动应用都扮演着重要的角色。而支撑这些应用运行的,正是功能强大且复杂的移动操作系统。本文将深入探讨移动应用的开发过程及其背后的操作系统机制,揭示这一领域的技术演进。
本文旨在提供关于移动应用与系统技术的全面概述,涵盖移动应用的开发生命周期、主要移动操作系统的特点以及它们之间的竞争关系。我们将探讨如何高效地开发移动应用,并分析iOS和Android两大主流操作系统的技术优势与局限。同时,本文还将讨论跨平台解决方案的兴起及其对移动开发领域的影响。通过这篇技术性文章,读者将获得对移动应用开发及操作系统深层理解的钥匙。
275 12
|
8月前
|
开发工具 iOS开发 MacOS
【Mac_mistake】app不能安装在未命名需要OSv11.13或更高版本
【Mac_mistake】app不能安装在未命名需要OSv11.13或更高版本
440 0
|
10月前
|
关系型数据库 Linux PostgreSQL
【Azure 应用服务】Azure Function App Linux环境下的Python Function,安装 psycopg2 模块错误
【Azure 应用服务】Azure Function App Linux环境下的Python Function,安装 psycopg2 模块错误
|
10月前
|
存储 安全 Linux
【Azure 应用服务】App Service For Linux 怎么安装Composer,怎么安装PHP扩展,怎么来修改站点根路径启动程序?
【Azure 应用服务】App Service For Linux 怎么安装Composer,怎么安装PHP扩展,怎么来修改站点根路径启动程序?
|
10月前
|
数据库 Python
【Azure 应用服务】App Service中运行Python 编写的 Jobs,怎么来安装Python包 (pymssql)呢?
【Azure 应用服务】App Service中运行Python 编写的 Jobs,怎么来安装Python包 (pymssql)呢?
|
10月前
|
网络协议 Linux Shell
【Azure 应用服务】App Service For Linux 中安装paping, 用于验证从App Service向外请求的网络连通性
【Azure 应用服务】App Service For Linux 中安装paping, 用于验证从App Service向外请求的网络连通性
|
10月前
【Azure Function】Function App和Powershell 集成问题, 如何安装PowerShell的依赖模块
【Azure Function】Function App和Powershell 集成问题, 如何安装PowerShell的依赖模块

热门文章

最新文章