订阅以接收新文章的通知:

Cloudflare + 远程浏览器隔离

2020-01-07

10 分钟阅读时间
这篇博文也有 EnglishDeutsch日本語EspañolFrançais版本。

Cloudflare 今天宣布收购了 S2 Systems Corporation,这家位于西雅图地区的初创公司研发了一种在市面上独一无二的创新远程浏览器隔离解决方案。大多数端点受损都涉及 Web 浏览器 — 在用户设备和 Web 代码执行位置之间留出空隙,而浏览器隔离能大幅提升端点的安全性。在这篇博文中,我将讨论浏览器隔离的定义、它的重要性、S2 Systems 云浏览器的工作方式,以及它如何与 Cloudflare 帮助构建更美好的互联网的使命相契合。

网络浏览出了什么问题?

30 多年前,Tim Berners-Lee 写了份项目建议书,定义了现在称为万维网的基础技术。Berners-Lee 设想中“造福数千极有创造力并朝着共同目标奋斗的人”[1] 的事物,现已发展为商业、商务、全球经济和社会不可分割的一个部分,用户已覆盖全球 58% 以上的人口[2]。

毫无疑问,万维网和 Web 浏览器已成为人们每天开展诸多生产工作(和娱乐活动)的平台。然而,随着网络的普及,不良行为者的机会也在增多。几乎没有哪一天新闻中不播报新的重大网络安全漏洞。有几个因素促使网络犯罪推向前所未有的水平:黑客工具的商业化、恶意软件即服务的浮现,以及由国家资助的有组织犯罪的发生,另外加密货币的发展也使形形色色的恶意行为者能以匿名方式从其活动中牟利。

在当今世界,一些 Web 浏览设想已经过时,甚至是危险的。Web 浏览器和底层服务器技术涵盖了广泛、复杂并且相互关联的技术,其名单也在不断变长。在蓬勃发展的开源社区、内容发布者、搜索引擎、广告商以及浏览器公司间竞争的推动下,这些技术处于不断变化之中。由于这种潜在的复杂性,

支撑网络的结构和底层技术本质上很难做到安全。一些浏览器漏洞源自于_非法使用合法功能_:使浏览器能够下载文件和文档是正当的,但允许下载感染了恶意软件的文件则是不当的;在单个网页中跨站点动态加载内容是正当的,但使用跨站点脚本是不当的;实现广泛的广告生态系统是正当的,但无法检测被劫持的链接或对恶意软件或网络钓鱼站点的恶意重定向则是不当的;诸如此类。

企业浏览问题

企业使用传统浏览器还面临着其他难题。

矛盾的是,Web 浏览器是企业里使用最普遍的应用程序,但 IT 部门对它的控制却最少。企业安全部门和 IT 专业人员对 Web 浏览器抱怨最多的方面:

  1. 安全性(显而易见)。公共互联网是安全漏洞不断产生的根源,问题也正日益严重,攻击数量相比 2016 年已增长了 11 倍(Meeker [7])。检测和补救成本不断增加,数据泄露导致的声誉损害和经济损失可能会非常严重。

  2. 控制性。IT 部门几乎看不到用户活动,运用内容撤防与重建(CDR)和数据丢失防护(DLP)机制(包括何人何时在何处下载/上传了文件)的能力也有限。

  3. 合规性。无法跨地区控制数据和活动或采集必要的审计遥测数据,以满足日益严格的法规要求。这会导致遭受处罚和罚款的严重风险。

鉴于日常用户活动(例如电子邮件和 Web 浏览)会暴露漏洞,一些组织试图限制这些活动。由于两者都是合法且重要的业务功能,限制或减少 Web 浏览器使用量的举措不可避免地失败,或给企业生产力和员工士气造成实质性的负面影响。

当前缓解网页浏览中固有安全问题的方法主要基于_签名_技术,其作用目标是数据文件和可执行文件,以及已知的善意/恶意 URL 和 DNS 地址列表。这些方法面临着难题,无法及时掌握已知的攻击(文件签名、URL 和 DNS 地址),本身也无力抵御零日攻击。黑客想出了自动工具来攻破基于签名的方法(例如,生成大量具有未知签名的文件),还创建了数百万个临时网站来抗击 URL/DNS 阻止列表。

尽管这些方法肯定能阻挡某些攻击,但不断增多的事件数和安全漏洞的严重性显然表明需要更加有效的替代方法。

什么是浏览器隔离?

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

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

本地浏览器隔离试图使用应用程序级或操作系统级沙箱技术来隔离在本地端点上运行的浏览器。除了隔离失败时让端点留在风险之中外,这些系统还需要大量端点资源(内存 + 计算),而且比较脆弱,也难以由 IT 进行管理,因为它们依赖于特定硬件和软件组件的支持。

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

