Design of asynchronous algorithms for solving the neutron transport equation on massively parallel and heterogeneous architectures

This PhD thesis work aims at designing an efficient solver for the solution to the neutron transport equation in Cartesian and hexagonal geometries for heterogeneous and massively parallel architectures. This goal can be achieved with the design of optimal algorithms with parallel and asynchronous programming models.
The industrial framework for this work is in solving the Boltzmann equation associated to the transportof neutrons in a nuclear reactor core. At present, more and more modern simulation codes employ an upwind discontinuous Galerkin finite element scheme for Cartesian and hexagonal meshes of the required domain.This work extends previous research which have been carried out recently to explore the solving step ondistributed computing architectures which we have not yet tackled in our context. It will require the cou-pling of algorithmic and numerical strategies along with programming model which allows an asynchronousparallelism framework to solve the transport equation efficiently.
This research work will be part of the numerical simulation of nuclear reactors. These multiphysics computations are very expensive as they require time-dependent neutron transport calculations for the severe power excursions for instance. The strategy proposed in this research endeavour will decrease thecomputational burden and time for a given accuracy, and coupled to a massively parallel and asynchronousmodel, may define an efficient neutronic solver for multiphysics applications.
Through this PhD research work, the candidate will be able to apply for research vacancies in highperformance numerical simulation for complex physical problems.

Code-Reuse Attacks : Automated Exploitation and Defense

Software vulnerabilities due to memory management errors are among the easiest to exploit. To prevent an attacker from injecting its own arbitrary code (shellcode), modern systems commonly enforce a Data Execution Prevention (DEP), often implemented as segment permissions (Write xor Execute – W^E).
Yet, Code-Reuse Attacks have emerged to circumvent the DEP protections. Thanks to a memory logic issue, the attacker hijacks the control flow of the target program and chains small code fragments referred to as gadgets to build the desired behavior, through so-called Return-Oriented Programming (ROP) or Jump-Oriented Programming (JOP).
In the past years, several research efforts have explored how to automate the construction of code reuse attacks from basic "on stack" attacks, lowering the barrier to such advanced methods. On the other side, program hardening relies on randomized memory layout (e.g. Address Space Layout Randomization – ASLR), Control Flow Integrity (CFI) or stack protection mechanism (e.g. Shadow Stack) to keep the
attacker in check. Still, some of these protection may be costly (execution time, specialized hardware, etc.).

The general goal of this PhD topic is to improve the state of the art of the automatic exploit generation landscape for the purpose of security assessment of anti-code-reuse protection. We will follow two trend:
(1) on the one hand the candidate will push automated code-reuse automation methods, by taking into account the knowledge of the protection to guide the research to valid exploit only, prospectively cutting-off in the search space, and by looking for synergies between the ROP/JOP chaining and program synthesis methods such as syntax guided synthesis or stochastic synthesis methods;
(2) on the other hand, once the potential of such methods is better understood, the candidate will design effective defense against them, based on a comprehensive analysis of their main strengths and weaknesses.

Top