Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Xia, Tianrou, Huang, Kaiming, Yu, Dongyeon, Jeon, Yuseok, Zhou, Jie, Wu, Dinghao, Kim, Taegyu
Format: Preprint
Veröffentlicht: 2025
Schlagworte:
Online-Zugang:https://arxiv.org/abs/2509.16389
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866918144802553856
author Xia, Tianrou
Huang, Kaiming
Yu, Dongyeon
Jeon, Yuseok
Zhou, Jie
Wu, Dinghao
Kim, Taegyu
author_facet Xia, Tianrou
Huang, Kaiming
Yu, Dongyeon
Jeon, Yuseok
Zhou, Jie
Wu, Dinghao
Kim, Taegyu
contents Rust is a memory-safe language, and its strong safety guarantees combined with high performance have been attracting widespread adoption in systems programming and security-critical applications. However, Rust permits the use of unsafe code, which bypasses compiler-enforced safety checks and can introduce memory vulnerabilities. A widely adopted approach for detecting memory safety bugs in Rust is Address Sanitizer (ASan). Optimized versions, such as ERASan and RustSan, have been proposed to selectively apply security checks in order to reduce performance overhead. However, these tools still incur significant performance and memory overhead and fail to detect many classes of memory safety vulnerabilities due to the inherent limitations of ASan. In this paper, we present LiteRSan, a novel memory safety sanitizer that addresses the limitations of prior approaches. By leveraging Rust's unique ownership model, LiteRSan performs Rust-specific static analysis that is aware of pointer lifetimes to identify risky pointers. It then selectively instruments risky pointers to enforce only the necessary spatial or temporal memory safety checks. Consequently, LiteRSan introduces significantly lower runtime overhead (18.84% versus 152.05% and 183.50%) and negligible memory overhead (0.81% versus 739.27% and 861.98%) compared with existing ASan-based sanitizers while being capable of detecting memory safety bugs that prior techniques miss.
format Preprint
id arxiv_https___arxiv_org_abs_2509_16389
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle LiteRSan: Lightweight Memory Safety Via Rust-specific Program Analysis and Selective Instrumentation
Xia, Tianrou
Huang, Kaiming
Yu, Dongyeon
Jeon, Yuseok
Zhou, Jie
Wu, Dinghao
Kim, Taegyu
Cryptography and Security
Rust is a memory-safe language, and its strong safety guarantees combined with high performance have been attracting widespread adoption in systems programming and security-critical applications. However, Rust permits the use of unsafe code, which bypasses compiler-enforced safety checks and can introduce memory vulnerabilities. A widely adopted approach for detecting memory safety bugs in Rust is Address Sanitizer (ASan). Optimized versions, such as ERASan and RustSan, have been proposed to selectively apply security checks in order to reduce performance overhead. However, these tools still incur significant performance and memory overhead and fail to detect many classes of memory safety vulnerabilities due to the inherent limitations of ASan. In this paper, we present LiteRSan, a novel memory safety sanitizer that addresses the limitations of prior approaches. By leveraging Rust's unique ownership model, LiteRSan performs Rust-specific static analysis that is aware of pointer lifetimes to identify risky pointers. It then selectively instruments risky pointers to enforce only the necessary spatial or temporal memory safety checks. Consequently, LiteRSan introduces significantly lower runtime overhead (18.84% versus 152.05% and 183.50%) and negligible memory overhead (0.81% versus 739.27% and 861.98%) compared with existing ASan-based sanitizers while being capable of detecting memory safety bugs that prior techniques miss.
title LiteRSan: Lightweight Memory Safety Via Rust-specific Program Analysis and Selective Instrumentation
topic Cryptography and Security
url https://arxiv.org/abs/2509.16389