远程浏览器隔离(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。即使被认为是恶意软件的载体,Web 电子邮件仍然是数据泄露的一大来源。

客户仍然要做出权衡,要么选择用户体验差、运营成本高的安全解决方案,要么选择速度快、安全性低很多、还破坏网站的解决方案。这样的权衡促使一些 RBI 提供商在其产品中同时实施两种远程处理技术。然而,这是让客户饮鸩止渴,不去解决基本的问题。

考虑到当今 RBI 系统的重要权衡,当前客户的一项常见优化是仅向组织里最易受攻击的用户(例如风险较高的高管、财务、业务开发或 HR 员工)部署远程浏览功能。如同给教室里的一半学生接种疫苗,这会导致一种错误的安全感,对保护大型组织来说无济于事。

遗憾的是,当前远程浏览器隔离系统创造的最大“间隙”是底层隔离概念的潜力与当前可用 RBI 系统的实施现实之间的空白。

S2 Systems 远程浏览器隔离

S2 Systems 远程浏览器隔离采用一种截然不同的方法,它基于称为网络矢量渲染(NVR)的 S2 专利技术。

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

Chromium 浏览器的一个关键架构特征是使用 Skia图形库。Skia 是使用广泛的跨平台图形引擎,用于 Android、Google 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 浏览器,并在那里缓存以备日后使用。NVR Wasm 代码包含一个嵌入式 Skia 库和必要的代码,用于解压缩、解密和“重演”从远程 RBI 服务器到本地浏览器窗口的 Skia绘制命令。WebAssembly 可以“通过利用广泛平台上可用的通用硬件功能来以本机速度执行”[10],从而达到接近于本机的绘图性能。

S2 远程浏览器隔离服务使用云端基于 Chromium 的无头浏览器,透明地截获绘图层输出,通过网络安全、高效地传输绘图命令,然后在本地 HTML5 浏览器的窗口中重新绘制它们。这种架构具有诸多技术优势:

(1) 安全性:底层数据传输不是现有的攻击媒介,客户也不会被迫在安全性和性能之间进行取舍。

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

(3) 性能:系统速度非常快,通常要胜于本地浏览(日后某篇博文的主题)。

(4) 透明用户体验:S2 远程浏览的感受如同本机浏览;用户通常不会意识到他们正在远程浏览。

(5) 对于大多数网站来说,所需的带宽比本地浏览少。实现高级缓存,以及 Web 浏览器以及 Web 内容和技术性质所特有的其他专有优化。

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

(7) 具有成本效益的可扩展性:尽管细节不在本文讨论范畴,但S2 后端和 NVR 技术的运营成本大大低于现有的 RBI 技术。运营成本直接转化为客户成本。S2 系统旨在促进部署到整个企业而非仅针对目标用户(即,为一半学生接种疫苗),使它不仅可行又对客户有吸引力。

(8) RBI 即平台:实现相关/相邻服务的实施,例如DLP、内容撤防与重建(CDR)、网络钓鱼检测和预防,等等。

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

Cloudflare + S2 Systems 远程浏览器隔离

Cloudflare 的全球云平台特别适合远程浏览隔离。无缝集成我们的云原生性能、可靠性和高级安全产品和服务,为客户提供强大的功能。

Cloudflare Workers 架构实现在90 多个国家/地区的 200 个城市进行边缘计算,并将远程浏览器置于发达国家/地区 99% 互联网人口可在 100 毫秒内访问的范围内。在直连我们网络的 2000 多万个互联网资产的支持下,Cloudflare 远程浏览器隔离可以从本地缓存数据获益,并依托我们网络骄人的连通性和性能取得发展。Argo Smart Routing 功能利用我们的通信主干网,通过更快速、更可靠的网络路径路由流量,使访问 Web 资产的速度平均提高 30%。

与 Cloudflare for Teams 套件集成后,远程浏览器隔离可以保护组织免受浏览器利用、零日漏洞、恶意软件和嵌入在 Web 内容中的其他攻击。企业将能够保护所有员工的浏览器,而不必在安全性和用户体验之间权衡取舍。此服务可以让 IT 控制由浏览器传送的企业数据并实现合规性监督。我们产品和服务之间的无缝集成将使用户和企业无忧畅游 Web 世界。

Cloudflare 的使命是帮助构建更美好的互联网。这意味着在用户和企业在互联网上工作和娱乐时为其保驾护航;也就是说,让互联网访问变得快速、可靠和透明。重新构想和现代化 Web 浏览的工作方式是帮助构建更美好互联网的重要组成部分。


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

[2]“互联网世界统计数据”,https://www.internetworldstats.com/,2019 年 12 月 21 日检索。

[6] “2019 Webroot 威胁报告:四成恶意 URL 见于善意网域”,2019 年 2 月 28 日

[7] “Kleiner Perkins 2018 年互联网趋势”,Mary Meeker。

[8]https://www.statista.com/statistics/544400/market-share-of-internet-browsers-desktop/,2019 年 12 月 21 日检索

[9]https://en.wikipedia.org/wiki/Chromium_(web_browser),2019 年 12 月 29 日检索

[10] https://webassembly.org/,2019 年 12 月 30 日检索

我们保护整个企业网络,帮助客户高效构建互联网规模的应用程序,加速任何网站或互联网应用程序抵御 DDoS 攻击,防止黑客入侵,并能协助您实现 Zero Trust 的过程

从任何设备访问 1.1.1.1,以开始使用我们的免费应用程序,帮助您更快、更安全地访问互联网。要进一步了解我们帮助构建更美好互联网的使命,请从这里开始。如果您正在寻找新的职业方向,请查看我们的空缺职位
产品新闻Cloudflare AccessCloudflare Zero Trust安全性VPNAcquisitions

在 X 上关注

Cloudflare|@cloudflare

相关帖子

2024年10月24日 13:00

Durable Objects aren't just durable, they're fast: a 10x speedup for Cloudflare Queues

Learn how we built Cloudflare Queues using our own Developer Platform and how it evolved to a geographically-distributed, horizontally-scalable architecture built on Durable Objects. Our new architecture supports over 10x more throughput and over 3x lower latency compared to the previous version....

2024年10月23日 13:00

Fearless SSH: short-lived certificates bring Zero Trust to infrastructure

Access for Infrastructure, BastionZero’s integration into Cloudflare One, will enable organizations to apply Zero Trust controls to their servers, databases, Kubernetes clusters, and more. Today we’re announcing short-lived SSH access as the first available feature of this integration. ...