中国BAT巨头Web浏览器隐私和安全问题

1. 概述

在奥斯丁举行的互联网自由和开放通信研讨会 FOCI 16会议上,加拿大多伦多大学公民实验室的研究人员总结了中国三大巨头的浏览器——阿里巴巴的 UC 浏览器、腾讯的 QQ 浏览器和百度的浏览器的隐私与安全问题。

这些浏览器在中国有着庞大的用户基数,市场份额均位居前列,其安全性对广大用户而言影响深远。

中国的第三方浏览器市场在全球的地位不言而喻,特别是中国的“三巨头”科技公司,包括百度(B),阿里巴巴(A),腾讯(T),江湖人称“BAT”。

这三家公司已分别发布了自己免费的浏览器,分别为百度浏览器,UC浏览器和QQ浏览器。

所有的浏览器都是基于Chromium平台,这些浏览器提供一套Chrome和Safari等浏览器不具备的功能,包括产品组合绑定运营;内置洪流(built-in torrent)支持,鼠标手势(mouse gesture),以及压缩功能旨在减少移动数据使用量等。

这三个浏览器用户群庞大,尤其是在中国和整个亚洲。QQ浏览器和UC浏览器均跻身中国最常用的浏览器前五位,而百度浏览器在10名开外,位居22名。其中 UC 浏览器是仅次于 Chrome 的第二大移动浏览器,用户数量数以亿计。

但是,调查分析的主要结果如下:

这三大浏览器都会收集和传输非常大量的用户隐私数据,包括各种硬件识别码,位置数据以及用户网页浏览历史数据等; 三大浏览器都使用不安全的方法来传输这些数据,例如使用极易破解的对称式加密法,在没有任何加密措施的情况下传输用户隐私数据; 三大浏览器在软件更新进程都存在漏洞,每个浏览器至少有一个版本在软件更新进程中为攻击者留下可以执行任意代码的漏洞; 三大浏览器没有使用行业标准的安全数据传输方法,比如没有使用标准的 OpenSSL 协议,而是使用自制的协议。

这些结果显示安全和隐私方面的缺陷并不是每一家公司孤立的问题,而是反映了中国流行应用开发和安全的更广泛问题。

尽管这些浏览器拥有海量用户群,尤其是在中国,但是信息安全研究界对应用安全的重视度还是有限的,而这种意识的缺失是非常病态的,因为众所周知,西方情报机构曾利用UC浏览器使用不安全的传输方法传输用户个人数据而成功获取用户信息,实施监视活动。

因此,我们认为安全研究人员应该更多的关注那些拥有亿万用户群却缺乏外部监管的应用程序。

2. 研究背景

三大浏览器的开发企业是中国最大的三家科技公司,在中国在线搜索,社交媒体和电子商务领域占据重要地位。

在谷歌浏览器脱离中国市场的情况下,百度搜索引擎始终占据主导地位, 2016年3月的报告显示,其市场份额达到70%,每月拥有6.6亿移动搜索用户。

腾讯运营着两家世界最大的通信平台,QQ平台拥有8.53亿用户,微信拥有6.97亿月度活跃用户。阿里巴巴经营着中国最大的电子商务网站,包括淘宝和天猫,拥有超过3.67亿的活跃用户。

三大浏览器的准确市场占有率很难获取,但是通过研究我们发现,UC浏览器是目前最流行的,是中国,印度和印度尼西亚最流行的手机浏览器。

此外,据估也是世界上第二大流行的手机浏览器。虽然一些报告估计QQ和百度浏览器在中国分别为第二和第三大流行的手机浏览器,但是也有人指出他们加在一起的市场份额还不到10%。

不安全传输用户隐私数据和应用程序中存在潜在的执行任意代码漏洞都不再是假想的担忧。

根据“棱镜门”事件中爱德华·斯诺登泄露的文件显示,西方情报机构早在2012年就已经成功识别UC浏览器中的信息泄露漏洞,随后成功地利用漏洞设计了一个XKeyscore插件以窃取应用程序的用户数据,实施监控。

3. 技术分析

以下的分析包括百度,QQ和UC浏览器的Android和Windows共11个不同的版本,具体如表1所示:

