什么是浏览器隔离?

浏览器隔离通过将浏览活动限制在与用户设备和组织网络分离的安全环境中,保护用户免受不受信任的潜在恶意网站和应用程序的影响。

学习目标

阅读本文后,您将能够:

  • 定义浏览器隔离
  • 说明使用 Web 浏览器的风险
  • 描述不同类型的浏览器隔离,包括远程浏览器隔离

复制文章链接

什么是浏览器隔离?

浏览器隔离是一项技术,它通过将加载网页的过程与显示网页的用户设备分开来保持浏览活动的安全。这样,潜在的恶意网页代码就不会在用户的设备上运行,防止恶意软件感染和其他网络攻击对用户设备和内部网络的影响。

访问网站和使用 Web 应用程序涉及到 Web 浏览器从不受信任的远程来源(如遥远的 Web 服务器)加载内容和代码,然后在用户的设备上执行这些代码。从安全角度来看,这使得浏览 Web 成为一种相当危险的活动。与之相反,浏览器隔离在远离用户的地方加载和执行代码,使他们和所连接的网络免受风险的影响——这类似于在工厂内使用机器人来执行某些危险任务可以使工厂工人更安全。

浏览器隔离是零信任安全模型的重要组成部分,在该模型中,默认不信任任何用户、应用程序或网站。

为什么组织要使用浏览器隔离?

互联网对现代商业运作已经变得异常重要。过去,业务流程主要发生在内部企业网络中,但现在早已不是这样了。相反,员工经常访问网站和 Web 应用程序来完成他们的工作(和执行个人任务),他们通过浏览器来完成此过程。

正如防火墙和网络访问控制有助于阻止针对内部网络的攻击一样,浏览器隔离有助于阻止针对浏览器的攻击。

浏览器隔离的好处

  • 删除危险的下载内容
  • 恶意脚本不会在设备上或私人网络内执行
  • 阻止通过浏览器进行的零日漏洞*
  • 可以在不阻止整个网站的情况下阻止恶意 Web 内容

*零日漏洞是指利用以前未被发现或未打补丁的漏洞进行的攻击。虽然很少,但零日漏洞几乎不可能被阻止。

有哪些不同类型的浏览器隔离?

浏览器隔离主要有三种:远程(或云托管)、内部以及客户端

  • 远程浏览器隔离技术在远离用户设备和组织内部网络的服务器上加载网页并执行任何相关的 JavaScript 代码。
  • 内部浏览器隔离所做的工作与此相同,但是在组织内部管理的服务器进行。
  • 客户端浏览器隔离仍然在用户设备上加载网页,但它使用虚拟化或沙盒来将网站代码和内容与设备的其他部分进行隔离。

在所有三种浏览器隔离方法中,用户的浏览会话在结束时都会被删除,因此与该会话相关的任何恶意 cookie 或下载内容都会被删除。

远程浏览器隔离如何工作?

远程浏览器隔离:在远程服务器上执行的网站代码会从客户端笔记本电脑上删除

远程或云托管的浏览器隔离使不受信任的浏览器活动尽可能地远离用户设备和企业网络。它通过在云供应商控制的云服务器上进行用户的 Web 浏览活动来实现。然后,它将产生的网页传输到用户的设备上,这样用户就可以像平常一样与互联网互动,但不会在他们的设备上实际加载完整的网页。鼠标点击或表格提交之类的任何用户行为都会被传输到云服务器并在那里执行。

远程浏览器隔离服务器有几种方式可以将 Web 内容发送到用户的设备上:

  • 将浏览器流式传输到用户:用户查看其浏览活动的视频或映像;这种技术也被称为“像素推送”。这种方法为用户浏览活动带来了延迟,有时会导致用户体验不佳。
  • 打开、检查和重写每个网页,删除恶意内容,然后发送到本地用户浏览器:这种方法称为 DOM 重写,使用这种方法,将在一个隔离的环境中加载并重写网页以删除潜在的攻击。在内容安全后,它将被发送到用户的设备上,在那里网页代码会被第二次加载和执行。这种方法可能无法与所有网站兼容。
  • 向用户发送网页的最终输出:在网页完全加载且浏览器执行所有代码后,会向用户发送网页最终版本的矢量图形表示。

内部浏览器隔离如何工作?

本地浏览器隔离:网站代码在本地服务器上执行,而不是在客户端笔记本电脑上

内部浏览器隔离的工作原理与远程浏览器隔离类似。但浏览不是发生在远程云服务器上,而是发生在组织的私有网络内的服务器上。与某些类型的远程浏览器隔离相比,这可以减少延时。

