浏览器的沙盒技术

2023-03-16 9,470


 

背景


 

随着业务环境的快速迭代变化,Web开发周期中安全性是开发人员和测试人员面临的最大挑战之一。构建和部署Web 应用程序的复杂性导致更多的安全漏洞。


开发中确保用户数据的安全和隐私,网络安全在软件开发生命周期中变得越来越重要。如果可以开发和测试网站和Web 应用程序而不用担心安全漏洞。沙盒就是一种可以帮助实现这一目标的技术。


沙盒是一种安全隔离应用程序、Web 浏览器和代码的方法。它可以防止恶意或有故障的应用程序攻击或监视 Web资源和本地系统。


沙盒浏览器创建了一个隔离环境,用户可以从第三方来源下载和安装应用程序,并在安全、隔离的环境中运行它们,即使他们的行为可疑。因此,沙盒浏览器可以保护您的计算机免受额外的安全风险。


在本文中,将梳理分享什么是浏览器沙盒、不同类型沙盒的好处和重要性,以及如何实现它。 


什么是浏览器沙盒


 

为了防止系统或Web应用程序中出现安全漏洞,我们需要弄清楚如何处理它们。这是浏览器沙盒派上用场的时候。浏览器沙箱提供了一个安全的虚拟环境来测试有害代码或运行第三方软件,而不会损害系统数据或本地文件。


例如,如果你在沙箱内下载恶意附件,它不会损坏你系统的现有文件或资源。Sandbox具有同源特性,允许JavaScript 在网页上添加或自定义元素,同时限制对外部JSON文件的访问。


如今,Chrome、Firefox 和 Edge 等主流的网络浏览器都带有内置沙箱。沙盒浏览器的最终目标是保护机器免受与浏览相关的风险。因此,如果用户从网站下载恶意软件,该软件就会下载到浏览器的沙箱中。关闭沙箱后,其中的所有内容(包括有害代码)都会被清除。


浏览器沙盒使用2种隔离技术来屏蔽用户的Web浏览活动和系统硬件、本地PC 和网络:本地浏览器隔离、远程浏览器隔离。


本地浏览器隔离

本地浏览器隔离是一种传统的浏览器隔离技术,它在沙箱中运行虚拟浏览器或在用户本地基础设施上运行虚拟机。它有助于将数据与外部安全威胁和不安全浏览隔离开来。例如,如果恶意元素潜入,影响将仅限于沙盒浏览器和虚拟机。


远程浏览器隔离

远程浏览器隔离涉及一种虚拟化技术,其中浏览器在基于云的服务器(公共云和私有云)上运行。在远程隔离中,用户本地系统没有浏览活动,浏览器沙盒、过滤和风险评估在远程服务器上进行。


远程浏览器隔离涉及两种隔离用户本地基础设施和Web内容的方法:


1、DOM镜像:在这种技术中,浏览器并不完全与用户的本地系统隔离。但是,DOM 镜像技术会过滤恶意内容并将其余内容呈现给用户。


2、视觉流:这种技术提供了完全的远程浏览器隔离。视觉流的工作方式类似于 VDI(虚拟桌面基础设施)系统,其中浏览器在基于云的服务器上运行,视觉输出显示在用户的本地计算机上。

 

浏览器沙盒重要性


 

网络技术已经在高速发展,从而使开发者能够快速开发和发布网站和网络应用程序。同时对网络应用程序的需求在快速增长。拥有一个安全、受控的环境(如沙盒浏览器)以在不危及本地系统和资源的情况下执行操作至关重要。


例如,用户正在沙盒中运行 Web 浏览器。如果恶意代码或恶意文件利用 Web 浏览器漏洞,就影响会限制在沙箱内。在引爆过程可以帮助发现新漏洞并缓解 Web 浏览器中的漏洞。但是,如果沙盒浏览器被禁用,恶意程序就可以利用网络浏览器的漏洞并破坏用户的本地系统和资源。


将沙箱合并到 Web 开发工作流程中,有如下7种好处:

1、沙盒保护设备和操作系统免受潜在威胁。


2、与未经授权的一方或供应商合作时,建议使用沙盒环境。在部署程序之前,可以使用沙箱来测试可疑代码或软件。


3、沙盒可以帮助防止零日攻击。由于开发人员无法发现漏洞利用的即时补丁,因为零日攻击本质上是有害的,沙盒通过隐藏系统中的恶意软件来减轻损害。


4、沙盒环境隔离威胁和病毒。这有助于网络专家研究和分析威胁趋势。它可以防止未来的入侵和识别网络漏洞。


5、沙盒应用程序是一种混合解决方案,这意味着它们可以在本地和远程(基于云的服务器)部署。混合系统比传统解决方案更安全、可靠且更具成本效益。


6、沙盒和 RDP(远程桌面协议)设置可帮助企业确保安全的外部网络连接。


7、沙盒可以与防病毒或其他安全工具和策略结合使用,以加强您的整个安全生态系统。


在日常工作流程中使用的大部分产品,如在线浏览器、网页、PDF、移动应用程序和 Windows 应用程序,它们都是属于沙盒化的。


