Chrompartments: Hybrid Compartmentalisation for Web Browsers
Chrompartments: Hybrid Compartmentalisation for Web Browsers
批准号:
EP/X015963/1
负责人:
Laurence Tratt
金额:
$137.27万
依托单位:
依托单位国家:
英国
项目类别:
Research Grant
财政年份:
2022
资助国家:
英国
项目状态:
未结题
起止时间:
2022 至 --
中文摘要
chromparts项目将以Chrome浏览器为具体例子,探索浏览器的混合分区化。浏览器具有系统重要性,但由于其规模和复杂性,它们呈现出巨大的攻击面:它们是攻击者频繁发布攻击的磁铁。chromparts将使用CHERI将浏览器划分为相互不信任的部分,使它们更具弹性和性能。我们将使用Chrome(以其开源版本Chromium的形式)作为我们实验的载体,因为它是使用最广泛的浏览器,并且它已经以一种我们可以构建的方式部分划分。Chrome尽可能地将自己划分为基于进程的分区(粗略地说:每个选项卡一个进程;一些核心组件,如图形,被划分为单独的进程)。然而,这个模型是重量级的:操作系统进程消耗大量资源,许多设备(尤其是手机)很快就会达到它们的进程极限,迫使浏览器在一个进程中合并多个选项卡;而且进程之间的沟通非常缓慢。一些对安全至关重要的组件(如V8, Chrome的JavaScript引擎)也会被分离出来,但资源和性能限制使这不切实际。我们将使用CHERI的“混合模式”(即传统的宽度指针可以与功能一起使用)将Chrome拆分为类似进程的单元。大多数代码将使用传统的宽度指针,并将其装箱;纯粹的功能将允许我们模拟各种形式的隔间间通信。我们假设,与理想的纯粹基于能力的划分相比,这将带来更大的实际安全性,并且需要更少的更改。因此,我们的总体目标是首先用chericcompartments取代Chrome的基于进程的模型,然后将这些粗糙的compartments分解为更细粒度的compartments,在不显著影响性能的情况下增强安全性。除了重要的工程,还有重要的研究:进程提供了一些保证(例如,防止一些侧信道攻击),这是chericarments目前无法提供的。我们将探索这些保证,并在CHERI分区中复制它们,因为它们的存在对浏览器安全是必要的。在将基于进程的隔离转换为CHERI划分之后,chromparts将以两股方式运行:V8, JavaScript引擎;还有图形堆栈。这两个方面都有重大的挑战:例如,无论有多少网站在使用图形堆栈,它目前都包含在一个进程中。理解正确的划分点对chromparts的成功至关重要,并有助于更好地理解如何在大型系统上使用CHERI。
英文摘要
The Chrompartments project will explore hybrid compartmentalisation for webbrowsers using Chrome as a concrete example. Browsers are systemically importantbut present a large attack surface due to their scale and complexity: they are amagnet for attackers with frequent published attacks.Chrompartments will use CHERI to split browsers into mutually distrustingcompartments, making them more resilient and performant. We will use Chrome (inthe form of its open-source variant Chromium) as the vehicle for ourexperimentation because it is the most widely used browser and it is alreadypartially compartmentalised in a way that we can build upon. Chrome tries whenpossible to split itself into process-based compartments (roughly speaking: 1process per tab; and some core components such as graphics are split intoseparate processes). However, this model is heavyweight: OS processes consumeconsiderable resources and many devices (particularly phones) quickly hit theirprocess limits, forcing the browser to merge multiple tabs in a single process;and communication between processes is painfully slow. Some security-criticalcomponents (e.g. V8, Chrome's JavaScript engine) would ideally be split out too,but resource and performance constraints make this impractical.We will use CHERI's "hybrid mode" (i.e. where both traditional width pointerscan be used alongside capabilities) to split Chrome into process-likecompartments. Most code will use traditional width pointers and will be boxedinto compartments; pure capabilities will allow us to emulate various forms ofinter-compartment communication. We hypothesise that this will lead to greaterpractical security, and require fewer changes, than the idealpure-capability-based compartmentalisation.Our overall aim is thus first to replace Chrome's process-based model with CHERIcompartments, and then break those crude compartments into finer-grainedcompartments, enhancing security without significantly affecting performance. Aswell as significant engineering, there is also important research: processesgive some guarantees (e.g. against some side-channel attacks) that CHERIcompartments do not currently give. We will explore these guarantees andreplicate them for CHERI compartments where their existence is necessary forbrowser security.After converting process-based isolation to CHERI compartmentalisation,Chrompartments will operate in two strands: V8, the JavaScript engine; and thegraphics stack. Both strands contain significant challenges: for example, thegraphics stack is currently contained within a single process no matter how manysites are using it. Understanding the right compartmentalisation points will becritical to Chrompartments' success and lead to a much greater understanding ofhow to use CHERI on large-scale systems.
期刊论文(1)
专著(0)
科研奖励(0)
会议论文
Picking a CHERI Allocator: Security and Performance Considerations
选择 CHERI 分配器:安全性和性能考虑因素
DOI:
10.1145/3591195.3595278
发表时间:
2023
期刊:
影响因子:
--
作者:
[Bramley J]
通讯作者:
Bramley J
CapableVMs
-
批准号:EP/V000373/1
-
项目类别:Research Grant
-
资助金额:$106.67万
-
财政年份:2020
-
负责人:Laurence Tratt
-
依托单位:
HAMLET: Hardware Enabled Meta-Tracing (ext.)
-
批准号:EP/S020861/1
-
项目类别:Fellowship
-
资助金额:$117.61万
-
财政年份:2019
-
负责人:Laurence Tratt
-
依托单位:
LECTURE: LanguagE ComposiTion UnifiEd
-
批准号:EP/L02344X/1
-
项目类别:Fellowship
-
资助金额:$121.48万
-
财政年份:2014
-
负责人:Laurence Tratt
-
依托单位:
COOLER: COmpOsing LanguagE Runtimes
-
批准号:EP/K01790X/1
-
项目类别:Research Grant
-
资助金额:$78.86万
-
财政年份:2013
-
负责人:Laurence Tratt
-
依托单位:
国内基金
海外基金
登录
查看更多内容
一种经心房覆膜血管支架植入 Hybrid Fontan 手术的 临床新技术研究
-
批准号:20Y11910600
-
项目类别:省市级项目
-
资助金额:--
-
批准年份:2020
-
负责人:殷猛
-
依托单位:
基于深度压缩技术的Hybrid像素探测器读出系统原型机研制
-
批准号:11875146
-
项目类别:面上项目
-
资助金额:62.0万元
-
批准年份:2018
-
负责人:王东
-
依托单位:
模拟胰岛“hybrid”修饰抗原诱导tolDC免疫保护1型糖尿病β细胞研究
-
批准号:81770777
-
项目类别:面上项目
-
资助金额:56.0万元
-
批准年份:2017
-
负责人:顾愹
-
依托单位:
PSMA靶向Hybrid-SiO2基纳米诊疗剂用于前列腺癌HIFU治疗及增效机制研究
-
批准号:81601499
-
项目类别:青年科学基金项目
-
资助金额:17.0万元
-
批准年份:2016
-
负责人:姚明华
-
依托单位:
穿戴式步行辅助的Hybrid控制体系及其据需辅助效应研究
-
批准号:51505048
-
项目类别:青年科学基金项目
-
资助金额:19.0万元
-
批准年份:2015
-
负责人:张霞
-
依托单位:
波-流-植被耦合环境下射流Hybrid RANS/LES数值模拟研究
-
批准号:51509075
-
项目类别:青年科学基金项目
-
资助金额:20.0万元
-
批准年份:2015
-
负责人:鲁俊
-
依托单位:
基于Hybrid数据的复杂系统辨识与优化设计及在低渗透油井中的应用
-
批准号:61572084
-
项目类别:面上项目
-
资助金额:67.0万元
-
批准年份:2015
-
负责人:廖锐全
-
依托单位:
Hybrid加速结构的理论及预制研究
-
批准号:11475201
-
项目类别:面上项目
-
资助金额:100.0万元
-
批准年份:2014
-
负责人:裴士伦
-
依托单位:
基于BGM法结合Hybrid同化开展暴雨短期集合预报方法研究
-
批准号:41205073
-
项目类别:青年科学基金项目
-
资助金额:25.0万元
-
批准年份:2012
-
负责人:陈超辉
-
依托单位:
基于Hybrid方法的大型冗余驱动机构控制策略研究
-
批准号:51205392
-
项目类别:青年科学基金项目
-
资助金额:25.0万元
-
批准年份:2012
-
负责人:沈刚
-
依托单位: