美文网首页
浏览器沙箱模型

浏览器沙箱模型

作者: small_zeo | 来源:发表于2022-05-05 09:32 被阅读0次

沙箱模型工作的基本单位就是进程。每一个进程对应一个沙箱。相对于单进程浏览器,在发生崩溃时,多进程浏览器只会崩溃当前的Tab页,而单进程浏览器则会崩溃整个浏览器进程。这对于用户体验式很大的提升。

  • 什么是沙箱(Sandbox)
    沙箱是一种隔离对象/线程/进程的机制,控制浏览器访问系统资源的权限,从而达到保护用户的系统不被网页上的恶意软件侵入、保护用户系统的输入事件(键盘/鼠标)不被监视、保护用户系统中的文件不被偷取等目的。最初的浏览器沙箱是基于Hook实现的,后来的Chrome沙箱是利用操作系统提供的一些安全机制实现的。
  • 为什么需要沙箱
    默认情况下,一个应用程序是可以访问机器上的所有资源的,比如CPU、内存、文件系统、网络等等。但是这是不安全的,如果随意操作资源,有可能破坏其他应用程序正在使用的资源,或者造成数据泄漏。为了解决这个问题,一般有下面两种解决方案:
    (1) 为程序分配一个限定权限的账号:利用操作系统的权限管理机制进行限制
    (2) 为程序提供一个受限的运行环境:这就是沙箱机制

浏览器沙箱

Google Chrome是第一个采取多进程架构的浏览器。Chrome的主要进程氛围:浏览器进程,渲染进程,插件进程、拓展进程。插件进程如flash、pdf等于浏览器进程严格隔离,因此不会互相影响。
Chrome的渲染引擎由SandBox隔离,网页代码要与浏览器内核进程通信、与操作系统通信都需要通过IPC channel,在其中会进行一些安全检查。
Chrome实现的一个相对完整的SandBox:


image.png

相关文章

  • 浏览器沙箱模型

    沙箱模型工作的基本单位就是进程。每一个进程对应一个沙箱。相对于单进程浏览器,在发生崩溃时,多进程浏览器只会崩溃当前...

  • Java沙箱机制的实现——安全管理器、访问控制器

    一、Java沙箱机制 Java沙箱(sandbox)是Java安全模型的核心,那如何理解沙箱呢? 我们知道如果默认...

  • Java - 安全沙箱

    Java - 安全沙箱 Java沙箱是Java安全模型的核心,沙箱是一个限制程序运行的环境,可以保护系统资源和程序...

  • 沙箱安全机制

    保护程序安全 保护Java原生的JDK代码 Java安全模型的核心就是Java沙箱(sandbox)。什么是沙箱?...

  • 121.乾坤js隔离机制

    依旧从loadApp函数入手 createSandboxContainer方法,创建沙箱容器,根据浏览器环境判断和...

  • 浏览器

    什么是浏览器对象模型 BOM :Browser Object Model(浏览器对象模型),浏览器模型提供了独立于...

  • BOM

    BOM 浏览器对象模型 BOM(Browser Object Model)是指浏览器对象模型,浏览器对象模型提供来...

  • fly.js—Node下增强的API

    Fly 同时支持浏览器环境和 node 环境,在 node 下,由于没有浏览器沙箱的限制,有访问文件系统的能力,为...

  • JavaScript Window - 浏览器对象模型(9/11

    浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器"对话"。 浏览器对象模型 (BOM) 浏览器...

  • BAT大厂必问前端面试题

    一、对浏览器安全方面的了解 图解浏览器安全(同源策略、XSS、CSRF、跨域、HTTPS、安全沙箱等串成糖葫芦)h...

网友评论

      本文标题:浏览器沙箱模型

      本文链接:https://www.haomeiwen.com/subject/rgwidrtx.html