Proof-Producing Symbolic Execution for Binary Code Verification

04/18/2023
by   Andreas Lindner, et al.
0

We propose a proof-producing symbolic execution for verification of machine-level programs. The analysis is based on a set of core inference rules that are designed to give control over the tradeoff between preservation of precision and the introduction of overapproximation to make the application to real world code useful and tractable. We integrate our symbolic execution in a binary analysis platform that features a low-level intermediate language enabling the application of analyses to many different processor architectures. The overall framework is implemented in the theorem prover HOL4 to be able to obtain highly trustworthy verification results. We demonstrate our approach to establish sound execution time bounds for a control loop program implemented for an ARM Cortex-M0 processor.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/29/2023

Certifying C program correctness with respect to CH2O with VeriFast

VeriFast is a powerful tool for verification of various correctness prop...
research
01/12/2021

Symbolic Loop Compilation for Tightly Coupled Processor Arrays

Loop compilation for Tightly Coupled Processor Arrays (TCPAs), a class o...
research
08/06/2022

MetaEmu: An Architecture Agnostic Rehosting Framework for Automotive Firmware

In this paper we present MetaEmu, an architecture-agnostic emulator synt...
research
01/16/2019

TrABin: Trustworthy Analyses of Binaries

Verification of microkernels, device drivers, and crypto routines requir...
research
07/07/2019

Reproducible Execution of POSIX Programs with DiOS

In this paper, we describe DiOS, a lightweight model operating system wh...
research
07/14/2018

Deriving AOC C-Models from D V Languages for Single- or Multi-Threaded Execution Using C or C++

The C language is getting more and more popular as a design and verifica...
research
12/18/2019

Binsec/Rel: Efficient Relational Symbolic Execution for Constant-Time at Binary-Level

The constant-time programming discipline (CT) is an efficient countermea...

Please sign up or login with your details

Forgot password? Click here to reset