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

浏览器沙箱模型

作者: 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

    相关文章

      网友评论

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

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