浏览器沙盒是什么

是什么

沙盒(sandbox),另称沙箱,是一种按照安全策略限制程序行为的执行环境。“沙盒”技术的实践运用流程是:让疑似病毒文件的可疑行为在虚拟的“沙盒”里充分运行,“沙盒”会记下它的每一个动作;当疑似病毒充分暴露了其病毒属性后,“沙盒”就会执行“回滚”机制:将病毒的痕迹和动作抹去,恢复系统到正常状态。

PS:sandbox并不是sandboxie,sandboxie是一种专业沙盒软件。

安全策略

1. 不能运行任何本地的的可执行程序。

2. 不能从本地计算机文件系统中读取任何信息,也不能往本地计算机文件系统中写入任何信息。

3. 不能查看除Java版本信息和少数几个无害的操作系统详细信息外的任何有关本地计算机的信息。特别是,在沙箱中的代码不能查看用户名、E-mail地址等信息。

4. 远程加载的程序不能与除下载程序所在的服务器之外的任何主机通信,这个服务器被称为源主机(originating host)。这条规则通常称为“远程代码只能与家人通话”这条规则将会确保用户不会被代码探查到内部网络资源(在Java SE 6 中,Java Web Start 应用程序可以与其他网络连接,但必须得到用户的同意)。

简单说就是不能写,不能读,不给看。

针对什么

以Chrome为例,Chrome采用的是多进程结构,进程类型主要有以下几种:

1. 主进程:负责所有资源管理、系统交互,前者包括bookmark、cookie、history管理等;后者包括屏幕绘制、处理keyboard/mouse输入、internet连接等。(不在Chrome的sandbox中运行。)

2. web渲染进程:负责html解析、javascript执行、image decoding、页面布局等所有和网页相关的任务。所有的此类进程都强制在sandbox中运行。和用户、系统的联系不直接进行(也无法直接进行),而是通过IPC(进程间通信)向主进程发送请求。

3. plugin进程:每个plugin对应一个此类进程,动态地创建、销毁。目前的plugin大都需要直接操作系统资源,比如flash plugin会打开摄像头、下载临时文件到硬盘等,所以plugin进程不在sandbox中运行。

4. extension进程:一种特殊的web渲染进程。

PS:extension本身可以算是网页,安装了后是运行在沙盒里面的,但是点击扩展按钮后可能会启动额外的进程,这时候所进行的操作就不一定在沙箱内了。

总结起来就是只有和网页相关的任务(渲染进程)运行在Chrome的沙盒中。Chrome的沙盒是依赖操作系统本身提供的机制实现,根据操作系统本身提供了相关的API,限制进程的权限,比如让进程无法访问任何文件、无法获得用户输入、无法hook其他进程、无法创建子进程等,Chrome的sandbox最大化的利用了这些限制。

限制:

1. 它主要防护恶意代码对系统的破坏,对其它类型的安全问题办法不多。比如:恶意代码可以从主进程获得所有的cookie,并通过主进程发送出去。

2. 如果操作系统API本身存在漏洞而被攻破,Chrome的sandbox也自然被穿。

3. plugin进程不受sandbox保护,所以利用plugin漏洞的恶意代码在Chrome上都能发作。

PS:该文只是做一个笔记,只学习,如果有误,请指正。

时间: 2024-12-22 20:50:56

浏览器沙盒是什么的相关文章

某公司ssl-vpn沙盒逃逸之旅

