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

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

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

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

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

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

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

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

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

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 静默安装


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虽然也可以有类似的问题,但一旦发现,删除起来容易多了!

  

 

  本文作者:李勤

本文转自雷锋网禁止二次转载,原文链接

时间: 2024-11-02 21:04:56

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

细思恐极!小米手机藏后门可远程安装任意APP?

到底是远程控制还是....细思恐极王小二跟邻居张大牛买了一只鹅. 张家出品的鹅号称一条龙服务,如果鹅生病一定会负责到底,要么治好,要么换鹅.不过,最近王小二发现,张大牛总在王小二不注意或者夜半无人私语时来王家院子偷偷捡鹅粪. 王小二纳闷了,张家到底在干吗?是不是看上了我家翠花?他怒了,在集市上质问张大牛,张大牛百口莫辩,只说捡鹅粪是为了看看鹅有没有生病. 王小二将信将疑,他很生气,那意思是以后时不时还有别家有别的借口来我家遛遛顺点啥? 这个乡村爱情故事可能和今天要说的事情有点关系. 你可能已经习

iOS 9现漏洞 黑客可远程安装任意软件

据国外媒体消息称,计算机安全公司Zerodium宣布,已经发现了iOS 9的漏洞,通过此漏洞黑客可以对iOS 9设备进行远程越狱并安装任意软件.Zerodium将为发现此漏洞的黑客颁发100万美元的奖金.不过令人担心的是Zerodium并没有公布漏洞和黑客的任何信息,也就是说目前即使苹果想要修复iOS 9也无从下手.Zerodium创始人的Chaouki Bekrar只是表示,iOS 9可以被破坏到此种程度是令人难以想象的. 本次漏洞的发现源于Zerodium公司的百万悬赏,上个月该公司表示,"

小米手机助手连接不上手机怎么办?

  最近有网友"欢颜"问小编这样一个问题:小米手机助手连接不上手机怎么办?小米手机助手是针对小米手机开发的PC管理工具,前不久已经正式推出了小米手机助手2.0,功能越发完善.对于,网友反馈的小米手机助手连接不上手机,主要有以下几种原因. 小米手机助手连接不上手机的原因与解决办法 与大多数手机PC管理工具一样,要使小米手机能够正常连接上电脑上的小米手机助手,首先应该使用USB数据线,将小米手机与电脑连接,并需要确保电脑USB接口可以正常使用. 1.遇到小米手机助手连接不上手机首先应该检查

小米手机如何卸载软件?小米手机应用卸载教程

我们先在手机中安装一个"统一安卓助手"来卸载应用软件,步骤如下: 1.现在在小米手机中点击打开刚才安装的软件,然后点击"设置".     2.在设置面板会有一个[应用卸载]选项.     3.点击进入之后再找到里边的"已安装软件" 之后找到在删除的软件再点击[卸载]图标,即可卸载删除.     4.在删除时为了防止不小心点击错了,会弹出一个确认框,我们只有点击 卸载按钮后,弹出软件专属卸载界面,点击确定选项.     当然如果要批量删除软件我们可

小米盒子怎么安装?小米盒子无须工具安装APK教程(远程安装)

小米盒子用U盘就可以安装第三方软件,但对于没U盘的朋友该如何呢?下面教你直接用电脑远程给小米盒子及小米盒子增强版安装第三方软件看电视直播,不用U盘,不用OTG,也不用安卓手机数据线哦! 具体步骤如下: 1.下载需要的APK软件到电脑.(看电视直播的一般都安装泰捷视频TV版).将小米盒子连接好电视,接通网线联网:(注意:盒子的网络与电脑的网络必须在同一个WIFI的局域网下) 2.启动小米盒子与电视,在电视上依次打开"应用"-"应用商店"-"应用管理"

小米手机驱动安装方法图解 不需要手机助手快速安装驱动

1.先在官方把小米驱动安装包下载在电脑上,之后再把小米手机连接电脑,系统会提示"xiaomi_usb_driver"驱动 2.然后我们如下图所示点击"从列表或指定位置安装(高级)(S)"这个选项,选择后点:"下一步"进入到下一个页面. 3.然后我们选择下载好的小米驱动程序在电脑中的位置,这样速度快. 4.择(勾选)"在搜索中包括这个位置"(注意现在看到的是系统默认的,每台电脑的默认不一样哟,这个不用管她). 5.如我们点击&q

小米路由器mini怎么绑定远程下载

迅雷远程下载需要两个步骤:1.绑定各个版本迅雷:PC迅雷.智能路由器迅雷.智能盒子迅雷(看个人的选择,也可以绑定其中一个设备),将其添加到支持远程下载设备清单,使其支持离线下载.2.然后通过迅雷远程下载网站.手机迅雷客户端两种方式来进行远程下载. 只有将小米路由器mini绑定迅雷远程下载后,才能支持迅雷远程下载,下面给你详细介绍下小米盒子绑定迅雷远程下载的方法 小米路由器mini怎么绑定远程下载 小米路由器mini绑定迅雷远程下载教程 1.安装最新版小米路由器mini手机客户端 2.点击左下角[

Android配置----小米手机通过wifi连接ADB调试Android应用

  [正文] ADB远程调试的方法给Android开发人员带来了便利,下面介绍本人亲测有效的wifi连接ADB的方法.首先要保证电脑和手机在同一个局域网内,并且手机要通过wifi已正常连接. [测试版本] 手机型号:小米2S 系统版本:MIUI 4.6.27(开发版) 1.手机的设置: (1)保证手机已经获得ROOT权限(MIUI稳定版无法获得ROOT权限,即使通过第三方实现,对手机也会造成一定的伤害,此时可将MIUI系统升级到开发版) (2)打开手机"USB调试". 在[设置]→[全

360极速浏览器怎么抢购小米手机

  相信不少网友都碰到过,在小米网抢购小米手机总是抢不到,这是我们不得不感叹那些抢的到的手脚和网速到底是有多"逆天"!今天小编就为读者带来一款提高抢手机效率的浏览器插件. 用360极速浏览器抢购小米手机的技巧 1.这里小编以360极速浏览器为例子,进入到扩展中心: 2.搜索自动刷新,如小编红框标记位置,点击安装--添加: 3.这是在网址栏(小编红框标记位置),我们可以看到一个小闹钟的图标,点击一下,我们选择5秒: 4.这时我们用"ctrl+鼠标滚轮"放小网页,这是我