百度浏览器是由中国互联网巨头百度公司专为Windows和安卓系统研发的浏览器。首次发布是在2011年,主要基于谷歌Chromium,它拥有大量功能,包括集成的视频音频下载工具、内置种子下载和鼠标手势支持。该浏览器是百度提供的许多服务之一,其他还有搜索引擎、大规模的广告平台和百度百科(类似于维基百科)。根据“中国互联网观察”的调查,到2015年,百度浏览器的网民渗透率达到了29.2%。 作为中国占主导地位的高科技公司之一,加上没有来自被屏蔽的谷歌搜索引擎的竞争压力,百度已经成为了中国最常用的搜索引擎。在世界范围网页访问量排名的Alexa名单上,百度排名第四,在中国排名第一。公司2014年的收入是79.6亿美金。 2014年7月,百度和互联网流量管理公司CloudFlare建立了合作,该公司总部设在美国。二者达成合作,利用百度公司的数据中心和CloudFlare的流量管理服务来提供中国网站的访问速度。这项服务被称为百度云加速,主要针对希望加快在中国效率低下、审查严苛的网络中运行速度的企业。本报告的第二部分将介绍了百度浏览器的另一个功能,即对境外特定网站的流量进行代理来提高性能。 技术分析 我们使用逆向工程技术分析了两种版本的百度浏览器。为了分析程序行为,我们使用了机器码、字节码反汇编程序、反编译器和调试器,包括了JD、JADX和IDA。我们还使用了 tcpdump和Wireshark来捕获分析网络流量。 分析分为三部分。第一部分介绍了两种版本的中文版百度浏览器是如何向百度服务器发送未加密或是易破解个人信息的。第二部分描述了百度浏览器Windows中文版的一种特别功能,即对境外特定网站的流量进行代理来提高性能。第三部分讨论了中文版和全球版共有的漏洞,以及有多少漏洞是因为百度软件开发工具包的使用,在其他百度或是第三方应用中都可以找到该工具包。 “易破解”的加密 报告中,在谈到百度浏览器使用的加密的时候我们会用到“易破解”这个短语。在这里,我们来讨论一下我们所说的这句话,以及如何正确执行百度浏览器的加密术。 当我们说加密术是“易破解”的时候,并不是说加密本身的算法是有缺陷或是不安全的(尽管有时候百度浏览器使用的算法的确是这样)。相反的,我们的意思是该算法使用不当。顾名思义,百度浏览器的分析师可以利用该算法编写一个解密工具。
加密数据有两种基本方法:对称加密或是非对称加密。对称加密(如图一所示)相比于非对称加密的优点是加密速度快。缺点就是只要你知道使用的算法和某个键,你就能破解任意的密码。利用简单的算法,做到这点易如反掌。当加密术只使用了对称算法的时候,只要对程序稍加分析就可以写出一个破解工具来。
像RSA这样的非对称算法(如图二所示)就是被开发来解决这一问题的。虽然这种算法明显慢于对称算法,但优势就是用于解密的密钥不同于加密密钥。这两个密钥必须是数学相关的,通过算法设计生成一个密钥对,但是从加密密钥到解密密钥的派生过程要通过复杂的计算。这就意味着一个程序可以使用一个硬编码的加密密钥,但是解密密钥只能保存在收件人那里。虽然数据接收方可以使用保密的解密密钥,但数据仍有可能被窃取,只要解密密钥存在于程序当中,第三方就有可能写出破解工具。 为了改善性能劣势的非对称加密,通常会使用结合了以下技术的对称加密。要想对数据进行加密,会随机生成一对对称密钥来加密数据。然后会使用非对称密钥来加密随机生成的加密密钥。之后被非对称加密的对称密钥和被对称加密的数据会一起发送给收件人。收件人可以使用私人的解密密钥来解密对称密钥,然后再用它来解密数据。因为只有加密密钥是被非对称加密的,其存储空间远小于整个数据,所以这项技术要远快于非对称加密所有数据,因此是结合了两种加密技术的优点。这是网络上使用的加密术的基本技术,比如SSL。 (责任编辑:admin) |