浏览器

操作系统

版本

百度浏览器

Windows (C)

7.6.100.2089

百度浏览器

Windows (I)

43.22.1000.452

百度浏览器

Android (C)

6.2.18.0

百度浏览器

Android (I)

5.1.0.1

QQ浏览器

Windows

9.2.5478

QQ浏览器

Android

6.3.0.1920

UC浏览器

Windows (C)

5.5.10106.5

UC浏览器

Windows (I)

5.5.9936.1231

UC浏览器

Android (C)

10.9.0.703

UC浏览器

Android (C)

7.9.3.103

UC浏览器

Android (I)

10.9.0.731

表1:应用程序版本分析(Ⅰ)指国际版,(C)指中文版

我们发现,无论是浏览器的哪个版本都存在收集用户个人信息(如硬件序列号等)的情况。大部分浏览器存在传输用户位置信息的情况,如GPS坐标或附近的WiFi网络,还有大多数浏览器会跟踪浏览网页的完整URL,即使是通过HTTPS最初检索的页面。

在谈到三大浏览器使用的加密的时候我们会用到“易破解”这个词语。当我们说加密术是“易破解”的时候,并不是说加密本身的算法是有缺陷或是不安全的(尽管有时候百度浏览器使用的算法的确是这样)。

相反的,我们的意思是该算法使用不当,其使用的加密法是完全对称的,并且使用了硬编码密钥。由于用的是对称算法,所以任何分析浏览器使用的加密算法和硬编码的密钥的人都可以轻易破解它们加密的内容。

关于对称加密和非对称加密

加密数据有两种基本方法:对称加密或是非对称加密。对称加密相比于非对称加密的优点是加密速度快。缺点就是只要你知道使用的算法和某个键,你就能破解任意的密码。利用简单的算法,做到这点易如反掌。

当加密术只使用了对称算法的时候,只要对程序稍加分析就可以写出一个破解工具来。

我们通过使用自己编写的代码破解了每个浏览器的加密流量证实了这一情况。表2中是我们总结的每个浏览器的不安全数据泄露情况。

浏览器(操作系统)

用户个人信息

地址信息

浏览行为

百度浏览器 (W)

百度浏览器 (A)

QQ浏览器(W)

QQ浏览器(A)

UC浏览器(W)

UC浏览器(A)

表2:每个中文最新版浏览器是否存在泄露用户隐私数据,地址或浏览器活动的情况;

(W)指Windows版本,(A)指Android版本

最后,我们发现大多数浏览器在其自我更新的过程中,允许有人从网络的特权点(privileged point)上注入流量,进而导致浏览器运行任意代码漏洞。下文为我们分析总结的百度,QQ以及UC浏览器中文版本的相关情况。

3.1 百度浏览器分析

如表3所示,我们发现百度浏览器(W)7.6.100.2089版本中存在通过网络泄漏敏感数据的情况。

数据信息

数据类型

加密措施

MAC地址

用户个人信息

易破解

硬盘序列号

用户个人信息

易破解

搜索字词

浏览行为

未加密

完整的HTTP(S) 链接

浏览行为

易破解

HTML页面标题

浏览行为

易破解

表3:百度浏览器(W)7.6.100.2089中文版本数据泄露情况总结

简单加密的数据信息也只是通过对称分组密码进行保护,这种数据是用一种改编的TEA密码进行加密的,我们称为MTEA。百度用MTEA使用的密码模式块是CBC的一种非标准修改,叫做MCBC。

我们还发现,该浏览器并没有使用非对称加密算法来验证软件更新。更新元数据也是通过对称的MCBC + MTEA算法进行传输的,此外,下载的二进制文件也只使用MD5 hash进行验证,而不是数字签名验证。

在浏览器检索更新时,通过发起中间人攻击,攻击者就能够下载并运行任意可执行文件。

此外,如表4所示,我们还发现百度浏览器(A)6.2.18.0版本通过网络泄露敏感数据的情况。

数据信息

数据类型

加密措施

国际移动设备标识(IMEI)

用户个人信息

易破解

GPS坐标

地址信息

未加密

附近的WiFi网络

地址信息

易破解

搜索字词

