Thèse en cours

Création d'un framework d'observabilité par introspection pour les machines virtuelles

FR  |  
EN
Auteur / Autrice : Brice Teguia
Direction : Alain Tchana
Type : Projet de thèse
Discipline(s) : Informatique
Date : Inscription en doctorat le 01/03/2023
Etablissement(s) : Université Grenoble Alpes
Ecole(s) doctorale(s) : École doctorale mathématiques, sciences et technologies de l'information, informatique
Partenaire(s) de recherche : Laboratoire : Laboratoire d'Informatique de Grenoble
Equipe de recherche : Efficient and RObust Distributed Systems

Résumé

FR  |  
EN

L'introspection de machine virtuelle est un ensemble de techniques utilisées pour répondre au besoin d'analyse externe des machines virtuelles. Cela peut être nécessaire pour des cas d'usage tels que la détection de malwares, la criminalistique mémoire ou encore le débogage. Cependant, les techniques d'introspection existantes peuvent être invasives et nécessitent d'importantes modifications de l'hyperviseur fournisseur (comme KVM). De plus, elles ne sont pas adaptées aux machines virtuelles actives exécutant des charges de travail réelles, contrairement aux outils d'observabilité internes aux VMs. Cela est dû à la latence induite par les mécanismes d'introspection et/ou les mécanismes de cohérence mémoire implémentés. Le framework implémenté, nommé GoodKit, permet le développement d'observateurs de machines virtuelles réalisant une introspection proche de la cible. Un observateur est une machine virtuelle qui partage le même moniteur de machines virtuelles (par exemple Firecracker) que sa cible. La colocalisation des VMs permet de configurer un observateur comme une Side-VM avec un mappage direct et en temps réel de la mémoire de la cible dans l'espace mémoire de l'observateur, offrant ainsi un accès natif à la mémoire de la cible. L'ensemble des mécanismes d'observabilité est contenu dans le VMM, donc dans l'espace utilisateur, et n'est pas étendu au domaine fournisseur, c'est-à-dire à l'hyperviseur. Le framework GoodKit permet aux locataires du cloud de construire des Side-VMs (observateurs) pour leurs machines principales et leurs charges de travail, et aux fournisseurs de cloud d'effectuer des opérations de gestion d'infrastructure telles que la surallocation mémoire de manière sécurisée et sans compromettre la confidentialité des VMs des locataires.