Exploring the potential of modern hardware-assisted security and networking technologies - Vaucher, Sébastien (Neuchâtel, 2023)
De plus en plus d’entreprises migrent progressivement leurs charges de travail informatiques vers le cloud afin de répondre à leurs besoins croissants en ressources informatiques tout en simplifiant leurs opérations quotidiennes. Transférer la responsabilité de l’infrastructure à un tiers peut poser des problèmes de confidentialité et de sécurité en raison de la perte de contrôle par rapport aux données. Concurremment, les opérateurs de services cloud doivent faire face à un trafic réseau en constante augmentation. Les nouvelles technologies d’accélération matérielle, telles que les environnements d’exécution de confiance (TEE) et les commutateurs programmables au niveau du plan de données, représentent des innovations prometteuses. La première permet de décharger des calculs concernant des données sensibles vers un tiers auquel on ne fait pas confiance tout en préservant la confidentialité des données. Les commutateurs programmables représentent quand à eux une avancée dans le domaine des appareils de mise en réseau, permettant une programmabilité complète sans pour autant compromettre la performance. Dans cette thèse, nous étudions comment ces deux technologies d’accélération matérielle peuvent aider à résoudre des problèmes contemporains. Nous présentons plusieurs nouveaux systèmes afin de montrer que l’accélération matérielle permet non seulement d’exécuter des tâches existantes plus efficacement, mais aussi qu’elle permet de créer des solutions complètement nouvelles. Nous commençons par évaluer les performances de quelques TEE commerciaux, en partie en construisant nos propres outils. Nous constatons que les garanties de sécurité supérieures offertes par la technologie Software Guard Extensions (SGX) d’Intel par rapport à la technologie Secure Encrypted Virtualization (SEV) d’AMD conduisent à des performances généralement inférieures, mais qu’une utilisation intelligente de la technologie permet d’éviter ces surcoûts. Néanmoins, nous découvrons que les performances d’un TEE en particulier peuvent changer au fil du temps, à mesure que les correctifs de sécurité sont publiés par son fournisseur. Comme Intel SGX 1 possède des limites importantes quant à l’utilisation mémoire, nous concevons et développons un orchestrateur qui permet de déployer efficacement des charges de travail SGX conteneurisées de manière répartie, tout en intégrant les charges de travail et serveurs existants (sans SGX). Par la suite, nous résolvons un problème fréquent, à savoir comment partager des données au sein d’un groupe tout en préservant la confidentialité. Nous concevons et développons un système élastique hébergé dans le cloud dont la performance surpasse l’état de l’art de trois ordres de grandeur, grâce à une réduction de la complexité d’un algorithme cryptographique permise par les garanties de sécurité que SGX fournit. Ensuite, nous montrons qu’avoir SGX sur les machines clientes permet d’y décharger des charges de travail traditionnellement effectuées par des appareils réseau dédiés. Grâce à cet arrangement non conventionnel, les ressources inutilisées des machines clientes peuvent aider les grands opérateurs de réseau à faire face à l’utilisation accrue du réseau. Notre prototype passe à l’échelle de façon linéaire en fonction du nombre de clients, atteignant un débit jusqu’à 3.8× supérieur à celui d’un appareil réseau centralisé similaire. Toujours dans le but de trouver des solutions permettant de faire face à l’augmentation constante du trafic réseau, nous montrons que la technique de dé-duplication généralisée (GD) peut être utilisée comme algorithme de compression. Grâce à son utilisation restreinte en termes de ressources et à son exécution en temps constant, nous pouvons implémenter un prototype intégré à un commutateur programmable. Nous pouvons donc compresser et décompresser de manière transparente les paquets réseau au sein même du réseau, sans matériel supplémentaire et sans perte de performance. Notre prototype parvient à réduire la taille d’une trace de données provenant du monde réel de près de 90 %. Enfin, nous proposons de désagréger la mémoire de travail non-volatile (NVMM) dans le réseau, conformément à la tendance contemporaine d’hyper-convergence. La polyvalence et la position des commutateurs programmables dans le réseau nous permettent de développer un prototype qui intercepte et modifie de manière transparente les accès directs à la mémoire distante (RDMA) entre les clients et les serveurs NVMM. Nous tirons parti de la présence de registres dans le commutateur programmable pour implémenter un mécanisme d’entrelacement et de mise en miroir des données qui permet d’accéder à la NVMM plus rapidement qu’en mode natif tout en augmentant la fiabilité.

Companies progressively migrate their computing workloads to the cloud to cope with growing computing needs and simplify their day-to-day operations. On the tenants’ side, offloading computations to a third-party can pose privacy and security issues due to the loss of control over the data. At the same time, cloud operators need to cope with ever-increasing amounts of network traffic. New hardware-assisted technologies such as trusted execution environments (TEEs) and data plane-programmable switches represent promising innovations. The former allows to offload computations on sensitive data to an untrusted third-party in a privacy-preserving way. Programmable switches similarly represent a breakthrough in hardware networking appliances, enabling full programmability with hardly any performance trade-offs. In this thesis, we investigate how these hardware-assisted technologies can help solve contemporary problems. We present various new systems to show that hardware-assisted mechanisms not only allow to perform existing tasks more efficiently, but also that completely new solutions are made possible. First, we evaluate the performance of a couple of commercial TEEs, in part by using tools that we build. We find out that the superior security guarantees offered by Intel Software Guard Extensions (SGX) compared to AMD Secure Encrypted Virtualization (SEV) lead to usually worse performance, but that clever use of the technology can avoid those overheads. Nonetheless, we discover that the performance of a particular TEE can change over time as security fixes and mitigations are released by its vendor. As Intel SGX 1 is rather limited in regards to memory usage, we design and develop an orchestrator that allows to efficiently deploy distributed containerized SGX workloads, while equally supporting legacy workloads and servers (without SGX). Thereupon, we solve a common problem which is how to share data among a group in a privacy-preserving way. We design and develop a scalable cloud-hosted system that improves upon the state-of-the-art by three orders of magnitude, thanks to a reduction in complexity of a cryptographic algorithm permitted by the security guarantees given by SGX. Subsequently, we show that having SGX on client machines allows to offload workloads traditionally performed by dedicated network appliances to clients. With this unconventional arrangement, unused client resources can help large network operators in coping with increased network usage. Our prototype scales linearly with the number of clients, achieving up to 3.8× higher throughput than a similar centralized network appliance. In keeping with finding solutions to cope with the ever increasing amount of network traffic, we show that the generalized deduplication (GD) technique can be used as a compression algorithm. Thanks to its limited use of resources and constant-time execution, we can implement a prototype on top of a programmable switch. We can hence transparently compress and decompress network packets within the network itself, without any additional pieces of hardware, and with no performance penalties. Our prototype manages to reduce the size of a real-world data trace by 90 %. Finally, we perform in-network disaggregation of non-volatile main memory (NVMM), in line with the contemporary trend of hyperconvergence. The versatility and location of programmable switches within the network allow us to develop a prototype that transparently intercepts and modifies remote direct memory access (RDMA) connections between clients and NVMM servers. Using the stateful capabilities of the programmable switch, we implement a data striping and mirroring mechanism that provides faster-than-native accesses to NVMM while increasing reliability.
Doctorat, Université de Neuchâtel, Computer science department
Keywords: Environnements d’exécution de confiance; Commutateurs programmables au niveau du plan de données; Orchestration de conteneurs; Sécurité des réseaux; Protocoles réseau; Trusted execution environments; Data-plane programmable switches; Container orchestration; Network security; Network protocols