Show simple item record

dc.contributor.advisorShrobe, Howard
dc.contributor.advisorOkhravi, Hamed
dc.contributor.advisorBurow, Nathan
dc.contributor.authorRivera, Elijah E.
dc.date.accessioned2022-01-14T14:46:57Z
dc.date.available2022-01-14T14:46:57Z
dc.date.issued2021-06
dc.date.submitted2021-06-17T20:14:11.077Z
dc.identifier.urihttps://hdl.handle.net/1721.1/139052
dc.description.abstractRust 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++.
dc.publisherMassachusetts Institute of Technology
dc.rightsIn Copyright - Educational Use Permitted
dc.rightsCopyright MIT
dc.rights.urihttp://rightsstatements.org/page/InC-EDU/1.0/
dc.titlePreserving Memory Safety in Safe Rust during Interactions with Unsafe Languages
dc.typeThesis
dc.description.degreeM.Eng.
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
mit.thesis.degreeMaster
thesis.degree.nameMaster of Engineering in Electrical Engineering and Computer Science


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record