International audienceA common security recommendation is to reduce the in-memory lifetime of secret values, in order to reduce the risk that an attacker can obtain secret data by probing memory. To mitigate this risk, secret values can be overwritten, at source level, after their last use. The problem we address here is how to ensure that a compiler preserve these mitigation efforts and thus that secret values are not easier to obtain at assembly level than at source level. We propose a formal definition of Information Flow Preserving program Transformations in which we model the information leak of a program using the notion of Attacker Knowledge. Program transformations are validated by relating the knowledge of the attacker before and a...
As the title suggests, this thesis consists of two parts that address two rather different topics. T...
Sensitive information is a crucial asset for both individuals and companies. Since it is processed i...
Proving secure compilation of partial programs typically requires back-translating an attack against...
International audienceA common security recommendation is to reduce the in-memory lifetime of secret...
It is common to prove by reasoning over source code that programs do not leak sensitive data. But do...
Software is pervasive in our daily lives and we rely on it for many critical tasks. Despite the abun...
We enforce information flow policies in programs that run at mul-tiple locations, with diverse level...
Our society has been growingly dependent on computer systems and this tendency will not slow down in...
Compilers are at the foundation of software security. On the one hand, compilers are an ideal place ...
Obfuscating compilers protect a software by obscuring its meaning and impeding the reconstruction of...
International audienceSecure compilation is a discipline aimed at developing compilers that preserve...
In this work, we present several compiler optimizations to reduce the overhead due to software prote...
Obfuscating compilers protect a software by obscuring its meaning and impeding the reconstruction...
Abstract—There is a significant body of work devoted to testing, verifying, and certifying the corre...
Modern-day imperative programming languages such as C++, C# and Java offer protection facilities suc...
As the title suggests, this thesis consists of two parts that address two rather different topics. T...
Sensitive information is a crucial asset for both individuals and companies. Since it is processed i...
Proving secure compilation of partial programs typically requires back-translating an attack against...
International audienceA common security recommendation is to reduce the in-memory lifetime of secret...
It is common to prove by reasoning over source code that programs do not leak sensitive data. But do...
Software is pervasive in our daily lives and we rely on it for many critical tasks. Despite the abun...
We enforce information flow policies in programs that run at mul-tiple locations, with diverse level...
Our society has been growingly dependent on computer systems and this tendency will not slow down in...
Compilers are at the foundation of software security. On the one hand, compilers are an ideal place ...
Obfuscating compilers protect a software by obscuring its meaning and impeding the reconstruction of...
International audienceSecure compilation is a discipline aimed at developing compilers that preserve...
In this work, we present several compiler optimizations to reduce the overhead due to software prote...
Obfuscating compilers protect a software by obscuring its meaning and impeding the reconstruction...
Abstract—There is a significant body of work devoted to testing, verifying, and certifying the corre...
Modern-day imperative programming languages such as C++, C# and Java offer protection facilities suc...
As the title suggests, this thesis consists of two parts that address two rather different topics. T...
Sensitive information is a crucial asset for both individuals and companies. Since it is processed i...
Proving secure compilation of partial programs typically requires back-translating an attack against...