本文不是一篇“洗地文”,标题也不是反话,单纯从技术出发的思考,观点不代表本人所在公司。
如果不知道红芯事件的话,可以看下微博,这里就不再说一遍了。我们主要看从官方的白皮书猜想官方的实现方式,技术上整个产品有什么可以借鉴的地方。
首先大家主要喷的是红芯浏览器,但是实际上浏览器只是整个产品中的一个一环,我们对照白皮书来捋一下。
以下截图摘自官方白皮书
从截图可以猜想,红芯官方对浏览器做了一些改造,解决了兼容性问题。大型政企单位,系统大多是外采,相关系统研发和投入使用的时间不一样,对应可能只兼容当时的浏览器,可以看成是360浏览器的兼容模式。
身份认证下沉到浏览器端,对浏览器的功能做了一定改造以实现一些管控功能。
截图可以看出来,SWA认证背后可能用了selenium之类做模拟登陆,拿到对应cookie认证凭据之后大概做了个反向代理,这个思路倒是不错的。对终端用户来说,做到了透明的单点登陆,后端应用也无需做更改、二次开发来接入单点登陆系统。
域名不在公网解析,这样减少了攻击面。事实上,如果你了解渗透测试的话,第一步其实就是搜集资产范围,尽量收集域名和ip信息。
动态防火墙这个其实是类似"port knocking"的技术,默认端口是不通的,只有接收到特殊构造的通讯包之后端口才会连通。这样避免了办公系统直接对公网开放。
其实整套方案对应有个专有名词 SDP-Software-Defined Perimeter,软件定义边界,传统的VPN方案做不了那么细粒度的接入管控。而白皮书中强调的支持国密标准,大致是代理层面的加密是走了国密算法,这块算是面向政府的合规。
管理后台主要是用户、设备、策略等配置。
我们来总结一下整个产品:依托于定制化的浏览器,代替了传统的VPN以及单点登陆系统,身份认证前置于端口联通,做到了更细粒度的用户/设备/应用访问管控。
那么作为一个信息安全从业人员,红芯的这套方案存在哪些问题呢:
为了兼容xp,chromium内核停留在了49版本,chrome官方从50版本不再兼容xp了。但是chrome目前最新的稳定版已经到了68了,这中间有大量的安全性修复,chrome官方团队花了大量的精力和金钱来做安全这块,有心人可以看下chrome的cve漏洞列表。
我们拿个实际的例子看更直观。下图截自国外的漏洞买卖网站 https://0day.today,我们可以看到有一个chrome浏览器的远程命令执行加沙箱逃逸漏洞,当然因为版本比较老,所以并不是特别贵,5200美金。
说的直白一点,就是我用浏览器访问一个恶意构造的页面,啪,我的电脑被恶意控制了。
特别是红芯的客户里面有一些大型政企,如果红芯官方不去backport上游的安全更新的话,可能会有别有用意的组织针对性的挖掘红芯浏览器的漏洞做一些不可描述的事情。
再一个就是,单点登陆网关层面其实相当于托管了密码,加密方式当然是可逆的,毕竟要明文向实际后台传输。但是这样对于该子系统的安全性要求就比较高了,一旦被攻破,所有账号就都沦陷了。
跳出技术讨论,对于红芯公司来说,最大的问题恐怕倒不是这次的pr危机。
只要保持沉默不出来公关,过几天自然会有新的热点事件出来,毕竟网民都是善忘的。而在于这么一个有市场需求且已经被验证可行的技术方案,对于技术实力更雄厚的厂商来说,技术壁垒并不那么深。说不定过一段时间,就可以看到360企业安全推出一个面向政企市场的SDP方案了。“你想要的样子我都有”,而且更便宜,更安全。反过来说也不一定要依托于浏览器来做,有一定自研能力的甲方团队,也可以“山寨”一个类似的方案出来自用。