Specifying Imperative Data Obfuscations

نویسندگان

  • Stephen Drape
  • Clark D. Thomborson
  • Anirban Majumdar
چکیده

An obfuscation aims to transform a program, without affecting the functionality, so that some secret information within the program can be hidden for as long as possible from an adversary. Proving that an obfuscating transform is correct (i.e. it preserves functionality) is considered to be a challenging task. In this paper we show how data refinement can be used to specify imperative data obfuscations. An advantage of this approach is that we can establish a framework in which we can prove the correctness of our obfuscations. We demonstrate our framework by considering some examples from obfuscation literature. We show how to specify these obfuscations, prove that they are correct and produce generalisations.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Obfuscation of abstract data-types

An obfuscation is a behaviour-preserving program transformation whose aim is to make a program “harder to understand”. Obfuscations are applied to make reverse engineering of a program more difficult. Two concerns about an obfuscation are whether it preserves behaviour (i.e. it is correct) and the degree to which it maintains efficiency. Obfuscations are applied mainly to objectoriented program...

متن کامل

Generalising the array split obfuscation

An obfuscation is a behaviour-preserving program transformation whose aim is to make a program “harder to understand”. Obfuscations are mainly applied to make reverse engineering of object-oriented programs more difficult. In this paper, we propose a fresh approach by obfuscating abstract data-types allowing us to develop structuredependent obfuscations that would otherwise (traditionally) not ...

متن کامل

Hierarchical Concurrency in JadeDaniel

Jade is a data-oriented language for parallelizing programs written in a serial, imperative programming language such as C, FORTRAN, or C++. A Jade programmer simply augments the program with assertions specifying how the program accesses data. The Jade implementation dynamically interprets these assertions to execute the program concurrently while enforcing the program's data dependence constr...

متن کامل

Computer Science Group THE USE OF MATRICES IN OBFUSCATION

There are many programming situations where it would be convenient to conceal the meaning of code, or the meaning of certain variables. This can be achieved through program transformations which are grouped under the term obfuscation. This paper presents obfuscation methods for the purpose of concealing the meaning of matrices by changing the pattern of the elements. We give two separate method...

متن کامل

A Goal-Oriented Approach to Software Obfuscation

Various software obfuscation techniques have been proposed. However, there are few discussions on proper use of these obfuscations against imaginable threats. An ad-hoc use of obfuscations cannot guarantee that a program is sufficiently protected. For a systematic use of obfuscations and the verification of the result, this paper proposes a goal oriented approach to obfuscation. Specifically, w...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007