Deciding Memory Safety for Forest Datastructures

06/29/2019
by   Umang Mathur, et al.
0

Memory safety is the problem of determining if a heap manipulating program that allocates/frees memory locations and manipulates heap pointers, does not dereference a memory location that is not allocated. Memory safety errors are serious security vulnerabilities that can be exploited systematically to attack systems. In this paper we consider the problem of checking if a program, whose initial allocated heap forms a forest structure (i.e., a disjoint set of trees and lists), is memory safe. While the problem of checking memory safety of programs whose initial heap is a forest structure is undecidable, we identify a class of caching programs for which the problem of checking memory safety is decidable. Our experimental evaluation demonstrates that common library routines that manipulate forest data-structures using a single pass are almost always caching. We show that our decision procedure for such programs is effective in both proving memory safety and in identifying memory safety vulnerabilities.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/17/2017

Towards Linux Kernel Memory Safety

The security of billions of devices worldwide depends on the security an...
research
02/03/2023

CheckedCBox: Type Directed Program Partitioning with Checked C for Incremental Spatial Memory Safety

Spatial memory safety violation is still a major issue for C programs. C...
research
10/21/2019

Memory Safety Preservation for WebAssembly

WebAssembly (Wasm) is a next-generation portable compilation target for ...
research
08/06/2021

Transformation-Enabled Precondition Inference

Precondition inference is a non-trivial problem with important applicati...
research
07/19/2021

A Non-invasive Technique to Detect Authentic/Counterfeit SRAM Chips

Many commercially available memory chips are fabricated worldwide in unt...
research
05/02/2022

Rusty Links in Local Chains

Rust successfully applies ownership types to control memory allocation. ...
research
05/05/2023

Completeness Thresholds for Memory Safety of Array Traversing Programs

We report on intermediate results of – to the best of our knowledge – th...

Please sign up or login with your details

Forgot password? Click here to reset