Repository logo
Log in(current)
Repository logoMIT Open ScholarshipDSpace@MIT
  1. Home
  2. MIT Libraries
  3. MIT Theses
  4. Graduate Theses
  5. Preserving Memory Safety in Safe Rust during Interactions with Unsafe Languages

Preserving Memory Safety in Safe Rust during Interactions with Unsafe Languages

Thumbnail Image
Download
Name

Rivera-eerivera-meng-eecs-2021-thesis.pdf

Description
Thesis PDF
Size

946.3 KB

Format

Adobe PDF

Checksum (MD5)

abd44ab58f838f7d36377349cbbb6b34

Author(s)
Rivera, Elijah E.
Advisor(s)
Shrobe, Howard
Okhravi, Hamed
Burow, Nathan
Date Issued
June 2021
Publisher
Massachusetts Institute of Technology
Abstract
Rust is a programming language that simultaneously offers high performance and strong security guarantees. However, these guarantees come at the cost of strict compiler checks that sometimes prevent necessary code patterns. The unsafe keyword allows developers to bypass these compiler checks, and is used in both pure Rust and mixed-language applications. But the use of unsafe undermines the security guarantees of Rust that make it an attractive option in the first place. We first demonstrate that within a real-world pure Rust application, many uses of unsafe can be eliminated,or reduced to formally verifiable standard libraries. We then present Galeed, a system for isolating and protecting the Rust heap from access by other programming languages using Intel’s Memory Protection Key (MPK) technology. We demonstrate both the effectiveness and efficiency of Galeed on Firefox, a web browser written in Rust and C++.
MIT Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
In Copyright - Educational Use Permitted
http://rightsstatements.org/page/InC-EDU/1.0/
Copyright MIT
Persistent DSpace Link
https://hdl.handle.net/1721.1/139052
Repository logo
PrivacyPermissionsAccessibilityContact us
Repository logo
Notify us about copyright concerns.