中国领先的IT技术网站
|
|

多伦多大学:UC浏览器收集并发送用户隐私数据分析报告

加拿大多伦多大学公民实验室一直在调查研究这款亚洲地区较为流行的通信工具,通过调查比较中文版UC浏览器和英文版UC浏览器,发现中文版UC浏览器会收集并发送用户的隐私数据,而英文版则不会。

作者:cindy来源:FreeBuf|2015-05-25 12:54

开发者大赛路演 | 12月16日,技术创新,北京不见不散


0×01 问题概要

UC浏览器是中国和印度地区最为流行的web浏览器,也是全球第四大移动浏览器,仅次于chrome、Android浏览器和Safari浏览器,目前拥有超过5亿的用户群。加拿大多伦多大学公民实验室一直在调查研究这款亚洲地区较为流行的通信工具,通过调查比较中文版UC浏览器和英文版UC浏览器,发现中文版UC浏览器会收集并发送用户的隐私数据,而英文版则不会。

个人验证信息和查询请求在传输过程中没有被加密:

1.用户数据(IMSI、IMEI、Android ID、WiFi MAC地址)未经加密被发送到阿里巴巴分析工具Umeng上;

2.用户的位置数据(经度/纬度、街道名称)未经加密被阿里巴巴地图工具AMAP发送出去;

3.用户的查询请求未经加密被发送到Shenma(中文版)、yahoo、谷歌(英文版)等搜索引擎上;

即使清理了应用程序上的缓存,用户的隐私信息还是会保留在缓存里,第三方还是可以访问用户的数据。

多伦多大学:UC浏览器收集并发送用户隐私数据分析报告

加拿大公民实验室的研究人员于2015年4月15将这一发现报告给了阿里巴巴和UCWeb,并说明了将会在4月29日或者之后公开这一发现。阿里巴巴于4月19日给予了回复,称公司安全工程师正在调查研究这一问题。研究人员于23日又向他们重申了要在29日之后公开问题详情,但是阿里巴巴和UC均未给予任何回复。

研究人员在19日又测试了一下10.4.1-576版本的UC浏览器(中文版,从UC官网上下载的),没有发现浏览器会向AMAP发送未经加密的数据,但仍然会向Umeng组件传输未经加密的数据,而且查询搜索数据也仍然未加密。建议使用UC浏览器中文版的用户应尽快更新到10.4.1-576及其更高的版本。

0×02 UC浏览器简介

UC浏览器是UCWeb Inc.开发的明星级移动浏览器,目前覆盖了Android、iOS、windows phone、windows mobile等主流操作系统。UC公司成立于2004年,后被阿里巴巴合并,联合开发出了一款Shenma搜索引擎。

作为全球第四大浏览器,UC浏览器每天的活跃用户达1亿人次。UC浏览器主页上会默认显示一些常用的搜索引擎、社交媒体网站、天气信息、新闻和购物信息等。拥有独创的U3内核和云端架构,支持HTML5应用,支持语音搜索。

0×03 方法和技术分析

通过分析某些中文版UC浏览器和英文版UC浏览器(均为安卓版)的构架、移动网络数据和WiFi流量、数据的保留和删除功能,研究人员发现了一些较为严重的安全问题。下图中形象的展示了中文版UC浏览器存在的安全问题:

多伦多大学:UC浏览器收集并发送用户隐私数据分析报告

测试装置

为了检测UC浏览器的安全和隐私功能,我们测试了一些中文版本和英文版本的浏览器。因为我们对浏览器传输个人身份信息时是否加密十分的感兴趣,所以就监控了浏览器向内部服务器传输的数据。

我们了测试安卓模拟器和安卓手机,并用抓包工具WireShark抓取了所有发送出去的和收到的流量。随后用反编译工具APKtool反编译了从浏览器上下载的APK文件,然后分析了和用户数据传输功能相关的代码。

版本分析

