Chromium-sandbox-ThreadProcess-analysis

本篇是sandbox源码剖析的第十五篇,主要分析了子系统ThreadProcess的三大组件。

Target进程执行9个进程线程相关API时,应用于此的三大组件进行了一些处理。该子系统和Filesystem类似,但9个API却分成了3个类别,具体内容请参考本文的详细解读。

阅读本篇前,请先阅读前面所有章节。

想要流程的阅读本系列你需要以下几个条件:

  1. 较高水平的C++编码能力(至少通读C++ Primer 5th,刷过课后题,有一定编码量)。
  2. 熟悉Windows API编程,尤其是安全相关的内容。
  3. 对二进制安全有一定了解,熟悉各类型安全漏洞成因、漏洞缓解措施及bypass手法。

Chromium-sandbox-Filesystem-analysis

本篇是sandbox源码剖析的第十四篇,主要分析了子系统Filesystem的三大组件。

Target在执行5个文件系统相关的API时,会因为Interceptions的部署(该子系统由broker远程部署(service call))而调用hook函数,hook函数通过SharedMem IPC与broker通信,将调用参数传给broker,broker此后通过dispatcher分发找到对应子系统的dispatcher,子系统dispatcher会匹配调用参数并调用一早便注册好的callback,callback会进行Low-level policy的Evaluate鉴权,并进一步调用low-level policy的业务处理函数,根据鉴权结果来执行API,并在CrossCallResult回执结果。

阅读本篇前,请先阅读前面所有章节。

想要流程的阅读本系列你需要以下几个条件:

  1. 较高水平的C++编码能力(至少通读C++ Primer 5th,刷过课后题,有一定编码量)。
  2. 熟悉Windows API编程,尤其是安全相关的内容。
  3. 对二进制安全有一定了解,熟悉各类型安全漏洞成因、漏洞缓解措施及bypass手法。

Chromium-sandbox-LowLevelPolicy-analysis

本篇是sandbox源码剖析的第十三篇,主要分析了架设在PolicyEngine之上的low-level Policy机制。Low-level policy为TargetPolicy(实际上是PolicyBase)所用,用以evaluate high-level操作的可行性(job+alternative desktop+stricted token(include IL/AC)几乎把target的路堵死了,所以需要借助一种渠道来执行一些操作,于是就有了子系统三大组件)。阅读本篇前,请先阅读前四篇及第十到十二篇。

想要流程的阅读本系列你需要以下几个条件:

  1. 较高水平的C++编码能力(至少通读C++ Primer 5th,刷过课后题,有一定编码量)。
  2. 熟悉Windows API编程,尤其是安全相关的内容。
  3. 对二进制安全有一定了解,熟悉各类型安全漏洞成因、漏洞缓解措施及bypass手法。

Chromium-sandbox-PolicyEngine-analysis

本篇是sandbox源码剖析的第十二篇,主要分析了windows平台下,Chromium sandbox中子系统三大组件构成中的第三大组件——low-level policy的基础设施PolicyEngine。阅读本篇前,请先阅读前四篇。

想要流程的阅读本系列你需要以下几个条件:

  1. 较高水平的C++编码能力(至少通读C++ Primer 5th,刷过课后题,有一定编码量)。
  2. 熟悉Windows API编程,尤其是安全相关的内容。
  3. 对二进制安全有一定了解,熟悉各类型安全漏洞成因、漏洞缓解措施及bypass手法。
,