Cloudflare今天宣布,它已经收购了S2系统公司,这是一家位于西雅图地区的初创公司,它建立了一种创新的远程浏览器隔离解决方案,与目前市场上的任何其他解决方案都不同。大多数终端危害都涉及Web浏览器——通过在用户设备和Web代码执行位置之间留出空间,浏览器隔离可以使终端安全得多。在这篇博客文章中,我将讨论什么是浏览器隔离,为什么它如此重要,S2 Systems云浏览器如何工作,以及它如何与Cloudflare帮助构建更好的互联网的使命相契合。

网络浏览有什么问题?

距离蒂姆•伯纳斯-李(Tim Berners-Lee)撰写项目提案已经过去30多年了,该提案定义了我们现在所称的万维网的基础技术。伯纳斯-李设想的对“数千人有用,其中许多人非常有创造力,他们都在朝着共同的目标努力”[1] ,已经发展成为商业、商务、全球经济的基本组成部分,也是世界上超过58%的人口使用的社会的组成部分[2]

毫无疑问,万维网和web浏览器已经成为人们日常工作(和娱乐)的平台。然而,随着网络的普及,坏人的机会也越来越多。几乎每天都有新的重大网络安全漏洞的新闻。几个促成因素将网络犯罪推到了前所未有的水平:黑客工具的商业化,恶意软件即服务(malware-as-a-service)的出现,资金雄厚的国家和有组织犯罪的出现以及加密货币的发展(使各种恶意行动者能够匿名地从活动中获利)。

绝大多数安全漏洞源自网络。Gartner称公共互联网为“ 攻击的污水池 ”,并将网络浏览器确定为造成70%的终端漏洞的主要元凶[3]。这应该不足为奇。尽管现代web浏览器非常出色,但许多基本的体系结构决策是在20世纪90年代做出的,这是在安全、隐私、企业监督和遵从性等概念成为问题之前,甚至是在人们需要考虑这些问题之前。

在当今世界,一些Web浏览器的设想已经过时,甚至是危险的。Web浏览器和底层服务器技术包含了大量复杂的相关技术。这些技术在不断变化,由活跃的开源社区、内容发布者、搜索引擎、广告商和浏览器公司之间的竞争所驱动。由于这种潜在的复杂性,web浏览器已经成为主要的攻击载体。根据Gartner的说法,“ 用户浏览互联网并单击URL链接的行为 使企业面临巨大风险。[…] 通过浏览器进行攻击太容易了,目标也太丰富了。[4]甚至“表面上“好”的网站也很容易被攻破,可以被用来攻击访问者”(Gartner[5]),通过在好域名(Webroot [6])上发现的40%以上的恶意URL。(漏洞的完整列表超出了本文的范围。)

为网络提供动力的结构和底层技术本质上很难得到保护。一些浏览器漏洞是由于非法使用合法功能导致的:允许浏览器下载文件和文档是好的,但允许下载受恶意软件感染的文件是不好的;在一个页面中跨多个站点动态加载内容是好的,但是跨站点脚本编写是不好的;建立一个广泛的广告生态系统是好事,但无法检测被劫持链接或恶意重定向到恶意软件或钓鱼网站则是坏事:诸如此类。

企业浏览器问题

企业在使用传统浏览器时还面临着其他挑战。

矛盾的是,IT部门对企业中最常见的应用程序——web浏览器的控制最少。企业安全和IT专业人员对web浏览器最常见的抱怨是:

  1. 安全性(显然)。 公共互联网是安全漏洞不断产生的根源,并且自2016年以来攻击次数现已增长了11倍,这个问题正变得日益严重(Meeker [7])。检测和补救的成本在不断增加,违规造成的声誉损失和经济损失可能很大。
  2. 控制。IT部门几乎不了解用户活动,利用内容解除和重构(CDR)和数据丢失预防(DLP)机制的能力有限,包括何时、何地由谁下载/上传文件。
  3. 遵从性。由于无法跨地理区域控制数据和活动,或无法捕获数据,审计遥测技术必须满足日益严格的法规要求。这将招致大量罚款。

鉴于电子邮件和web浏览等日常用户活动暴露的漏洞,一些组织试图限制这些活动。由于两者都是合法的关键业务功能,限制或减少web浏览器使用的努力不可避免地会失败,或对业务生产力和员工士气产生实质性的负面影响。