被分析的UC浏览器均为安卓系统的浏览器,但是从不同的应用商店下载的:中文版的UC浏览器是2015年3月从小米应用商店下载的,英文版是2015年5月直接从官网上下载的。除了语言不同外,中文版默认的神马搜索引擎,而英文版默认的是雅虎(印度)和谷歌搜索引擎;中文版主页上显示的是百度、新浪微博、优酷等,而英文版主页上显示的是Google、Facebook、twitter等。

多伦多大学:UC浏览器收集并发送用户隐私数据分析报告

多伦多大学:UC浏览器收集并发送用户隐私数据分析报告

在安装浏览器时,应用程序会给予一个隐私保护声明。在声明中值得注意的是,浏览器会要求访问和收集用户的设备信息、日志信息、位置信息。收集信息并不可怕,但是中文版的UC浏览器收集了这些信息之后并不能安全的传输。

3.1 10.2.1-161版本的中文版UC浏览器

中文版本UC浏览器测试结果如下表:

多伦多大学:UC浏览器收集并发送用户隐私数据分析报告

而英文版的浏览器不会发送设备相关识别码和WiFi的MAC地址。

1.仅在移动网络下测试中文版UC浏览器

在打开浏览器的前270秒内,它会通过HTTP与以下主机进行通信:

多伦多大学:UC浏览器收集并发送用户隐私数据分析报告

发送到AMAP的数据很容易解密

正如上图中显示的,大部分通信都是发生在应用程序和 apilocate.amap.com之间。进一步分析这些通信会发现,在应用程序和apilocate.amap.com之间存在一个很明显的数据交换:

多伦多大学:UC浏览器收集并发送用户隐私数据分析报告

鉴于对二者之间传输的数据很感兴趣,于是我们使用一个免费工具pyhttpextract破译了编码数据块,然后就发现了如下的交换数据:

多伦多大学:UC浏览器收集并发送用户隐私数据分析报告