[0x01] 入口:nmap 扫描c段发现x.x.x.2开放不少端口 https(443)访问发现是个ssl-vpn登录口 按照经验,一般这种系统往往会存在测试帐号,比如test.Guest等等.手工试一下:test::****,然后就进去了. [0x02] 发现:进去后,对各个功能进行了熟悉和测试,发现了一个erp软件.打开后需要登录,测试了几个常用测试口令,进去了. [0x03] 新发现:这个ssl-vpn同时提供了远程使用word.excel.ppt等等功能,想到利用宏执行命令(最后反思这

iOS_SN_沙盒文件操作及位置

转载:http://blog.csdn.net/hello_hwc/article/details/44916909 沙盒的结构如下所示 一 访问Bundle 注意Bundle只读,不能写入 创建一个Plist文件  然后对Plist写入一对Key-value  然后访问Bundle 1 NSURL * fileInBundle = [[NSBundle mainBundle] URLForResource:@"demoPlist" withExtension:@"plist

浅谈终端机与移动设备的沙盒安全

0×01 Backgroundziwen原创 转载请注明!在我们每天生活的城市里随处都可见一个一个的移动终端或终端机.终端机一般由触控显示器和主机构成 比如银行的atm机 ktv的点歌机 联通营业厅的自助服务机.而这些东西的安全性并不是很高 一般都是一个win或linux操作系统加一个沙盒构成 而我们要做的就是跳出这个沙盒 这个沙盒一旦跳出且我们的权限足够高 那么我们就可以做一些想做的事比如我在乌云里提交的那个atm机xss跳出漏洞 如果碰见胆大的黑帽有可能那台atm机就早已经空无一文了…..0

程序中的文件之沙盒以及plist文件的初步使用

沙盒是相对于"应用程序"的文件,也就是相相应app所在的页面的文件. 每个应用都有自己的应用沙盒(应用沙盒就是文件系统文件夹).与其它文件系统隔离.应用必须呆在在积极的沙盒中.其它的应用不可以訪问沙盒. (这个是在ios8之前) ios8之后,沙盒进行了开发,有关应用的安全性有待研究. 沙盒的根文件夹为:/Users/zhumin/Library/Developer/CoreSimulator/Devices/09E156EA-B44B-4CCA-9E32-9286D332DDF0/d

沙盒存储

转载自:http://blog.csdn.net/enuola/article/details/8076221 iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. documents,tmp,app,Library. (NSHomeDirectory()), 手动保存的文件在documents文件里 Nsuserdefaults保存的文件在tmp文件夹里 1.Documents 目录:您应该将所有de应用程序数据文件写入到这个目录下.

iOS中的 沙盒文件夹 (数据的写入和读取,归档和反归档)

AppDelegate.m - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { /** 沙盒中文件夹: 1.Documents : 存储长久保存的数据 2.library: Caches:存放的缓存,比如:视频,音频,图片,小说等等 Perferences:存储偏好设置,比如:应用程序是否是第一次启动 保存用户名和密码. 3.t

IOS数据存储 —— 沙盒

沙盒结构 沙盒的文件系统?录,如下图所示(假设应用的名称叫Layer) 1.Documents 目录 您应该将所有的应用程序数据文件写入到这个目录下. 这个目录用于存储用户数据或其它应该定期备份的信息. 保存由应用程序产生的文件或者数据,例如:涂鸦程序生成的图片,游戏关卡记录 iCloud会自动备份Document中的所有文件. 上架注意 如果保存了从网络上下载的文件,在上架审批的时候会被拒! 2.AppName.app 目录:这是应用程序的程序包目录,包含应用程序的本身.由于应用程序必须经过签

game center 沙盒调试问题

在真机上测试game center时,只能测试沙盒,期间遇到个问题记录一下 如果请求登陆时,系统返回这句话 "err Error Domain=GKErrorDomain Code=15" (下面进行之前,先确定你itunse关联的这个app,已经把game center打开) 1. ios7.0之前的系统可能是因为之前这台设备在弹game center登陆页面时,已经手动取消三次,则如果后台运行的不是沙盒game center时,永远会返回这个错误,解决方法是重置设备.正式产品也会是

IOS开发——UI进阶篇(十一)应用沙盒,归档,解档,偏好设置,plist存储,NSData,自定义对象归档解档

1.iOS应用数据存储的常用方式XML属性列表(plist)归档Preference(偏好设置)NSKeyedArchiver归档(NSCoding)SQLite3 Core Data 2.应用沙盒每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离.应用必须待在自己的沙盒里,其他应用不能访问该沙盒应用沙盒的文件系统目录,如下图所示(假设应用的名称叫Layer)模拟器应用沙盒的根路径在: (apple是用户名, 8.0是模拟器版本)/Users/apple/Libra