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

你可能已经习惯了这个场景——新手机会预装一些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虽然也可以有类似的问题,但一旦发现,删除起来容易多了!

本文作者:李勤
本文转自雷锋网禁止二次转载,原文链接

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

  1. 小米手机不为人知的秘密—后台静默安装任何应用

    导读 你是否拥有一台小米,HTC,三星或者是一加的 Android 手机呢?如果回答是肯定的,那么你应该意识到,几乎所有的智能手机厂商提供的定制 ROM,如 CyanogenMod.Paranoid ...

  2. 小米手机的BUG,自动安装 APP 的错觉

    2018-5-29,更新解释 不是西瓜视频的坑. 是小米手机,小米公司的坑,浏览器点击什么链接后,后台或下拉菜单中就自动开始了下载安装  APP. 这类链接大多数是广告链接.小米手机没有提示提醒,也不 ...

  3. 小米手机刷机和Xposed安装流程

    文章目录 1. 小米手机解锁BootLoader 1.1 备份手机数据 1.2 小米解锁工具:当前未连接手机 1.3 小米解锁工具:168小时限制 2. 安装Magisk 3. 安装edXposed ...

  4. vivo手机界面换了,安装的app突然找不到了,但是能搜索到

    今天不知道干啥了,打开手机一看,好家伙,这女性化的界面是怎么回事呢?我以前的界面怎么不见了,再看看更懵逼了,我以前下载的软件呢?难道手机自己格式化了?好不容易才找到文件管理那个打开,发现内存条还是只剩 ...

  5. 小米手机开发者选项打开usb安装需要SIM卡解决办法

    前言 最近在做一些安卓的开发,想用之前用过的小米8做测试 但是打开usb调试的usb安装之后却显示需要插入SIM卡 搜索了一下原因,可能是防止黄牛买来装一大堆第三方APP上去然后打包二次销售,影响消费 ...

  6. php 判断app浏览器打开,手机浏览器下判断是否安装某app,并判断是否打开该应用...

    今天在做前端输出的时候,需要和app的做些对接工作.就是在手机浏览器中下载某app时,能判断该用户是否安装了该应用.如果安装了该应用,就直接打开该应用:如果没有安装该应用,就下载该应用. 那么下面就对 ...

  7. 小米手机驱动程序安装教程

    小米手机跟电脑连接时,如果只是当U盘,就不需要驱动,如果要用豌豆荚,91助手等管理小米手机,就要下载驱动. 由于小米手机USB驱动没有exe执行文件进行安装,所以对于很多白米来说安装这个驱动都有点点困 ...

  8. meta20 无法安装 google play_不ROOT不刷机,小米手机如何安装谷歌 GMS 三件套

    前言 大家好,我是晓飞影! 从 iPhone Xs Max换到小米 10U 当主力机之后,除了生态体系操作习惯有不一样,也失去了一些优秀的软件,为了尽可能的弥补这个差距,最好能装上谷歌 GMS 三件套 ...

  9. 小米手机USB调试安装必须安装SIM卡

    小米手机在使用USB调试安装时会检测是否有SIM卡,安装SIM卡后打开安装开关后就可以卸载SIM卡了

最新文章

  1. Python创建virtualenv(虚拟环境)方法
  2. 机会是怎么变成陷阱的?
  3. PAT甲级1015 Reversible Primes :[C++题解]进制位、秦九韶算法、判质数
  4. Python Socket通信黏包问题分析及解决方法
  5. POJ 2967 (水题,考察putchar()按位输入)
  6. kafka topic数量上限_Kafka使用起来,竟还有这么多“潜规则”?一文彻底搞懂了...
  7. IE8的css hack
  8. 微众银行互联网架构首次曝光
  9. 《QML 基础教程》
  10. 小米5 android7.1 root,小米MIUI 7 ROOT工具(supersu root) V5.1 最新安卓版
  11. word2007制作目录
  12. java设置单元格为文本_怎样设置单元格属性为文本格式?
  13. vant中的swipe
  14. 5g8大学计算机基础东南大学,东南大学新学期迎来5G新网红 省内首家高校5G概念示范厅来了...
  15. CLRS 17.4动态表
  16. uni-app嵌入其他页面(阿里邮箱为例)
  17. 嵌入式设计---(1)嵌入式系统基础
  18. 【图像处理】gamma校正通俗解释及python实现(替代matlab imadjust)
  19. 2008年世界顶级防火墙排名
  20. 云桌面系统功能参数(备忘)

热门文章

  1. STM8L101 与 STM8S103区别
  2. JavaWeb入门学习
  3. c语言curses小游戏,基于curses库实现弹球游戏
  4. 网络高手必备十款经典软件
  5. matlab电机外特性曲线,电机大作业(MATLAB仿真电机特性曲线)
  6. 如何使用GIMP制作GIF动图
  7. SweetAlert1关闭事件
  8. Carsim-Simulink键盘实现控制Carsim车辆转向-1
  9. eclipse2022-06的web brower内部浏览器
  10. SpringBoot三种方式实现定时任务