Control-flow Flattening Preserves the Constant-Time Policy (Extended Version)

03/12/2020
by   Matteo Busi, et al.
0

Obfuscating compilers protect a software by obscuring its meaning and impeding the reconstruction of its original source code. The typical concern when defining such compilers is their robustness against reverse engineering and the performance of the produced code. Little work has been done in studying whether the security properties of a program are preserved under obfuscation. In this paper we start addressing this problem: we consider control-flow flattening, a popular obfuscation technique used in industrial compilers, and a specific security policy, namely constant-time. We prove that this obfuscation preserves the policy, i.e., that every program satisfying the policy still does after the transformation.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/08/2020

Control Flow Obfuscation for FJ using Continuation Passing

Control flow obfuscation deters software reverse engineering attempts by...
research
03/07/2022

IOLLVM: enhance version of OLLVM

Code obfuscation increases the difficulty of understanding programs, imp...
research
06/21/2021

A Mocktail of Source Code Representations

Efficient representation of source code is essential for various softwar...
research
10/22/2021

ReCFA: Resilient Control-Flow Attestation

Recent IoT applications gradually adapt more complicated end systems wit...
research
03/03/2019

CodeTrolley: Hardware-Assisted Control Flow Obfuscation

Many cybersecurity attacks rely on analyzing a binary executable to find...
research
08/07/2023

Symmetry-Preserving Program Representations for Learning Code Semantics

Large Language Models (LLMs) have shown promise in automated program rea...
research
07/26/2017

Confidentiality enforcement by hybrid control of information flows

An information owner, possessing diverse data sources, might want to off...

Please sign up or login with your details

Forgot password? Click here to reset