当前缓解浏览网页固有的安全性问题的方法,主要基于数据文件和可执行文件的签名技术,以及已知的好/坏URL和DNS地址的列表。这些方法面临的挑战是,很难与已知攻击(文件签名、url和DNS地址)保持同步,以及它们在零日攻击面前固有的脆弱性。黑客们设计了自动化的工具来破解基于签名的方法(例如,生成大量带有未知签名的文件),并创建数百万个临时网站来破解URL/DNS黑名单。

尽管这些方法肯定可以防止某些攻击,但是事件的数量和安全漏洞的严重性显然表明需要更有效的替代方法。

什么是浏览器隔离?

浏览器隔离背后的核心概念是通过物理隔离在用户的web浏览器和终端设备之间创造“间隙”,从而保护设备(和企业网络)免受攻击。与依靠已知威胁模式或特征的安全Web网关,防病毒软件或防火墙不同,这是一种零信任方法。

有两种主要的浏览器隔离架构:(1)基于客户端的本地隔离和(2)远程隔离。

本地浏览器隔离尝试使用应用程序级或操作系统级沙盒隔离运行在本地终端上的浏览器。不仅在隔离失败时终端将处于风险中,这些系统还需要大量的终端资源(内存+计算性能),这些资源往往很脆弱,而且很难管理,因为它们依赖于特定硬件和软件组件的支持。

此外,本地浏览器隔离并不能解决上述控制和合规性问题。

远程浏览器隔离(RBI)通过将浏览器移至云中的远程服务或企业网络内的单独的本地服务器来保护终端:

  • 内部隔离只是将风险从终端重新定位到企业内的另一个位置,而没有实际消除风险。
  • 基于云的远程浏览将最终用户设备与企业网络隔离开,同时完全启用了IT控制和合规性解决方案。

鉴于其固有的优势,大多数浏览器隔离解决方案(包括S2 Systems)都利用了基于云的远程隔离。正确实施的远程浏览器隔离可以保护组织免受浏览器利用,插件,零日漏洞,恶意软件和嵌入在web内容中的其他攻击。

远程浏览器隔离(RBI)如何运作?

在典型的基于云的RBI系统(下面的蓝色虚线框❶)中,单个远程浏览器❷作为一次性容器化实例在云中运行——通常,每个用户一个实例。远程浏览器使用特定协议和数据格式❸将网页呈现的内容发送到用户端点设备❹。用户的操作(如按键、鼠标和滚动命令)通过安全加密的通道发送回隔离服务,远程浏览器在通道中处理这些操作,对远程浏览器页面的任何更改都将发送回终端设备。

实际上,终端设备是在“远程控制”云浏览器。一些RBI系统使用安装在本地终端上的私有客户端,而另一些则利用终端上现有的html5兼容浏览器,被认为是“无客户端”的。

远程浏览器中发生的数据泄露与本地终端和企业网络隔离。在每个会话之后,每个远程浏览器实例都被视为受到感染并终止。新的浏览器会话从一个新的实例开始。显然,RBI服务必须防止浏览器漏洞从浏览器容器外泄漏到服务本身。大多数RBI系统提供远程文件查看器,从而消除了下载文件的需要,但是也能够在允许下载之前检查文件中的恶意软件。

上述架构中的关键组件是云RBI服务采用的特定远程处理技术。远程处理技术对RBI服务的运营成本和可扩展性,网站保真度和兼容性,带宽要求,终端硬件/软件要求甚至用户体验都具有重大影响。远程技术还决定了RBI系统提供的有效安全级别。

当前所有的云RBI系统都采用以下两种远程技术之一:

(1)像素推送是一种基于视频的方法,可捕获远程浏览器“窗口”的像素图像,并将图像序列传输到客户端终端浏览器或专有客户端。这类似于远程桌面和VNC系统的工作方式。尽管被认为是相对安全的,但是这种方法存在一些固有的挑战:

  • 持续编码和向用户终端设备传输远程网页视频流的成本非常高。将这种方法扩展到数百万用户在财力上是非常困难的,在逻辑上也很复杂。
  • 需要大量带宽。即使在高度优化的情况下,推动像素也是带宽密集型的。
  • 不可避免的延迟会导致不满意的用户体验。这些系统往往运行缓慢,并会产生大量用户投诉。
  • 高带宽要求加上连接不一致会降低移动支持性。
  • HiDPI显示可能以较低的分辨率渲染。像素密度随分辨率呈指数增长,这意味着HiDPI设备上的远程浏览器会话(尤其是字体)可能显得模糊或失焦。