1、Web 浏览器:可能易受攻击的浏览器在沙盒环境中运行。

2、浏览器插件:加载内容时,浏览器插件在沙箱中运行。沙盒浏览器插件,如 Java,更容易受到攻击。

3、网页:浏览器以沙盒模式加载网页。由于网页是内置的 JavaScript,因此它无法访问本地计算机上的文件。

4、移动应用程序:移动操作系统,如 Android 和 iOS,以沙盒模式运行其应用程序。如果他们想要访问您的位置、联系人或其他信息,他们会弹出权限框。

5、Windows 软件和程序:在更改系统文件之前,Windows 操作系统中的用户帐户控制 (UAC) 会请求您的许可。UAC 的功能类似于沙箱,但它不提供完整的保护。但是,不应该禁用它。


沙盒分为三类:应用程序沙箱、浏览器沙箱、安全沙箱


应用程序沙盒

使用应用程序沙箱,可以在沙箱中运行不受信任的应用程序,以防止它们损坏本地系统或窃取数据。它有助于创建一个安全的环境,让应用程序可以在没有损坏系统风险的情况下运行。通过将应用程序与用户的本地计算机隔离开来,应用程序沙箱增强了应用程序的完整性。


浏览器沙箱

可以在沙箱中执行基于潜在恶意浏览器的应用程序,以防止它们对本地基础设施造成损害。它导致建立一个安全的环境,网络应用程序可以在其中运行而不会危及系统。引爆技术可以帮助发现 Web 浏览器中的新漏洞及其缓解措施。


安全沙箱

安全沙盒让你探索和检测可疑代码。它会扫描附件并识别可能有害的网站列表,并确定是否有人下载或安装了受感染的文件。


使用内置沙盒浏览器进行沙盒处理

沙盒预装在主流的浏览器中,例如 Chromium、Firefox 和 Edge,以保护系统免受浏览漏洞的侵害。让我们看看沙盒在不同浏览器中是如何工作的:


Chromium 浏览器沙盒

Google Chrome 和 Microsoft Edge 都是基于 Chromium 浏览器构建的。broker 和 target 是构成 Chromium 浏览器沙箱的两个进程。目标进程是一个子进程,而浏览器进程是一个代理进程。目标进程的代码在沙箱环境中执行。代理进程充当子进程和硬件资源之间的角色,为子进程提供资源。


Firefox 浏览器沙盒

为了保护本地系统免受威胁,Firefox 在沙箱中执行不受信任的代码。Firefox 浏览器通过使用父进程和子进程进行沙盒化。浏览时,潜在的恶意程序会在沙盒中运行。在沙盒过程中,父进程是子进程和其余系统资源之间的中介。

可以更改 Firefox 浏览器中的沙盒程度,使其限制最少、适度或高度。

要检查 Firefox 沙盒浏览器的级别,请在地址栏中输入命令:about:config

在页面上,它将加载 Firefox 可配置变量。现在,在配置页面上点击“ CTRL+F ”,在搜索框中输入以下命令,然后按“ Enter ”。


边缘浏览器沙盒

当启动 Edge沙盒浏览器Windows 10 时,将看到一个全新的桌面,其中只有“回收站”和 Edge 快捷方式。它显示“开始菜单”和其他图标,但它们在此沙盒环境中不起作用。可以在标准 Windows 10 上访问它们,而不是沙盒 Windows 10。

当关闭 Edge 浏览器沙箱时,浏览器历史记录将不再可用。ISP可能会跟踪沙箱中的操作,但此数据不可审计。

 


输入禁用google chrome沙盒



在执行基于 Chrome 的沙盒测试时,您可能会遇到沙盒功能会导致 Chrome 浏览器闪现以下错误的场景:“The Application Has Failed to Initialize”。

在这种情况下,可能需要禁用 Chrome 浏览器沙箱。


以下是禁用以下步骤:

  1. 如果没有 Google Chrome 沙盒快捷方式,请创建一个。

  2. 右键单击快捷方式并选择“属性”。

  3. 在目标中提供的应用程序路径中输入以下命令:--no-sandbox



 

小结


 

大多数网络浏览器都使用沙箱。但是网络上仍然是病毒和其他恶意软件的来源。沙盒的级别似乎有所不同。不同的网络浏览器以不同的方式实现沙盒,因此很难弄清楚它们是如何工作的。但是,这并不意味着所有网络浏览器都不安全。另一方面,浏览器沙盒可以使它们相对安全。如果某些浏览器组件使用 Flash 和 ActiveX,它们可能会扩展到沙箱之外。


市场上有 Sandboxie、BitBox 和其他沙盒工具,当企业受到高级持续性威胁 (APT) 的攻击,可以沙盒技术进行攻击的防御,可以为未知的攻击做好准备。可以在隔离环境中测试和开发应用程序,而不会通过沙盒损害本地系统资产。


结束



本文作者:编码安全

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/197651.html

Tags:
评论  (0)
快来写下你的想法吧!

编码安全

文章数:12 积分: 20

编码安全、安全编码! 公众号《编码安全》

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号