Validation of Abstract Side-Channel Models for Computer Architectures

05/11/2020
by   Hamed Nemati, et al.
0

Observational models make tractable the analysis of information flow properties by providing an abstraction of side channels. We introduce a methodology and a tool, Scam-V, to validate observational models for modern computer architectures. We combine symbolic execution, relational analysis, and different program generation techniques to generate experiments and validate the models. An experiment consists of a randomly generated program together with two inputs that are observationally equivalent according to the model under the test. Validation is done by checking indistinguishability of the two inputs on real hardware by executing the program and analyzing the side channel. We have evaluated our framework by validating models that abstract the data-cache side channel of a Raspberry Pi 3 board with a processor implementing the ARMv8-A architecture. Our results show that Scam-V can identify bugs in the implementation of the models and generate test programs which invalidate the models due to hidden microarchitectural behavior.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/22/2017

Relational Symbolic Execution

Symbolic execution is a classical program analysis technique, widely use...
research
11/04/2019

SpecuSym: Speculative Symbolic Execution for Cache Timing Leak Detection

CPU cache is limited but crucial storage on modern processor whereas the...
research
04/25/2019

Abstract Interpretation under Speculative Execution

Analyzing the behavior of a program running on a processor that supports...
research
07/12/2018

Symbolic Verification of Cache Side-channel Freedom

Cache timing attacks allow third-party observers to retrieve sensitive i...
research
09/28/2017

Ascertaining Uncertainty for Efficient Exact Cache Analysis

Static cache analysis characterizes a program's cache behavior by determ...
research
04/29/2020

TOFU: Target-Oriented FUzzer

Program fuzzing—providing randomly constructed inputs to a computer prog...
research
07/18/2019

Responsibility Analysis by Abstract Interpretation

Given a behavior of interest in the program, statically determining the ...

Please sign up or login with your details

Forgot password? Click here to reset