课题基金 / 基金详情

Transparent pointer safety: Rust to Lua to OS Components

Transparent pointer safety: Rust to Lua to OS Components
透明指针安全:Rust 到 Lua 到 OS 组件
批准号:
EP/X021173/1
负责人:
Mark Batty
金额:
$63.04万
依托单位:
依托单位国家:
英国
项目类别:
Research Grant
财政年份:
2022
资助国家:
英国
项目状态:
未结题
起止时间:
2022 至 --

项目摘要

项目成果

Mark Batty的其他基金

相似基金

相关文献

中文摘要
翻译
点击翻译按钮获取中文摘要
英文摘要
The Digital Security by Design (DSbD) challenge builds a software ecosystem atop Morello, an ARM processor extended with capabilities. Capabilities combine a pointer to memory with permissions and bounds information that Morello processors use to enforce memory safety at run time, halting programs in error when safety is violated. This project develops a vertical stack in the DSbD ecosystem in three parts: a Rust compiler, an implementation of Lua in Rust, and integration of this Lua interpreter into FreeBSD, replacing a core component of the FreeBSD bootloader with software built in DSbD tech.Rust maximises the guarantees provided by capabilities with a memory-saftey-first design, and Lua is a high-level language used for joining systems components together, with the details of memory management safely automated. We will support this vertical with a theoretical development. In our Lua interpreter, we anticipate allocation and reclamation requiring unsafe Rust code, and we will verify that these components cannot produce capability errors. We will raise this to memory safety of the whole interpreter by proving that safe Rust code should never exhibit capability errors.Rust is a systems language from academia with substantial industrial use. Rust is proposed as the second language of the Linux kernel after C, with support from the creator of Linux. Rust excludes the vast majority of pointer misuse - ensuring memory safety - with a static (compile time) check, and a fall-back run-time check for complex cases. Our Rust compiler port will, as a consequence, port all safe Rust code to Morello, and typical Rust programmers may target Morello with no change to their working practices.Sometimes a Rust programmer must subvert the type system, e.g. to interface with hardware or C OS components. These regions of code must be declared as unsafe, enabling a limited set of additional operations that the compiler cannot check, forgoing the automatic guarantees afforded to safe code. This segregation of unsafe code offers a model for programming capability hardware: Rust ensures safe code cannot exhibit capability errors, and unsafe code highlights regions where verification tools can be targeted.Lua is a safe managed language that is used to set up the FreeBSD bootloader. We will port the Lua interpreter to Rust, integrate it into FreeBSD and establish that the garbage collector cannot capability fault.We offer Rust, memory-safe Lua and OS components, together with a theoretical case study that demonstrates scalable security reasoning enabled by the new capability features.
期刊论文(1)
专著(0)
科研奖励(0)
会议论文
Software Engineering and Formal Methods - 21st International Conference, SEFM 2023, Eindhoven, The Netherlands, November 6-10, 2023, Proceedings
软件工程和形式化方法 - 第 21 届国际会议,SEFM 2023,荷兰埃因霍温,2023 年 11 月 6-10 日,会议记录
DOI: 10.1007/978-3-031-47115-5_17
发表时间: 2023
期刊:
影响因子: --
作者: [Semenyuk M]
通讯作者: Semenyuk M
Safe and secure COncurrent programming for adVancEd aRchiTectures (COVERT)
  • 批准号:
    EP/X015076/1
  • 项目类别:
    Research Grant
  • 资助金额:
    $47.74万
  • 财政年份:
    2023
  • 负责人:
    Mark Batty
  • 依托单位:
CapC: Capability C semantics, tools and reasoning
  • 批准号:
    EP/V000470/1
  • 项目类别:
    Research Grant
  • 资助金额:
    $61.82万
  • 财政年份:
    2020
  • 负责人:
    Mark Batty
  • 依托单位:
Compositional, dependency-aware C++ concurrency
  • 批准号:
    EP/R020566/1
  • 项目类别:
    Research Grant
  • 资助金额:
    $12.59万
  • 财政年份:
    2018
  • 负责人:
    Mark Batty
  • 依托单位:
国内基金
海外基金
基于ARM Pointer Authentication的操作系统内核数据保护研究
  • 批准号:
    62002317
  • 项目类别:
    青年科学基金项目
  • 资助金额:
    24.0万元
  • 批准年份:
    2020
  • 负责人:
    申文博
  • 依托单位: