你说安全就安全?对红芯浏览器的一次安全测试

你说安全就安全?

近日,红芯浏览器“套壳”一事被网络舆论炒的沸沸扬扬。红芯浏览器被官方标榜为“安全、稳定、可控的企业浏览器”,其中“自主可控”一项已经被舆论所质疑,但是被官方放在第一项进行宣传的“安全”是否属实呢?

据笔者所知,红芯浏览器的主要客户为国内政府、大型国有企业,单位主体的性质决定了其内部会有大量涉及商密、机密、甚至涉及国家安全的重要信息,而红芯浏览器则被设计为触及这些重要信息的媒介,如果它出了问题,那么后果不堪设想。

为了验证红芯浏览器的安全性到底如何,小编决定做了一个简单的安全测试。对于这种套壳浏览器,安全测试大体可以分为两个部分,一个是“壳”的安全性,一个是浏览器“内核”的安全性。

对于“壳”,由于小编没有服务器环境,暂时无法接触到“壳”的主要逻辑,暂时作罢,如果你有测试环境,可以分享给小编,我们将在后续文章中分享测试结果。

图1 需要设置服务器地址才可以登陆,进而才可以测试“壳”

那么我们就测一下”内核”。根据之前网络上的爆料文章,红芯为了兼容XP,使用了最后一个兼容XP的内核:Chromium49。说起这个内核,笔者不禁回忆起了自己的青春,当初学编写chrome扩展的时候正是基于这个版本,说起来已经是两年前的事情了。

换句话说,如果你使用了两年前的版本,你失去不仅仅是两年内Chromium的新特性、新功能,更重要的是你失去了这两年内Chromium积累的安全补丁。

本次测试文件为红芯企业浏览器的3.0.54版本。

图2 红芯浏览器3.0.54安装文件

测试项目:XSS Auditor(filter) ByPass

XSS Auditor(filter)ByPass 翻译过来意思是:XSS审计器(或称XSS过滤器)的绕过。一直以来,XSS攻击是web前端领域里面威胁最大、利用最广泛的漏洞。在国际权威组织owasp针对最流行的Top10的web攻击统计中,XSS攻击从未掉队。

图3 2013-2017之间XSS的排名变化

然而,从这张图可以看到XSS从2013年的第3滑落到2017年的第7名,这其中的原因是多方面的,但其中重要的原因,就是现代浏览器引入并不断完善的XSS Auditor对反射型XSS的“狙击”,让XSS攻击越来越难用。

XSS Auditor最早被Chrome4、IE8引入。当然,道高一尺魔高一丈,XSS Auditor的更新不是闭门造车,而是在不断的攻防对抗中完善自己。全世界的黑客都在乐此不疲寻找XSS Auditor中的缺陷,以求绕过防护进行XSS攻击。而几乎Chrome的每次更新、IE的每个补丁,都会更新XSS Auditor,让这些绕过措施失效。然后黑客又找、官方又更新……由此往复循环,才有了今天较为完善的XSS Auditor防护体系。

我是不是扯远了。回到正题,红芯用了两年前的内核,那么意味着XSS Auditor已经两年没有更新,理论上这两年内的任何一个绕过XSS审计器的利用代码都是可以生效的。

我们先构造一个简单的反射形XSS漏洞:

我们检查红芯浏览器是否能抵御XSS攻击。地址栏输入:

输入的js并没有执行,可见红芯是开启了XSS Auditor的。

百度随手搜了一段绕过XSS Auditor代码,即在上面的js前面加一串%00。“%00”是16进制的0,在C语言中代表字符串的结束。不同的程序对0字符的理解不同,因此这个字符经常会引发一些安全问题。输入:

图4 绕过红芯的防护,执行了XSS

成功绕过XSS Auditor执行了js。

相同的代码在我的Chrome63(非最新)上却被成功拦截。

图5 该漏洞早已被谷歌官方修复

测试项目:UXSS

Same origin policy(同源策略,简称SOP)一直是web前端安全的基础。简单来说,SOP是指就是每个网站中的可执行脚本(包括html/js/flash等)只有读写自己网站内资源的权限,禁止跨域读写其它网站的内容。

举个例子,你同时打开了淘宝和京东的网站,淘宝和京东网站的js会同时在你的浏览器上运行。浏览器认为这两个网站是严格隔离的,淘宝的js不可能访问京东的收藏夹,同样,京东的js也不可能访问淘宝的购物车。这很好理解。

那么如果这种规则被破坏,后果则不堪设想。设想你访问某个网站,其中某个不知名的小广告商的js有权限访问你邮箱中的商业合同、你网盘中的私密照片,我就问你还敢不敢上网。

既然SOP这么重要,黑客又怎么可能放过呢。黑客们也在不断寻找绕过SOP的方法,这类绕过方法,或者说SOP的缺陷,被称为uxss漏洞。此类漏洞一旦被发现,基本上都被定性为高危漏洞。

图6和图7,谷歌高额悬赏uxss漏洞

与XSS Auditor一样,谷歌官方也不断修复着这些漏洞,而对于一个已经停止维护的内核,这类漏洞的PoC(即漏洞利用代码)在网上比比皆是。