浏览行为

未加密

完整的HTTP(S)链接

浏览行为

未加密

表4:百度浏览器(A)6.2.18.0中文版数据泄露情况总结

所谓简单加密也只是使用一些简单的对称算法进行加密。用户的IMEI信息通过不安全的传输方式被发送到多个地方,其中一个例子中,浏览器使用了一种“自制”算法,32位XOR mask,bit rotations和非标准的Base64编码。

另一实例中,加密算法仅使用了硬编码5字节ASCII RC4密钥(“HR2ER”)进行加密。

我们还发现,百度浏览器加密数据使用的硬编码ASCII AES密钥(“h9YLQoINGWyOBYYk”)含有IMEI数据,GPS坐标,以及附近的WiFi接入点等信息。我们确定该代码不属于正式的百度浏览器,而是属于百度移动统计SDK。

通过使用Lookout(一家移动安全公司)的数据,我们发现这个SDK不仅被用于百度产品,还为成千上万的第三方谷歌Play Store应用程序所用。

其中,最流行的应用程序是ES File Explorer File Manager(com.estrongs.android.pop),据谷歌Play Store报告,该应用程序拥有1-5亿的安装量。 (由于谷歌Play Store在中国无法访问,所以这个数字很可能还不包含大量的中国大陆用户。)

此外,我们发现Android版本的更新程序同样易受中间人攻击,因为其更新程序仅仅依靠MD5 hash保护。通过注入网络流量,攻击者就能够攻击浏览器,并提示用户安装任意应用程序。

3.2 QQ浏览器分析

QQ浏览器(W)9.2.5478版本泄露敏感数据的情况总结如下表5所示:

数据信息

数据类型

加密措施

设备硬件编号

用户个人信息

未加密

机器主机名称

用户个人信息

易破解

网关MAC地址

用户个人信息

易破解

硬盘序列号

用户个人信息

易破解

Windows用户安全标识符

用户个人信息

易破解

搜索字词

浏览行为

未加密

完整的HTTP(S)链接

浏览行为

未加密

表5:QQ浏览器(W)9.2.5478版本数据泄露情况总结

表中提及的“易破解”加密方式采用的是多种含有硬编码密钥的加密算法,包括DES+ECB以及3DES+ECB模式。但是很有趣的是,大部分敏感数据都是采用和百度浏览器一样的非标准的MTEA+MCBC模式加密。

目前还不清楚,为什么百度和QQ浏览器使用相同的非标准加密模式对敏感数据进行加密。

我们针对QQ浏览器在更新进程中存在的两个安全漏洞进行了概念验证(proof-of-concept)。

第一个安全漏洞说明仅是验证数字签名还不足以认证软件更新的安全性。数字签名验证只是判断下载的EXE是不是由腾讯签名的,但是不会判断这个EXE会不会更新QQ浏览器-这个EXE可以是任何一个腾讯签名的程序。

我们发现,旧版的QQ浏览器安装程序不会执行签名检查(这个安装程序本身只使用了对称加密),在更新时也是这样,我们使用了漏洞版本的QQ浏览器在线安装服务来“更新”用户的QQ浏览器,然后下载和执行我们选择的一个EXE。

第二个漏洞是在QQ浏览器更新进程中的目录遍历攻击(directory traversal)。通常,当有更新时,QQ的服务器会在响应中给出EXE文件的下载链接,MD5哈希,新功能和修复简介,EXE的文件名和保存位置。

我们发现文件名中出现了目录,通过目录遍历,攻击者可以覆盖用户有权限写入的任何文件。

例如,将文件命名为../../../../../../../../../program files/tencent/qqbrowser/qqbrowser.exe,我们就可以用任意程序替换QQ浏览器,这样用户在下次执行QQ浏览器时,实际执行的就是我们的程序。

攻击者可以利用这种攻击方式来安卓隐藏的间谍软件或木马。

QQ浏览器(A)6.3.0.1920版本泄露敏感数据的情况总结如下表6所示:

数据信息

数据类型

加密措施

国际移动设备标识(IMEI)

用户个人信息

易破解

国际移动用户识别码(IMSI)

用户个人信息

易破解

安卓ID

