Hardware security for just-in-time compilation in language virtual machines - Laboratoire des sciences et techniques de l'information, de la communication et de la connaissance, site de l'UBO
Theses Year : 2024

Hardware security for just-in-time compilation in language virtual machines

Sécurisation matérielle de la compilation à la volée des machines virtuelles langage

Quentin Ducasse
  • Function : Author
  • PersonId : 1413334
  • IdRef : 280001134

Abstract

Language Virtual Machines (VMs) are the run-time environment of popular high level managed languages. They offer portability and memory handling for the developer and are deployed on most computing devices. Their widespread distribution, handling of untrusted user inputs, and low-level task execution make them interesting to attackers. Software-only solutions that isolate their different components often incur a high performance overhead incompatible with just-in-time (JIT) compilation. Hardware-accelerated run time protections are pushed in vendor processors as a solution to conciliate strong security guarantees with performance. To allow experimentation in the design and comparison of such solutions, this thesis is interested in the RISC-V instruction set and its extension capabilities. We present Gigue, a workload generator that outputs binaries similar to JIT code directly executable on RISC-V softcores. It provides an interface for custom instructions and guarantees their execution. We present an instruction-level domain isolation solution added to Gigue binaries and implemented in an application-class processor with processor modifications. The solution adds negligible performance overhead while enforcing strong properties on domains. As an effort to motivate deployment in real use cases, we extend the Pharo JIT compiler to the RISC-V instruction set along with its testing infrastructure.
Les machines virtuelles langage (VM) sont l’environnement d’exécution des langages de haut niveau les plus répandus. Elles permettent une portabilité du code applicatif et la gestion automatique de la mémoire. Leur large diffusion couplée à l’exécution de tâches de bas niveau les rendent intéressantes pour les attaquants. Les solutions purement logicielles entraînent souvent une perte de performance incompatible avec la compilation just-in-time (JIT). Des solutions accélérées matériellement sont ajoutées dans des processeurs commerciaux pour concilier des garanties de sécurité fortes avec la performance. Pour comparer ces solutions, cette thèse s’intéresse au jeu d’instructions RISC-V et à ses capacités d’extension. Nous présentons Gigue, un générateur de binaires similaires au code JIT directement exécutables sur les softcores RISC-V. Il fournit une interface pour des instructions personnalisées et garantit leur exécution. Nous présentons une solution d’isolation de domaine au niveau des instructions ajoutée aux binaires de Gigue et déployée dans un processeur avec des modifications minimales. La solution ajoute un surcoût de performance négligeable tout en garantissant des propriétés fortes sur les domaines. Afin de motiver le déploiement dans des cas d’utilisation réels, nous étendons le compilateur JIT Pharo au jeu d’instructions RISC-V, ainsi que son infrastructure de test.
Fichier principal
Vignette du fichier
2024DucasseQuentin.pdf (6.13 Mo) Télécharger le fichier
Origin Version validated by the jury (STAR)

Dates and versions

tel-04690882 , version 1 (06-09-2024)

Identifiers

  • HAL Id : tel-04690882 , version 1

Cite

Quentin Ducasse. Hardware security for just-in-time compilation in language virtual machines. Computer science. ENSTA Bretagne - École nationale supérieure de techniques avancées Bretagne, 2024. English. ⟨NNT : 2024ENTA0003⟩. ⟨tel-04690882⟩
48 View
6 Download

Share

More