Chromium的沙盒Sandbox

简介: 代码位置:http://src.chromium.org/viewvc/chrome/trunk/src/sandbox/Android使用和Linux一样的代码。

代码位置:

http://src.chromium.org/viewvc/chrome/trunk/src/sandbox/

Android使用和Linux一样的代码。http://src.chromium.org/viewvc/chrome/trunk/src/sandbox/linux/

1.设计目的/目标

纯粹地为了安全。

sandbox本身就意味着程序要使用多进程架构。做到安全的方法就是让可能不安全的代码在被剥夺了部分权限的sandboxed进程(非主进程)上跑,原则上在sandboxed进程中能利用的资源只有CPU和内存。

所以sandbox虽然和进程紧密相关,但sandbox的核心功能和大部分代码是关于降低权限,多进程只是其前提。sandbox和SandboxedProcess应该区分来理解。

2.特点

  1. Sandbox目录下的代码是独立的(依赖base目录少部分文件),可以供其它项目使用
  2. 利用操作系统提供的特性来控制进程的权限,如不允许读写文件系统(框架有提供API可以开放指定文件的读写权限)。Linux下有两个级别的sandbox,Setuid sandbox(限制大部分资源的访问权限)和Seccomp-BPF(限制影响到系统内核的资源访问)。
  3. sandbox进程可以通过IPC跟外部通信。
  4. Chromium中对Renderer进程进行sandbox,是期望对WebKit输入数据就得到输出渲染好的图,过程中的网络和文件读写操作通过IPC由Browser进程处理。部分插件也运行在独立的sandboxed进程,它崩溃掉并不影响浏览器进程,如Flash。

3.使用方法

参考 src/content/common/sandbox_linux/sandbox_init_linux.cc:

bool InitializeSandbox(scoped_ptr<sandbox::SandboxBPFPolicy> policy) {
   return SandboxSeccompBPF::StartSandboxWithExternalPolicy(policy.Pass());
}

 

参考链接:

http://www.chromium.org/developers/design-documents/sandbox

http://www.chromium.org/developers/design-documents/sandbox/Sandbox-FAQ

https://code.google.com/p/chromium/wiki/LinuxSandboxing

http://dev.chromium.org/developers/design-documents/process-models#TOC-Sandboxes-and-plug-ins

目录
相关文章
|
XML 存储 JSON
JSON、JSONObject 与 JSONArray 详细介绍及其应用方式
JSON、JSONObject 与 JSONArray 详细介绍及其应用方式
5431 3
JSON、JSONObject 与 JSONArray 详细介绍及其应用方式
|
Java Spring 微服务
Spring 中优雅的获取泛型信息
简介 Spring 源码是个大宝库,我们能遇到的大部分工具在源码里都能找到,所以笔者开源的 mica 完全基于 Spring 进行基础增强,不重复造轮子。今天我要分享的是在 Spring 中优雅的获取泛型。
4524 0
|
机器学习/深度学习 自然语言处理 算法
RAPTOR:多模型融合+层次结构 = 检索性能提升20%,结果还更稳健
本文探讨了通过多模型集成技术提升信息检索系统性能的方法,重点介绍了RAPTOR框架。RAPTOR通过构建层次化的信息组织结构和递归摘要技术,显著提高了检索系统的性能和适应性。研究建立在RAG Fusion技术基础上,旨在提供更全面的信息检索解决方案。
1401 2
RAPTOR:多模型融合+层次结构 = 检索性能提升20%,结果还更稳健
|
8月前
|
人工智能 运维 安全
阿里云新发的AgentRun 有哪些“大招”,一文详解来了
函数计算 AgentRun 是一站式 Agentic AI 基础设施平台,基于 Serverless 架构,提供毫秒弹性、安全沙箱、模型工具治理、全链路可观测等能力,助力企业实现从原型到生产的平滑演进,让 AI Agent 真正落地生产。
阿里云新发的AgentRun 有哪些“大招”,一文详解来了
|
人工智能 运维 安全
阿里云函数计算 AgentRun 全新发布,构筑智能体时代的基础设施
阿里云推出以函数计算为核心的AgentRun平台,通过创新体系解决开发、部署、运维难题,提供全面支持,已在多个真实业务场景验证,是AI原生时代重要基础设施。
|
9月前
|
人工智能 缓存 搜索推荐
阿里云百炼产品月报【2025年10月】
通义千问本月重磅升级:发布9款Qwen3-VL多模态模型,支持视频理解、2D/3D定位;MCP生态新增17项服务;推出电商AI生图模板,助力商家降本增效。
小红书无限私信群发工具,小红书私信脚本插件,导入ID关注收藏评论留言
这是一款针对小红书平台开发的私信群发软件,可突破官方私信数量限制。通过这款插件,用户能够自由发送超过官方限制数量的私信
|
关系型数据库 MySQL
MySQL中varchar能存多少汉字、数字
MySQL中varchar能存多少汉字、数字
1503 0
|
自然语言处理 机器人 API
GPT学术优化 (GPT Academic):支持一键润色、一键中英互译、一键代码解释、chat分析报告生成、PDF论文全文翻译功能、互联网信息聚合+GPT等等
GPT学术优化 (GPT Academic):支持一键润色、一键中英互译、一键代码解释、chat分析报告生成、PDF论文全文翻译功能、互联网信息聚合+GPT等等
|
自动驾驶 安全 机器人
ROS2:从初识到深入,探索机器人操作系统的进化之路
【11月更文挑战第4天】ROS2的学习过程和应用,介绍DDS系统的框架和知识。
2113 1