用户个人信息

易破解

QQ用户名

用户个人信息

易破解

WIFI MAC地址

用户个人信息

易破解

附近的wifi接入点

地址信息

易破解

Wifi热点

地址信息

易破解

搜索字词

浏览行为

未加密

完整的HTTP(S)链接

浏览行为

未加密

表6:QQ浏览器(A)6.3.0.1920版本数据泄露情况总结

该浏览器使用了RSA-AES加密敏感数据,RSA-AES是非对称算法,但是由于AES秘钥使用的是一个128位的RSA公钥加密,而RSA的安全程度取决于加密秘钥的系数分解难度,只有128位的RSA公钥加密分解起来并不难(RSA秘钥一般建议至少2018位)。

使用Wolfram Aplpha在线计算引擎,用不了1秒就可以分解秘钥的系数:245406417573740884710047745869965023463,指数:65537。分解后,得到了下面两个质因数:14119218591450688427 x 17381019776996486069

总之,该浏览器的软件更新进程同上述的百度浏览器(A)一样易受攻击,用户信息安全性得不到保障。

3.3 UC浏览器分析

UC浏览器(W)5.5.10106.5中文版信息泄露情况总结如下表7所示:

数据信息

数据类型

加密措施

硬盘序列码

用户个人信息

易破解

基板序列码

用户个人信息

易破解

文件系统卷标信息序列码

用户个人信息

易破解

完整的HTTP(S)链接

浏览行为

未加密

表7:UC浏览器(W)5.5.10106.5中文版信息泄露情况总结

该浏览器只通过基于XOR masks ,使用硬编码秘钥的“homebrew”算法来保护这些“易破解”的敏感数据。此外还发现,中文版的UC浏览器使用的是神马搜索引擎,输入的搜索查询词是不会被加密的。

而在软件更新进程中则使用了一个复杂的更新方案,旨在有效的修补软件以实现减少下载字节的目的。然而,一旦该方案被破解,它将如同上述的百度浏览器(W)一般极易受到攻击。

UC浏览器(A)10.9.0.703版本信息泄露情况总结如下表8所示:

数据信息

数据类型

加密措施

国际移动设备标识(IMEI)

用户个人信息

易破解

国际移动用户识别码(IMSI)

用户个人信息

易破解

搜索字词

浏览行为

未加密

完整的HTTP(S)链接

浏览行为

易破解

表8:UC浏览器(A)10.9.0.703版本信息泄露情况总结

如Windows版本一样,UC浏览器(A)也只通过基于XOR masks ,使用硬编码秘钥的“homebrew”算法进行保护。Dalek等人的报告中还曾对10.2.1.161版本进行过研究,并通过硬编码AES密钥来揭示该版本的数据泄露情况,但目前我们发现,这些泄漏已经被修复。

我们还针对2011年发布的UC浏览器(A)7.9.3.103版本进行了分析,因为根据“棱镜门”斯诺登所公布的文件表明,西方情报机构就是利用该版本的漏洞,开发XKeyscore插件成功窃取了大量用户隐私数据。

我们在该版本中并未发现Dalek等人研究报告中提及的漏洞,这意味着他们并不是利用该漏洞开发XKeyscore插件的人。

然而,我们在10.9.0.703版本中发现的大部分的数据泄露情况同样存在于7.9.3.103版本中。

这些泄露情况泄露的是与上表中相同的数据,这也就意味着我们在最新版本的浏览器中发现的漏洞很可能与2012年被用于开发XKeyscore插件的漏洞是一样的。

虽然在最新版本的浏览器中确实对下载的APK文件进行了数字签名认证,但是我们发现在7.9.3.103版本中并不存在,如此一来,在软件更新进程中就很容易发生如上述QQ和百度浏览器(A)一样的漏洞。

从情报机构发布的报告发现,供应商可以更新软件并且具备将“恶意软件”推送至“受害者”设备的能力。这与我们在7.9.3.103版本中发现的中间人攻击漏洞一致。软件升级此前只被推测是国家网络间谍组织用于注入恶意软件。

4. 国际版本

除了中文版本外,百度和UC浏览器也有国际版本提供。我们发现,这些版本也具有上述文章相似的漏洞。

