返回
Detecting Memory Errors in Rust Programs Including Unsafe Foreign Code
DOI:10.1007/978-3-032-10444-1_11.png)
摘要
En 中文
内存损坏是计算机安全中最古老和最具破坏性的问题之一,攻击者可能通过此恶意修改程序控制流。C和C++等不安全语言容易产生此类漏洞。Rust是一种有前景的替代方案,它通过适当的编译时检查确保内存安全,且运行时无性能损失。然而,当程序员使用Rust不安全特性或通过外部函数接口(FFI)机制集成不安全语言编写的代码时,Rust编译器无法提供这些保证。如果不安全特性和不安全代码的集成处理不当,Rust旨在消除的内存错误可能会重新引入。在此,我们定义了一种静态污点分析,针对Rust和外部代码检测常见的内存错误(如释放后使用、未释放和双重释放),并将其实现于crema工具中。我们在GitHub真实案例上的实验评估表明,crema能有效检测内存错误。
Keyword:
Bug Detection
Unsafe Rust
Static Taint Analysis
期刊
S
IF:
0
论文数:
16
被引数:
0