(2)DOM重构应运而生,以应对像素推送的缺点。DOM重构尝试在将内容转发到本地终端浏览器之前清除网页HTML、CSS等。对底层HTML、CSS等进行重构,以消除活动代码、已知的攻击和其他潜在的恶意内容。在解决像素推送的延迟、运营成本和用户体验问题的同时,也引入了两个重要的新问题:

  • 安全性。底层技术——HTML、CSS、web字体等——是黑客用来攻破端点的攻击载体。试图删除恶意内容或代码就像清除蚊子:您可以尝试清除它们,但它们仍然是危险和恶意内容的固有载体。即使通过RBI系统,也不可能预先确定利用这些技术的所有手段。
  • 网站保真度。不可避免地,尝试删除恶意活动代码,重建HTML,CSS和现代网站的其他方面会导致页面无法正常渲染或根本无法渲染。今天能运作的网站明天可能无法运作,因为网站发布者进行的每日更改可能会破坏DOM重建功能。其结果是,在一场无休无止的打地鼠游戏中,需要大量资源的问题层出不穷。尽管带有恶意软件的网络电子邮件仍然是漏洞的重要来源,但某些RBI解决方案仍在努力支持通用的企业范围服务,例如Google G Suite或Microsoft Office 365。

客户只能在一个安全的解决方案和一个更快、更不安全的解决方案之间做出选择。这些折衷条件促使一些RBI供应商在其产品中均包含有这两种远程技术。但是,这无异于让客户在没有解决基本问题的情况下自行挑选毒药。

考虑到目前RBI系统中存在的重大权衡,对当前客户进行的一个常见优化是,仅将远程浏览功能部署到组织中最脆弱的用户,如高风险高管、财务人员、业务开发人员或HR员工。就像在教室里为一半的学生接种疫苗一样,这导致了一种错误的安全感,而这种安全感对保护更大的组织作用甚微。

不幸的是,当前远程浏览器隔离系统造成的最大“缺口”是底层隔离概念的潜力与当前可用RBI系统的实现现实之间的空白。

S2系统远程浏览器隔离

S2系统远程浏览器隔离是一种基于S2专利技术的完全不同的方法,这种技术称为网络矢量渲染(NVR)。

S2远程浏览器基于构建Google Chrome的开源Chromium引擎。除了为拥有约70%市场份额[8]的Google Chrome提供支持之外,Chromium还为其他21种网络浏览器(包括新的Microsoft Edge浏览器[9])提供支持。[9]结果,对Chromium引擎的大量持续投资确保了最高水平的网站支持,兼容性和持续不断的改进。

Chromium浏览器的一个关键架构特性是它对Skia图形库的使用。Skia是一个广泛使用的跨平台图形引擎,适用于Android、谷歌Chrome、Chrome OS、Mozilla Firefox、Firefox OS、FitbitOS、Flutter、Electron应用框架等产品。与Chromium一样,Skia的广泛性确保了广泛的硬件和平台支持。

Skia代码片段

在Chromium浏览器窗口中可见的所有内容均通过Skia渲染层进行渲染。这包括应用程序窗口UI(例如菜单),但更重要的是,网页窗口的整个内容都是通过Skia呈现的。Chromium的合成、布局和渲染非常复杂,有多个并行路径,针对不同的内容类型、设备上下文等进行了优化。下图为说明S2的工作方式提供了极大简化(对Chromium专家表示歉意):

S2 Systems NVR技术截获远程Chromium浏览器的Skia绘制命令❶,对其进行令牌化和压缩,然后将其加密并有线传输❷到任何在用户本地运行的HTML5兼容Web浏览器❸(Chrome,Firefox,Safari等)——于本地运行在用户终端电脑或移动设备。NVR捕获的Skia API命令是预栅格化的,这意味着它们非常紧凑。

首次使用时,S2 RBI服务将NVR WebAssembly(Wasm)库透明地推送到终端设备上的本地HTML5 Web浏览器,并在该Web浏览器中对其进行缓存以备后用。NVR Wasm代码包含一个嵌入式Skia库和必要的代码——用于解压缩,解密和“重放”从远程RBI服务器到本地浏览器窗口的Skia绘制命令。WebAssembly能够“通过利用各种平台上可用的通用硬件功能” [10],以接近本机绘图性能运行。

