主题:【原创】浏览器是怎么变成操作系统的 -- 美人他爹
sandbox(沙箱)是一个被当今软件界用滥的一个名词。凡是和安全挨边的产品,sandbox几乎就成了个形容词。
比如,AJAX就称作使用了sandbox技术。它是这样描述自己的sandbox的:javascript仅可以操作当前页面的DOM TREE,javascript对网络的访问(XMLHttpRequest)仅限于当前页面的同一域名 --- 避免CSS攻击(或叫XSS攻击)。
因此,sandbox的核心含义就是行为进行严格的约束并给这种行为划定清楚的界限。IE系列(不包括IE8)安全隐患的最大问题就是他的扩展技术ACTIVEX是个“全能冠军”,即没有它不能接触(处理)的东西,或者说没有沙箱化。
CHROME的沙箱由下列进程限制构成(针对Windows):
1.最低级别的RENDER进程。比如,该进程不可以创建子进程,不可以“调试”现有进程。
2.除了线程,进程内存,IPC管道,进程共享内存,RENDER进程的文件,网络访问均通过父进程(BROWSER)代理。RENDER进程甚至没有通常意义上的WINDOW句柄。RENDER ENGINE就是拿着一块内存在那里画阿画阿,画完了之后通知老大(BROWSER 进程),然后老大就把这块内存的东西(就是一个BMP图像)拷贝到TAB中。
3.RENDER进程使用独立的DESKTOP,因此windows API的调用受到了很多限制,钩子(Windows hook),clipboard这样的东西想都别想。
4.插件可以用独立的进程运行,也可以在RENDER进程运行。但是自己访问网络,采用WINDOW句柄画图的插件还是在自己的进程里面玩吧。这也是CHROME起劲地鼓捣新HTML 5的原因之一,比如HTML 5 VIDEO。CHROME的一个思路就是插件也要按沙箱的思路重新设计。
- 相关回复 上下关系8
压缩 5 层
🙂有图有真相 vanzolo 字105 2009-08-14 17:56:59
🙂这篇报道及其不专业 素里太守 字522 2009-08-14 18:50:04
🙂倒是没有注意报道真实性 vanzolo 字230 2009-08-14 19:21:05
🙂Chrome Sandbox的点点滴滴
🙂嗯,学习啦 vanzolo 字74 2009-08-10 18:04:48
🙂【原创】关于沙盒 1 美人他爹 字706 2009-08-10 14:25:40
🙂一点想法,不知道对不对 vanzolo 字552 2009-08-10 18:30:31
🙂name是必要条件,但不是充分条件 素里太守 字0 2009-08-10 15:46:56