Constraint-based Diversification of JOP Gadgets
- URL: http://arxiv.org/abs/2111.09934v1
- Date: Thu, 18 Nov 2021 20:13:07 GMT
- Title: Constraint-based Diversification of JOP Gadgets
- Abstract summary: This paper introduces Diversity by Construction (DivCon), a constraint-based approach to software diversification.
A key enabler is the use of Large Neighborhood Search (LNS) to generate highly diverse code efficiently.
For security researchers and software engineers, DivCon extends the scope of compiler-based diversification to performance-critical and resource-constrained applications.
- Score: 4.836505845931204
- License: http://creativecommons.org/licenses/by-nc-sa/4.0/
- Abstract: 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
resilience 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 variants. This paper
introduces Diversity by Construction (DivCon), a constraint-based 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 code efficiently. For larger problems, we propose a combination of LNS
with a structural decomposition of the problem. To further improve the
diversification efficiency of DivCon against JOP attacks, we propose an
application-specific distance measure tailored to the characteristics of JOP
attacks. We evaluate DivCon with 20 functions from a popular benchmark suite
for embedded systems. These experiments show that the combination of LNS and
our application-specific distance measure generates binary programs that are
highly resilient against JOP attacks. Our results confirm that there is a
trade-off between the quality of each assembly code version and the diversity
of the entire pool of versions. In particular, the experiments show that DivCon
generates near-optimal binary programs that share a small number of gadgets.
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.
Related papers
- Effectiveness of LLM-based Software Diversity for Reliability Improvement -- an Empirical Study [2.6342357827983]
Traditional software diversity is costly to obtain, since it requires multiple implementations as well as the corresponding validation, maintenance, and deployment effort.<n>Recent advances in Large Language Models (LLMs) may change this.<n>LLMs produce many candidate implementations of the same specification quickly, across different models, decoding settings, and programming languages.
arXiv Detail & Related papers (2026-07-03T10:13:59Z) - Multi-objective Integer Linear Programming approach for Automatic Software Cognitive Complexity Reduction [1.6799377888527687]
We propose a multi-objective linear programming model to obtain a set of solutions that reduce the cognitive complexity of a given piece of code.<n>Several algorithms have been developed to validate the model.<n>These algorithms have been integrated into a tool that enables the parameterised resolution of the problem of reducing software cognitive complexity.
arXiv Detail & Related papers (2026-01-29T11:28:54Z) - LLM4CMO: Large Language Model-aided Algorithm Design for Constrained Multiobjective Optimization [54.35609820607923]
Large language models (LLMs) offer new opportunities for assisting with algorithm design.<n>We propose LLM4CMO, a novel CMOEA based on a dual-population, two-stage framework.<n>LLMs can serve as efficient co-designers in the development of complex evolutionary optimization algorithms.
arXiv Detail & Related papers (2025-08-16T02:00:57Z) - The Software Landscape for the Density Matrix Renormalization Group [0.7165255458140439]
The density matrix renormalization group (DMRG) algorithm is a cornerstone computational method for studying quantum many-body systems.<n>Despite its broad applicability across fields such as materials science, quantum chemistry, and quantum computing, numerous independent implementations have been developed.<n>This survey maps the rapidly expanding DMRG software landscape, providing a comprehensive comparison of features among 35 existing packages.
arXiv Detail & Related papers (2025-06-14T21:12:16Z) - Training Language Models to Generate Quality Code with Program Analysis Feedback [66.0854002147103]
Code generation with large language models (LLMs) is increasingly adopted in production but fails to ensure code quality.<n>We propose REAL, a reinforcement learning framework that incentivizes LLMs to generate production-quality code.
arXiv Detail & Related papers (2025-05-28T17:57:47Z) - Collab: Controlled Decoding using Mixture of Agents for LLM Alignment [90.6117569025754]
Reinforcement learning from human feedback has emerged as an effective technique to align Large Language models.
Controlled Decoding provides a mechanism for aligning a model at inference time without retraining.
We propose a mixture of agent-based decoding strategies leveraging the existing off-the-shelf aligned LLM policies.
arXiv Detail & Related papers (2025-03-27T17:34:25Z) - Large Language Models-Aided Program Debloating [5.011290848820237]
LEADER is a program debloating framework enhanced by Large Language Models (LLMs)
It balances functionality and security by preserving essential features and enhancing security by reducing security issues.
Results demonstrate that LEADER surpasses the state-of-the-art tool CovA in functionality and security.
arXiv Detail & Related papers (2025-03-12T00:30:51Z) - CodeDPO: Aligning Code Models with Self Generated and Verified Source Code [52.70310361822519]
We propose CodeDPO, a framework that integrates preference learning into code generation to improve two key code preference factors: code correctness and efficiency.
CodeDPO employs a novel dataset construction method, utilizing a self-generation-and-validation mechanism that simultaneously generates and evaluates code and test cases.
arXiv Detail & Related papers (2024-10-08T01:36:15Z) - GNBG: A Generalized and Configurable Benchmark Generator for Continuous
Numerical Optimization [5.635586285644365]
It is crucial to use a benchmark test suite that encompasses a diverse range of problem instances with various characteristics.
Traditional benchmark suites often consist of numerous fixed test functions, making it challenging to align these with specific research objectives.
This paper introduces the Generalized Numerical Benchmark Generator (GNBG) for single-objective, box-constrained, continuous numerical optimization.
arXiv Detail & Related papers (2023-12-12T09:04:34Z) - MAgIC: Investigation of Large Language Model Powered Multi-Agent in
Cognition, Adaptability, Rationality and Collaboration [102.41118020705876]
Large Language Models (LLMs) have marked a significant advancement in the field of natural language processing.
As their applications extend into multi-agent environments, a need has arisen for a comprehensive evaluation framework.
This work introduces a novel benchmarking framework specifically tailored to assess LLMs within multi-agent settings.
arXiv Detail & Related papers (2023-11-14T21:46:27Z) - CONCORD: Clone-aware Contrastive Learning for Source Code [64.51161487524436]
Self-supervised pre-training has gained traction for learning generic code representations valuable for many downstream SE tasks.
We argue that it is also essential to factor in how developers code day-to-day for general-purpose representation learning.
In particular, we propose CONCORD, a self-supervised, contrastive learning strategy to place benign clones closer in the representation space while moving deviants further apart.
arXiv Detail & Related papers (2023-06-05T20:39:08Z) - Execution-based Code Generation using Deep Reinforcement Learning [8.085533911328577]
PPOCoder is a new framework for code generation that combines pre-trained PL models with Proximal Policy Optimization.
PPOCoder seamlessly integrates external code-specific knowledge into the model optimization process.
It's important to note that PPOCoder is a task-agnostic and model-agnostic framework that can be used across different code generation tasks and PLs.
arXiv Detail & Related papers (2023-01-31T18:02:26Z) - Multi-Agent Reinforcement Learning for Microprocessor Design Space
Exploration [71.95914457415624]
Microprocessor architects are increasingly resorting to domain-specific customization in the quest for high-performance and energy-efficiency.
We propose an alternative formulation that leverages Multi-Agent RL (MARL) to tackle this problem.
Our evaluation shows that the MARL formulation consistently outperforms single-agent RL baselines.
arXiv Detail & Related papers (2022-11-29T17:10:24Z) - Multi-Objective GFlowNets [59.16787189214784]
We study the problem of generating diverse candidates in the context of Multi-Objective Optimization.
In many applications of machine learning such as drug discovery and material design, the goal is to generate candidates which simultaneously optimize a set of potentially conflicting objectives.
We propose Multi-Objective GFlowNets (MOGFNs), a novel method for generating diverse optimal solutions, based on GFlowNets.
arXiv Detail & Related papers (2022-10-23T16:15:36Z) - String-based Molecule Generation via Multi-decoder VAE [56.465033997245776]
We investigate the problem of string-based molecular generation via variational autoencoders (VAEs)
We propose a simple, yet effective idea to improve the performance of VAE for the task.
In our experiments, the proposed VAE model particularly performs well for generating a sample from out-of-domain distribution.
arXiv Detail & Related papers (2022-08-23T03:56:30Z) - Securing Optimized Code Against Power Side Channels [1.589424114251205]
Security engineers often sacrifice code efficiency by turning off compiler optimization and/or performing local, post-compilation transformations.
This paper proposes SecConCG, a constraint-based compiler approach that generates optimized yet secure code.
arXiv Detail & Related papers (2022-07-06T12:06:28Z) - Constraint-Based Software Diversification for Efficient Mitigation of
Code-Reuse Attacks [3.105247002588354]
This paper introduces Diversity by Construction (DivCon), a constraint-based compiler approach to software diversification.
A key enabler is the use of Large Neighborhood Search (LNS) to generate highly diverse assembly code efficiently.
Experiments show that DivCon is able to mitigate code-reuse attacks effectively while delivering near-optimal code.
arXiv Detail & Related papers (2020-07-17T13:01:44Z) - Many-Objective Software Remodularization using NSGA-III [17.487053547108516]
We propose a novel many-objective search-based approach using NSGA-III.
The process aims at finding the optimal remodularization solutions that improve the structure of packages, minimize the number of changes, preserve semantics coherence, and re-use the history of changes.
arXiv Detail & Related papers (2020-05-13T18:34:15Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.