在chromium项目的bug反馈页面,找到一个作用于chrome <52的UXSS。这个漏洞提交时间为2016年4月份。

https://bugs.chromium.org/p/chromium/issues/detail?id=604901

根据作者提供的Demo,把目标域名修改为baidu,把要执行的js修改为如下:

图8 修改跨域执行的js,效果为展示当前url并读取cookie

将Demo部署到本地http://127.0.0.1/中,用红芯访问。

图9 demo提供三种跨域方式分别为:跳转后执行、新标签页执行、iframe中执行uxss

点击第一个按钮,意为“跳转后执行uxss”,点击后调转至baidu,并以baidu域的权限执行了我们定义的js代码。

图10 以baidu的权限执行了js

上面的过程,演示了http://127.0.0.1/中的js读取了http://www.baidu.com/上的Cookie,Cookie意为着什么我就不多说了。换句话说,浏览器的SOP被破坏,http://127.0.0.1/将有权限读取 http://www.baidu.com/上的任何资源。如果进一步的利用,可以读取你百度搜索历史,百度网盘里的文件等等。

作为对比,我们换Chrome63试一下:

图11 漏洞已经修复

页面报错,代码没有执行。

解决方案

首先是对官方的建议,新内核不代表一定不会兼容XP。完全可以像360浏览器那样,把不兼容的函数一一手改成兼容的,当然这个工程量很大。

对于普通用户,尤其是政企类用户,在官方没有给出升级方案之前,暂时不建议使用。

后记

我从新审视了红芯官方对于安全功能的阐述,看上去很高大上。

图12 红芯主要对身份认证和通讯加密方面进行了介绍

红芯对于安全的宣传集中在身份认证和通讯加密,如果浏览器内核出了问题,导致浏览器被恶意代码接管,谈这些是没有意义的。

由于没有测试环境,对于这两点并没有测试,不过也没有必要了,毕竟决定你安全级别是木桶的短板。

安全不是销售的夸夸其谈,不是产品经理的纸上谈兵,不是投资人的患得患失,也不是程序员的“想当然”。安全是一件很专业的事情,应当交给专业的人去做。

*本文作者:山东星维九州安全技术有限公司,转载请注明来自FreeBuf.COM

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

原文发表时间:2018-08-24

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏菩提树下的杨过

silverlight 4 tools for vs2010无法在vs2010 SP1上安装的解决办法

环境:英文版vs2010 sp1 + vs2013 RC 90天体验版 原来可以正常做silverilght 4 项目开发,今天因为vs2013 RC过了90天...

2255
来自专栏喔家ArchiSelf

IoT固/软件更新及开源选项

物联网的迅速发展涌现了数十亿与互联网连接的无线嵌入式设备。 从医疗设备到坦克传感器, 智能恒温器, 智能路灯, 水监视器等等, 物联网比以往任何时候都应用广泛。

1762
来自专栏FreeBuf

APT攻击演练之捕鱼人的构想

两个环节:beef-xss钓鱼环节(建议使用服务器)、Nday钓鱼环节(很好用)、钓鱼框架环节(便携好用)

1404
来自专栏阮一峰的网络日志

DDOS 攻击的防范教程

7823
来自专栏FreeBuf

一大波iCloud钓鱼网站来袭 果粉们会分辨吗?

国外的FireEye实验室有一套自动化系统,这套系统能够主动侦测最新注册的恶意域名。所谓的恶意域名,绝大部分都是伪装成很多人知道的常用域名,以此来达到“恶意”的...

3655
来自专栏网站漏洞修补

如何解决网站title被恶意反复篡改

国庆假日期间我们Sine安全接到众多网站站长求助网站标题被改导致在百度搜索中百度安全中心提醒被拦截,导致网站正常用户无法浏览网站被跳转到一些菠菜du博网站,而且...

8845
来自专栏企鹅号快讯

无线局域网负载均衡有哪些分类和形式?

介绍无线局域网负载均衡分类以及形式,无线局域网负载均衡设置主要从无线局域网负载均衡分类和负载不均衡形式两点介绍路由器的异同,轻轻松松就能完成设置,没什么难的。赶...

2306
来自专栏云计算D1net

从各“瘫痪”事件看如何安全备份数据库到云存储

近几周互联网企业频繁暴出各类“瘫痪”事件,网易、支付宝也身负重伤,而5月28日携程网站服务及App全站瘫痪,从事故发生至恢复长达近12小时,造成的损失不言而喻。...

3949
来自专栏美团技术团队

【沙龙干货】美团点评的Atlas实践

美团点评技术沙龙由美团点评技术团队主办,每月一期,每期沙龙邀请美团点评及其它互联网公司的技术专家分享来自一线的实践经验,覆盖各主要技术领域。 本次沙龙主要围绕数...

3525
来自专栏BeJavaGod

分布式系统的那些事儿(四) - MQ时代的通信

之前在讲RPC通信的各种好处,特别好用,但是RPC并不是万能的,也并不是适用于各种场景的,因为他是同步的;现如今很多场景下的调用都是异步的,系统A调用B后,并不...

3664

扫码关注云+社区

领取腾讯云代金券