CHOP: Bypassing Runtime Bounds Checking Through Convex Hull OPtimization

07/08/2019
by   Yurong Chen, et al.
0

Unsafe memory accesses in programs written using popular programming languages like C/C++ have been among the leading causes for software vulnerability. Prior memory safety checkers such as SoftBound enforce memory spatial safety by checking if every access to array elements are within the corresponding array bounds. However, it often results in high execution time overhead due to the cost of executing the instructions associated with bounds checking. To mitigate this problem, redundant bounds check elimination techniques are needed. In this paper, we propose CHOP, a Convex Hull OPtimization based framework, for bypassing redundant memory bounds checking via profile-guided inferences. In contrast to existing check elimination techniques that are limited by static code analysis, our solution leverages a model-based inference to identify redundant bounds checking based on runtime data from past program executions. For a given function, it rapidly derives and updates a knowledge base containing sufficient conditions for identifying redundant array bounds checking. We evaluate CHOP on real-world applications and benchmark (such as SPEC) and the experimental results show that on average 80.12 improved performance up to 95.80

READ FULL TEXT
research
04/11/2018

Permission Inference for Array Programs

Information about the memory locations accessed by a program is, for ins...
research
08/22/2020

Assurance of Distributed Algorithms and Systems: Runtime Checking of Safety and Liveness

This paper presents a general framework and methods for complete program...
research
05/22/2018

You Shall Not Bypass: Employing data dependencies to prevent Bounds Check Bypass

A recent discovery of a new class of microarchitectural attacks called S...
research
10/17/2017

Towards Linux Kernel Memory Safety

The security of billions of devices worldwide depends on the security an...
research
07/22/2021

CGuard: Efficient Spatial Safety for C

Spatial safety violations are the root cause of many security attacks an...
research
02/14/2019

Redundant Loads: A Software Inefficiency Indicator

Modern software packages have become increasingly complex with millions ...
research
11/22/2002

Redundancy in Logic I: CNF Propositional Formulae

A knowledge base is redundant if it contains parts that can be inferred ...

Please sign up or login with your details

Forgot password? Click here to reset