S2远程浏览器隔离服务在云中使用无请求头Chromium基础的浏览器,透明地截取绘制层输出,在web上高效安全地传输绘制命令,并在本地HTML5浏览器的窗口中重新绘制。这种架构具有许多技术优势:

(1)安全性:底层数据传输不再使用现有的攻击媒介,并且不会迫使客户在安全性和性能之间进行权衡。

(2)网站兼容性:没有网站兼容性问题,也没有追逐不断发展的Web技术或新出现的漏洞的麻烦。

(3)性能:该系统非常快,通常比本地浏览器要快(这是以后要发布的博客中的项目)。

(4)透明的用户体验:S2远程浏览感觉像在本机浏览;用户通常不知道他们在远程浏览。

(5)与大多数网站的本地浏览相比,所需带宽更少。支持高级缓存和web浏览器以及Web内容和技术的性质所独有的其他专有优化。

(6)无客户端:利用已经安装在用户终端桌面和移动设备上的现有HTML5兼容浏览器。

(7)具有成本效益的可扩展性:尽管这一细节不在本文讨论范围之内,但S2后端和NVR技术的运营成本大大低于现有的RBI技术。运营成本会直接转化为客户成本。S2系统的设计目的是让整个企业都可以部署,而不仅仅是针对用户(也即为半个班级接种疫苗),这对客户来说既可行又有吸引力。

(8)RBI-as-a-platform:可实现相关/相邻服务,例如DLP,内容撤除和重建(CDR),网络钓鱼检测和预防等。

S2系统远程浏览器隔离服务和底层NVR技术消除了浏览器隔离的概念潜力和前景与当前RBI技术不令人满意的现实之间的矛盾。

Cloudflare + S2 Systems远程浏览器隔离

Cloudflare的全球云平台非常适合远程浏览隔离。与我们的云原生性能、可靠性和先进的安全产品和服务的无缝集成为我们的客户提供了强大的功能。

我们的Cloudflare Workers架构能够在90多个国家的200个城市实现边缘计算,并将浏览器部署在发达国家99%的互联网连接人口可在百毫秒内连接到的地方。Cloudflare有超过2000万个互联网属性直接连接到我们的网络,Cloudflare远程浏览器隔离将受益于本地缓存的数据,并建立在我们网络令人印象深刻的连通性和性能之上。我们的Argo智能路由充分利用了我们的通信骨干网,在更快速、更可靠的网络路径上路由流量,从而使访问web资产的速度平均提高了30%。

一旦它集成到我们的Cloudflare团队高级安全产品套件中,远程浏览器隔离将提供保护,防止浏览器漏洞、零日漏洞、恶意软件和嵌入在web内容中的其他攻击。企业将能够保护所有员工的浏览器,而不必在安全性和用户体验之间进行权衡。该服务将使IT能够控制浏览器传输的企业数据和遵从性监督。我们的产品和服务之间的无缝集成将使用户和企业能够毫无顾虑地浏览网页。

Cloudflare的使命是帮助建立一个更好的互联网。这意味着在用户和企业在互联网上工作和娱乐时对其进行保护;这意味着使互联网访问快速,可靠和透明。对web浏览器的工作方式进行重新设计和使其变得现代化是帮助构建更好的互联网的重要组成部分。


[1] https://www.w3.org/History/1989/proposal.html

[2] “Internet World Stats,”https://www.internetworldstats.com/, retrieved 12/21/2019.

[3] “Innovation Insight for Remote Browser Isolation,” (report ID: G00350577) Neil MacDonald, Gartner Inc, March 8, 2018”

[4] Gartner, Inc., Neil MacDonald, “Innovation Insight for Remote Browser Isolation”, 8 March 2018

[5] Gartner, Inc., Neil MacDonald, “Innovation Insight for Remote Browser Isolation”, 8 March 2018

[6] “2019 Webroot Threat Report: Forty Percent of Malicious URLs Found on Good Domains”, February 28, 2019

[7] “Kleiner Perkins 2018 Internet Trends”, Mary Meeker.

[8] https://www.statista.com/statistics/544400/market-share-of-internet-browsers-desktop/, retrieved December 21, 2019

[9] https://en.wikipedia.org/wiki/Chromium_(web_browser), retrieved December 29, 2019

[10] https://webassembly.org/, retrieved December 30, 2019