scispace - formally typeset
Open AccessProceedings ArticleDOI

Tailored source code transformations to synthesize computationally diverse program variants

Reads0
Chats0
TLDR
This work addresses two objectives: comparing dierent transformations for increasing the likelihood of sosie synthe- sis (densifying the search space for sosies); demonstrating computation diversity in synthesized sosying.
Abstract
The predictability of program execution provides attackers a rich source of knowledge who can exploit it to spy or remotely control the program. Moving target defense ad- dresses this issue by constantly switching between many di- verse variants of a program, which reduces the certainty that an attacker can have about the program execution. The ef- fectiveness of this approach relies on the availability of a large number of software variants that exhibit dierent ex- ecutions. However, current approaches rely on the natural diversity provided by o-the-shelf components, which is very limited. In this paper, we explore the automatic synthe- sis of large sets of program variants, called sosies. Sosies provide the same expected functionality as the original pro- gram, while exhibiting dierent executions. They are said to be computationally diverse. This work addresses two objectives: comparing dierent transformations for increasing the likelihood of sosie synthe- sis (densifying the search space for sosies); demonstrating computation diversity in synthesized sosies. We synthesized 30 184 sosies in total, for 9 large, real-world, open source ap- plications. For all these programs we identied one type of program analysis that systematically increases the density of sosies; we measured computation diversity for sosies of 3 programs and found diversity in method calls or data in more than 40% of sosies. This is a step towards controlled massive unpredictability of software.

read more

Citations
More filters
Book ChapterDOI

Mutation Testing Advances: An Analysis and Survey

TL;DR: This chapter presents a survey of recent advances, over the past decade, related to the fundamental problems of mutation testing and sets out the challenges and open problems for the future development of the method.
Proceedings ArticleDOI

FaCoY: a code-to-code search engine

TL;DR: FaCoY is proposed, a novel approach for statically finding code fragments which may be semantically similar to user input code which is more effective than online code-to-code search engines and can be useful in code/patch recommendation.
Journal ArticleDOI

The Multiple Facets of Software Diversity: Recent Developments in Year 2000 and Beyond

TL;DR: This survey includes classical work about design and data diversity for fault tolerance, as well as the cybersecurity literature that investigates randomization at different system levels, with an emphasis on the most recent advances in the field.
Journal ArticleDOI

Diversification and Obfuscation Techniques for Software Security: a Systematic Literature Review

TL;DR: It is pinpointed that there are still various execution environments that could benefit from these two techniques, including cloud computing, Internet of Things (IoT), and trusted computing.
References
More filters
Journal ArticleDOI

Hints on Test Data Selection: Help for the Practicing Programmer

TL;DR: In many cases tests of a program that uncover simple errors are also effective in uncovering much more complex errors, so-called coupling effect can be used to save work during the testing process.
Proceedings ArticleDOI

A sense of self for Unix processes

TL;DR: A method for anomaly detection is introduced in which "normal" is defined by short-range correlations in a process' system calls, and initial experiments suggest that the definition is stable during normal behaviour for standard UNIX programs.
Journal ArticleDOI

Motivation of software developers in Open Source projects: an Internet-based survey of contributors to the Linux kernel

TL;DR: The motives of 141 contributors to a large Open Source Software project (the Linux kernel) was explored with an Internet-based questionnaire study and activities in these teams were particularly determined by participants’ evaluation of the team goals as well as by their perceived indispensability and self-efficacy.
Proceedings ArticleDOI

On the effectiveness of address-space randomization

TL;DR: Aderandomization attack is demonstrated that will convert any standard buffer-overflow exploit into an exploit that works against systems protected by address-space randomization, and it is concluded that, on 32-bit architectures, the only benefit of PaX-like address- space randomization is a small slowdown in worm propagation speed.
Journal ArticleDOI

GenProg: A Generic Method for Automatic Software Repair

TL;DR: This paper describes GenProg, an automated method for repairing defects in off-the-shelf, legacy programs without formal specifications, program annotations, or special coding practices, and analyzes the generated repairs qualitatively and quantitatively to demonstrate the process efficiently produces evolved programs that repair the defect.
Related Papers (5)