paper-with-me

Papers

Constraint-Based Software Diversification for Efficient Mitigation of Code-Reuse Attacks

2020-07-17 · Rodothea Myrsini Tsoupidi, Roberto Castañeda Lozano, Benoit Baudry

Modern software deployment process produces software that is uniform, and hence vulnerable to large-scale code-reuse attacks. Compiler-based diversification improves the resilience and security of software systems by automatically generating different assembly code versions of a given program. Existing techniques are efficient but do not have a precise control over the quality of the generated code variants. This paper introduces Diversity by Construction (DivCon), a constraint-based compiler approach to software diversification. Unlike previous approaches, DivCon allows users to control and adjust the conflicting goals of diversity and code quality. A key enabler is the use of Large Neighborhood Search (LNS) to generate highly diverse assembly code efficiently. Experiments using two popular compiler benchmark suites confirm that there is a trade-off between quality of each assembly code version and diversity of the entire pool of versions. Our results show that DivCon allows users to trade between these two properties by generating diverse assembly code for a range of quality bounds. In particular, the experiments show that DivCon is able to mitigate code-reuse attacks effectively while delivering near-optimal code (< 10% optimality gap). For constraint programming researchers and practitioners, this paper demonstrates that LNS is a valuable technique for finding diverse solutions. For security researchers and software engineers, DivCon extends the scope of compiler-based diversification to performance-critical and resource-constrained applications.

📄 PDF Abstract BibTeX arXiv:2007.08955

Code (0)

등록된 구현이 없습니다.

Tasks

Diversity

Similar Papers 제목 키워드 기반

Constraint-based Diversification of JOP Gadgets

2021-11-18 · Rodothea Myrsini Tsoupidi, Roberto Castañeda Lozano, Benoit Baudry

Modern software deployment process produces software that is uniform and hence vulnerable to large-scale code-reuse attacks, such as Jump-Oriented Programming (JOP) attacks. Compiler-based diversification improves the re…

Diversity

Securing Optimized Code Against Power Side Channels

2022-07-06 · Rodothea Myrsini Tsoupidi, Roberto Castañeda Lozano, Elena Troubitsyna, Panagiotis Papadimitratos

Side-channel attacks impose a serious threat to cryptographic algorithms, including widely employed ones, such as AES and RSA. These attacks take advantage of the algorithm implementation in hardware or software to extra…

Code GenerationCompiler Optimization

Clone-Seeker: Effective Code Clone Search Using Annotations

2021-06-06 · Muhammad Hammad, Önder Babur, Hamid Abdul Basit, Mark van den Brand

Source code search plays an important role in software development, e.g. for exploratory development or opportunistic reuse of existing code from a code base. Often, exploration of different implementations with the same…

Code SearchNatural Language Queries

Software Reuse in the Generative AI Era: From Cargo Cult Towards AI Native Software Engineering

2025-06-22 · Tommi Mikkonen, Antero Taivalsaari

Software development is currently under a paradigm shift in which artificial intelligence and generative software reuse are taking the center stage in software creation. Consequently, earlier software reuse practices and…

A Library for Constraint Consistent Learning

2018-07-12 · Yuchen Zhao, Jeevan Manavalan, Prabhakar Ray, Hsiu-Chin Lin 외

This paper introduces the first, open source software library for Constraint Consistent Learning (CCL). It implements a family of data-driven methods that are capable of (i) learning state-independent and -dependent cons…