5. 责任披露

我们已经通知三家公司其各自浏览器中存在的问题,并承诺延缓公布我们的研究结果45天。我们也将继续按照首次披露的顺序对该三家公司进行进一步研究,旨在进一步谈论我们的关注点以及他们提出的修复方案。

目前根据我们得到的通知,这三个公司都已经发布了他们的浏览器更新版本,而根据我们的分析表明这些新版本也解决了一些问题,但不是我们所识别的全部安全问题。

6. 结论

在竞争激烈的高科技市场,每家公司都力争推陈出新,不断发布新产品推出新功能,加之缺乏外部审计,这种种诱因都使得产品自身的隐私和安全问题被忽视。

同时,这种强大的市场压力也促使这些企业不断的加强对用户数据的收集,而且这种压力并不是针对某一家web浏览器而是所有中国本土企业。

所以面对不断增长的应用市场和日益严峻的隐私和安全现状,安全研究人员和开发企业都必须高度重视应用程序的安全性,在保护用户的隐私和安全的前提下提供更优质的服务。

* 原文链接:usenix、米雪儿编译,未经许可禁止转载

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2016-08-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

RansomWeb:一种新兴的网站威胁

越来越多的人成为勒索软件的受害者,勒索软件是一种加密你的数据并要求支付资金解密的恶意软件。最新趋势表明,网络犯罪分子现在也将瞄准您的网站以获得您的赎金。

1173
来自专栏Seebug漏洞平台

Ztorg:从 root 到 SMS

自从2016年9月以来,我一直在监控 Google Play 商店的新 Ztorg 木马,到目前为止,还发现了几十个新的恶意应用程序。所有这些都是恶意 root...

2908
来自专栏FreeBuf

革命性创新?走近“高水准”新型勒索软件Spora

勒索软件几乎每周都会增加新的“家族成员”,这类威胁的影响力不断上升。Emsisoft(奥地利的信息安全公司,主营业务有反恶意软件、互联网安全、应急响应、移动安全...

1936
来自专栏FreeBuf

远离Flash,远离危险:从Flash 0day漏洞披露到集成渗透工具包,仅用4天

6月27日,渗透测试工具包Magnitude已经成功Adobe Flash Player 0day漏洞,而这个时间仅在Adobe发布修复漏洞补丁后的四天,工具包...

2049
来自专栏FreeBuf

OpenSSL心脏出血漏洞全回顾

近日网络安全界谈论的影响安全最大的问题就是Heartbleed漏洞,该漏洞是4月7号国外黑客曝光的。据Vox网站介绍,来自Codenomicon和谷歌安全部门的...

2585
来自专栏发迹网(www.082765.com)

熊掌号上线小时、天级和周级收录!

其实意思很简单,就是网站内容更新之后,提交到熊掌号可以享受小时级、天级和周级搜索展现。目前天级和周级功能已经开放,小时级再内测中,需要邀请用才可以开通。

1610
来自专栏安恒信息

挖矿病毒无处不在—Coinhive android APP滥用分析报告

摘要 近日安恒APT团队截获到一批(300多个)各种类别冒充为黑客破解版本的APK样本: ? 经过分析为Coinhive网站挖矿API在android平台的滥用...

3338
来自专栏企鹅号快讯

黑客术语基础知识快速了解

1.肉鸡:所谓“肉鸡”是一种很形象的比方,比方那些能够随意被我们操控的电脑,对方可所以Windows体系,也可所以UNIX/Linux体系,可所以一般的个人电脑...

37510
来自专栏黑白安全

kail洪水攻击

在计算机行业,拒绝服务(DoS)或分布式拒绝服务(DDoS)攻击是指不法分子企图让某机器或网络资源无法被预期的用户所使用。虽然执行DoS攻击的方式、动机和目标不...

1082
来自专栏黑白安全

总结常见的10种破解密码方法

为了防止键盘记录工具,产生了使用鼠标和图片录入密码的方式,这时黑客可以通过木马程序将用户屏幕截屏下来然后记录鼠标点击的位置,通过记录鼠标位置对比截屏的图片,从而...

1762

扫码关注云+社区