这个乡村爱情故事可能和今天要说的事情有点关系。
你可能已经习惯了这个场景——新手机会预装一些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.javastatic 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虽然也可以有类似的问题,但一旦发现,删除起来容易多了!
本文作者:李勤
本文转自雷锋网禁止二次转载,原文链接