Optimizing Property-Preserving Compilation - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2021

Optimizing Property-Preserving Compilation

Préservation des propriétés dans un flot de compilation optimisant

Résumé

In order to ensure security guarantees of binary applications, program analyses and verifications have to be performed at the binary level. These analyses and verifications require various security or functional properties about the program being analyzed. It is thus necessary to propagate these properties,usually expressed in the source level, down to binary code. However, preserving these properties throughout the optimizing compilation flow is hard due to code optimizations which reorder computations or eliminate unused variables. This thesis presents different approaches to preserve and propagate program properties throughout the optimizing compilation flow with minimal changes to individual transformation passes. In the implementations in LLVM, properties are emitted into executable binaries as DWARF debug information, which can next beused by binary analysis tools. Our mechanisms can be applied to address the problem of preserving security protections inserted at the source level, compiled with optimizations enabled.
Afin d’assurer des garanties sécuritaires des applications binaires, des analyses et vérifications doivent avoir lieu au niveau binaire. Ces analyses et vérifications nécessitent des propriétés de sécurité ou fonctionnelles des applications. Il est donc nécessaire de transporter et transposer ces propriétés portant sur le code source au niveau du code compilé. La préservation de propriétés tout au long du flot de compilation est un problème difficile à cause des optimisations qui réorganisent les calculs ou éliminent les variables inutiles. Cette thèse présente des approches permettant de propager et préserver des propriétés tout au long d’un flot de compilation optimisant sans modifier les passes d’optimisation du compilateur. Dans l’implémentation dans LLVM, les propriétés sont émises dans le code binaire sous forme d’information de débug DWARF permettant leur utilisation par des outils d’analyse binaire. Les mécanismes proposés peuvent être utilisés pour préserver des protections insérées dans le code source tout en activant les optimisations du compilateur.
Fichier principal
Vignette du fichier
VU_Son_Tuan_2021.pdf (883.4 Ko) Télécharger le fichier
Origine : Version validée par le jury (STAR)

Dates et versions

tel-03722753 , version 1 (13-07-2022)

Identifiants

  • HAL Id : tel-03722753 , version 1

Citer

Son Tuan Vu. Optimizing Property-Preserving Compilation. Computer Arithmetic. Sorbonne Université, 2021. English. ⟨NNT : 2021SORUS435⟩. ⟨tel-03722753⟩
103 Consultations
238 Téléchargements

Partager

Gmail Facebook X LinkedIn More