File Download

There are no files associated with this item.

  • Find it @ UNIST can give you direct access to the published full text of this article. (UNISTARs only)
Related Researcher

문현곤

Moon, Hyungon
Computer Systems Security Lab.
Read More

Views & Downloads

Detailed Information

Cited time in webofscience Cited time in scopus
Metadata Downloads

Full metadata record

DC Field Value Language
dc.citation.conferencePlace US -
dc.citation.title USENIX Security Symposium -
dc.contributor.author Bang, Inyoung -
dc.contributor.author Kayondo, Martin -
dc.contributor.author Moon, Hyungon -
dc.contributor.author Paek, Yunheung -
dc.date.accessioned 2023-12-28T16:05:12Z -
dc.date.available 2023-12-28T16:05:12Z -
dc.date.created 2023-09-07 -
dc.date.issued 2023-08-11 -
dc.description.abstract Rust was invented to help developers build highly safe systems. It comes with a variety of programming constructs that put emphasis on safety and control of memory layout. Rust enforces strict discipline about a type system and ownership model to enable compile-time checks of all spatial and temporal safety errors. Despite this advantage in security, the restrictions imposed by Rust’s type system make it difficult or inefficient to express certain designs or computations. To ease or simplify their programming, developers thus often include untrusted code from unsafe Rust or external libraries written in other languages. Sadly, the programming practices embracing such untrusted code for flexibility or efficiency subvert the strong safety guarantees by safe Rust. This paper presents TRUST, a compilation framework which against untrusted code present in the program, provides trustworthy protection of safe Rust via in-process isolation. Its main strategy is allocating objects in an isolated memory region that is accessible to safe Rust but restricted from being written by the untrusted. To enforce this, TRUST employs software fault isolation and x86 protection keys. It can be applied directly to any Rust code without requiring manual changes. Our experiments reveal that TRUST is effective and efficient, incurring runtime overhead of only 7.55% and memory overhead of 13.30% on average when running 11 widely used crates in Rust. -
dc.identifier.bibliographicCitation USENIX Security Symposium -
dc.identifier.uri https://scholarworks.unist.ac.kr/handle/201301/65392 -
dc.identifier.url https://www.usenix.org/conference/usenixsecurity23/presentation/bang -
dc.language 영어 -
dc.publisher USENIX -
dc.title.alternative TRust: A Compilation Framework for In-process Isolation to Protect Safe Rust against Untrusted Code -
dc.title TRust: A Compilation Framework for In-process Isolation to Protect Safe Rust against Untrusted Code -
dc.type Conference Paper -
dc.date.conferenceDate 2023-08-09 -

qrcode

Items in Repository are protected by copyright, with all rights reserved, unless otherwise indicated.