首页 > 代码库 > 浏览器沙箱模型
浏览器沙箱模型
简介
沙箱模型技术是浏览器和其他应用程序中保护安全的一种组件关系设计模式,最初发明人为GreenBorder公司。2007年5月,谷歌公司收购了该公司,也将此项专利应用于chrome浏览器的研发中。
背景
一般而言,对于网络上的网页中的JavaScript代码和插件都是不受信的(除非是经过认证的网站),特别是一些故意设计侵入浏览器运行的主机代码更是非常危险,通过一些手段或者浏览器中的漏洞,这些代码可能获取了主机的管理权限,这对主机系统来说是非常危险的,所以保证网页本身之外,还需要保证浏览器和浏览器所在的系统不存在危险。
对于网络上的网页,浏览器认为他们是不安全的,因为网页总是存在各种可能性,也许是无意的或有意的攻击。如果有一种机制,将网页的运行限制在一个特定的环境中,也就是一个沙箱中,使它只能访问有限的功能。那么,即使网页工作的渲染引擎被攻击,它也不能够获取渲染引擎工作的主机系统中的热河权限,这一思想就是沙箱模型。
原理
受限环境只能被某些或者很少的系统调用而且不能直接访问用户数据。而沙箱模型工作的基本单位就是进程。所以在使用Chromium或者Chrome浏览浏览网页的时候,每个标签页面(网页)都在独立的“沙箱”(Sand Box)内运行,在提高安全性的同时,一个标签页面的崩溃也不会导致其他标签页面被关闭。
Chromium的沙箱模型是利用系统提供的安全技术,让网页在执行过程中不会修改操作系统或者是访问系统中的隐私数据,而需要访问系统资源或者说是系统调用的时候,通过一个代理机制来完成。
(注:由于沙箱模型严重依赖操作系统提供的技术,而不同的操作系统提供的安全技术是不一样的,这就意味着不同操作系统上的实现是不一致的。)
浏览器沙箱模型