编码的数据是以‘’的结构发送的,并且数据很大,所以我们怀疑里面会包含用户的数据。为了要证明里面是否包含了用户数据,我们首先要先解密这一数据块。这时就又用到了解密工具apktool。破译之后,我们在com/aps分类相关的目录中找到了‘sreq’字符串。因为com/aps/*目录序列化了‘’,所以我们下一步就是要看看哪一个.smali文件(安卓系统使用的代码格式)被译成了.java文件名:

多伦多大学:UC浏览器收集并发送用户隐私数据分析报告

我们在Aes.java文件中搜寻被加密的应用程序组件,而这一文件使用的是对称AES/CBC加密方式(使用的是硬编码密钥‘autonavi_amaploc’)。加密过程如下图:

多伦多大学:UC浏览器收集并发送用户隐私数据分析报告

使用硬编码对称加密方式意味着所有知道密钥的人都可以解密中文版UC浏览器的流量,而且密钥的持有者还可以解密所有之前的数据。

我们使用的是标准的AES解密工具来解密‘’数据的,为的就是演示要想解密之前的数据也是可以的。格式化数据为可读模式:

多伦多大学:UC浏览器收集并发送用户隐私数据分析报告

发送到apilocate.amap.com数据中含有很多设备及其相关的标识符。设备标识符:IMSI、IMEI、和中文版UC浏览器相关的用户数据;移动网络塔信息:移动国家代码(MCC)、移动网络代码(MNC)、位置区域代码(LAC),移动网络塔ID和信号强度。通过这些信息完全可以识别出设备、设备使用者和设备的位置。

发送位置信息之后,应用程序会收到一个未加密的回复,包括用户的经度/纬度(如下图中的‘cenx’ 和 ‘ceny’字段)和所在街道的名称。如下图:

多伦多大学:UC浏览器收集并发送用户隐私数据分析报告

比如我们通过上述信息成功的定位到了我们实验室所在的位置:

多伦多大学:UC浏览器收集并发送用户隐私数据分析报告

通过上述的分析我们越来越相信AMAP就是中文版UC浏览器的一个组件。

向Umeng传输未加密的数据

正如图5中显示的那样,中文版UC浏览器会定期的和utop.umengcloud.com、upoll.umengcloud.com 联系。发送的信息如下:

多伦多大学:UC浏览器收集并发送用户隐私数据分析报告

上述信息中包含了一些个人标识符,如IMEI、IMSI、设备Android ID(’c6’)和构架序列号(’c5’)。

2.在WiFi网络下测试UC浏览器

向AMAP发送的数据很容易被解密

连接上WiFi,开启应用程序,使其空闲270秒,浏览器同样会发送易解密的数据。然而,应用程序除了会发送附近WiFi访问节点的数据外,还会发送它们的MAC地址。

多伦多大学:UC浏览器收集并发送用户隐私数据分析报告

向Umeng发送未加密的数据

当连接到WiFi网络时,用户的个人数据就被以未加密的方式发送给了Umeng。当然除了IMEI、IMSI外,还会发送设备的WiFi MAC地址。

多伦多大学:UC浏览器收集并发送用户隐私数据分析报告

将上图中的代码转换成可读模式:

多伦多大学:UC浏览器收集并发送用户隐私数据分析报告

测试中文版UC浏览器的搜索功能

中文版的UC浏览器使用的是神马搜索引擎,输入的搜索查询词是不会被加密的:

多伦多大学:UC浏览器收集并发送用户隐私数据分析报告

删除浏览器的数据

UC浏览器是有删除隐私信息选项的,用户可以删除浏览器上的cookies和历史记录。但是,即便用户删除了自己的隐私数据,应用程序的DNS查找记录仍然存在,也就是说没有从真正的意义上删除数据。

多伦多大学:UC浏览器收集并发送用户隐私数据分析报告

3.2英文版UC浏览器(10.4.1.565)

被测试的浏览器版本为10.4.1.565,是直接从官网上下载的。和中文版的浏览器测试过程一样,先是空闲测试(移动网络和WiFi网络)、搜索、数据存储。空闲测试阶段没有发现任何问题,设备不会传输任何的信息。

搜索

英文版的搜索方式有两种:一种是点击右上方的“搜索”按钮;第二种是在左上方的地址栏中直接输入查询语句。

多伦多大学:UC浏览器收集并发送用户隐私数据分析报告

通过研究发现英文版的UC浏览器也会向yahoo发送未加密的数据:

多伦多大学:UC浏览器收集并发送用户隐私数据分析报告

另外,在查询栏的左边会出现绿色标识符

多伦多大学:UC浏览器收集并发送用户隐私数据分析报告

这一绿色的标识符可能就会使用户放心,因为出现绿色的标识符就说明用户的查询被加密了,其实不然。

接下来我们在地址栏中输入了一个查询语句,而这一搜索未经加密就被发送到了Google:

多伦多大学:UC浏览器收集并发送用户隐私数据分析报告

英文版的UC浏览器并不会存储DNS查询数据,也就说如果用户自己删除了上网记录,那浏览器上就不会再有任何的用户信息了。

0×04 总结

经过我们的研究发现,这两个版本的浏览器均会将用户信息泄露给第三方,但是就安全和隐私方面考虑,中文版的UC浏览器更为严重。虽然在中国和印度政府有权利获得通信公司、移动网络厂商、网吧的流量数据,但是UC浏览器的这一问题很可能会被一些人非法利用。

阿里最新回应:UC浏览器新版本已修复数据传输风险

5月22日消息,据国外媒体报道阿里巴巴旗下UC浏览器存在信息传输加密安全风险。阿里巴巴对此回应称对安全问题高度重视,UC浏览器已在第一时间提高信息安全加密级别,不再存在报道中提及的风险。目前应用商店上的UC浏览器最新版本,相关信息已经改为安全级别更高的HTTPS加密方式传输。事实上,该媒体援引加拿大公民实验室报告中提到的信息传输加密风险,在国内并非个案,目前国内大部分互联网公司均在信息传输加密上存在问题。

【责任编辑:蓝雨泪 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Groovy入门经典

本书详细介绍脚本语言Groovy,首先介绍Groovy语言的基本特性,包括讨论Groovy方法、程序闭包、列表、映射以及对类和继承的支持,然后介绍如...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
× 51CTO学院双十二活动