内部隔离的缺点是,组织必须为浏览器隔离配置自己的专用服务器,这可能很昂贵。隔离通常还必须发生在组织的防火墙内,而不是在它之外(就像在远程浏览器隔离过程中那样)。即使用户设备保持安全,不受恶意软件和其他恶意代码的影响,内部网络本身仍然存在风险。此外,内部浏览器隔离很难扩展到多个设施或网络,对于远程员工来说尤其如此。

客户端浏览器隔离如何工作?

客户端浏览器隔离:网站代码在端点设备内的沙盒中执行

与其他类型的浏览器隔离一样,客户端浏览器隔离对浏览器会话进行虚拟化;与远程和内部浏览器隔离不同,客户端浏览器隔离是在用户设备本身进行的。它试图通过虚拟化或沙盒化将浏览与设备的其他部分分开。

虚拟化:虚拟化是将一台计算机划分为独立的虚拟机而不对计算机进行物理改变的过程。这是在称为“虚拟机管理程序”的操作系统下面的一层软件上完成。理论上,在一个虚拟机上发生的事情不应该影响相邻的虚拟机,即使它们在同一设备上也是如此。在用户计算机内一个单独的虚拟机上加载网页,则可保证计算机其他部分的安全。

沙盒:沙盒与虚拟机相似。它是一个独立的、封闭的虚拟环境,可以安全地进行测试。沙盒是一种常见的恶意软件检测技术:许多反恶意软件工具在沙盒中打开并执行潜在的恶意文件,看看它们是做什么的。一些客户端浏览器隔离产品使用沙盒来使 Web 浏览活动安全地包含在沙盒中。

由于客户端浏览器隔离涉及到在用户设备上实际加载潜在的恶意内容,它仍然对用户和网络构成风险。将有害代码与设备进行物理隔离是其他类型的浏览器隔离的核心概念;而客户端浏览器隔离则没有这种隔离。

浏览器隔离能抵御哪些威胁?

所有网页和 Web 应用程序都由 HTML、CSS 和 JavaScript 代码组成。虽然 HTML 和 CSS 是标记语言,意味着它们只提供格式化指令,但 JavaScript 是一种完整的编程语言。JavaScript 对于实现现代 Web 应用程序中的许多功能非常有用。然而,它也可以被恶意使用。恶意的 JavaScript 特别危险,因为大多数 Web 浏览器会自动执行与页面相关的所有 JavaScript。

使用 JavaScript 可以进行几种不同类型的攻击。一些最常见的攻击包括:

  • 路过式下载(drive-by download,又称“网页挂马”):只要加载一个网页,就会开始下载一个恶意的有效负载。路过式下载通常利用浏览器中未修补的漏洞。
  • 恶意广告:恶意代码被注入到合法的广告网络中。当恶意广告被显示时,代码会执行,通常会导致访问者被重定向到恶意网站。由于是合法的广告网络无意中传播恶意代码,因此恶意广告甚至可以危害到合法的高流量网站。
  • 点击劫持:网页被设计成欺骗用户点击他们本不打算点击的内容。点击劫持可以用来产生虚假广告收入、将用户送到一个不安全的网站,甚至启动恶意软件下载。

其他一些常见的浏览器内攻击(可能涉及或不涉及 JavaScript)包括:

  • 重定向攻击:用户试图加载一个合法 URL,但随后被重定向到一个由攻击者控制的 URL。
  • 在途浏览器攻击:途中的攻击者利用浏览器漏洞来入侵用户的浏览器,这时他们可以改变显示给用户的 Web 内容,甚至冒充用户。
  • 跨站脚本:恶意代码被注入到网站或 Web 应用程序中。这让攻击者能够进行各种恶意活动,包括窃取会话 cookie 或登录令牌,然后冒充合法用户。

浏览器隔离如何防御这些攻击?

通过在受控环境中隔离浏览器会话,恶意内容和代码将远离用户设备和组织网络。例如,路过式下载攻击对使用浏览器隔离的组织内的用户没有影响。下载将在远程服务器或沙箱中进行,并在浏览会话结束时被销毁。

浏览器隔离如何融入零信任安全架构?

零信任是一种信息安全方法,默认情况下不信任任何用户、Web 流量、应用程序或设备。零信任安全模型假设即使用户已安全加载网站 99 次,该网站也可能在第 100 次被入侵。浏览器隔离是在实践中实现这一假设的一种方式。

Cloudflare 将零信任方法纳入其网络安全产品堆栈。 Cloudflare 浏览器隔离是一种远程浏览器隔离服务,旨在提供最佳用户体验。由于 Cloudflare 浏览器隔离建立在覆盖全球 300 个城市的 Cloudflare 网络上,因此能够在尽可能靠近用户的位置提供 Web 浏览会话,从而最大限度地减少延迟。此外,Cloudflare 浏览器隔离将每个网页的最终输出发送给用户,而不是发送映像或流,从而进一步减少延迟。