Confidential VM : Google Cloud veut chiffrer les machines virtuelles en temps réel
Lors de son événement virtuel, Google Cloud n’a pas seulement présenté l’avenir de BigQuery. Le géant américain a également présenté Confidential VM, un service qui permet de conserver le chiffrement des données pendant leur utilisation, grâce à la technologie SEV déployée par AMD au sein des microprocesseurs EPYC.
Pour protéger leurs données, les organisations peuvent en principe compter sur le chiffrement en transit et au repos. Pour cela, les fournisseurs de cloud proposent des services KMS (Key Management Service) et HSM (Hardware Security Module) en plus des solutions spécifiques à leurs infrastructures et produits. Google Cloud s’inscrit dans cette approche avec Cloud KMS et Cloud HSM. Le géant du cloud affirme disposer de multiples mécanismes de cloisonnement pour protéger ses instances et les données de ses clients.
Seulement, ce modèle de chiffrement implique un déchiffrement au moment d’utiliser les données, les exposant à de potentielles attaques ou tentatives d’espionnage. Il y a deux ans, GCP avait présenté Asylo, un framework open source pour concevoir un environnement d’exécution de confiance pour des workloads kubernetes. C’est sur ce même principe, le confidential computing, que repose Confidential VM. D’ailleurs, Google Cloud fait partie de Confidential Computing Consortium (poussé par la Linux Foundation) auprès d’ARM, de Baidu, d’Intel, Red Hat, IBM, Swisscom, Tencent, Alibaba Cloud et Microsoft.
Une protection supplémentaire pour les machines virtuelles propulsées par AMD
Techniquement, Confidential VM utilise la technologie Secure Encryption Virtualization (SEV), disponible au sein des processeurs AMD EPYC deuxième génération, pour protéger le contenu des machines virtuelles en temps réel. « Vos données resteront chiffrées pendant leur utilisation, leur indexation, leur interrogation ou leur entraînement. Les clés de chiffrement sont générées dans le matériel, par VM, et ne sont pas exportables », peut-on lire sur le blog de Google Cloud.
Dans l’idée, GCP veut favoriser le partage de données critiques entre collaborateurs sans affecter leur confidentialité. Pour cela, Confidential VM s’applique aux VMs N2D propulsées par les processeurs AMD. Ces machines virtuelles et la fonctionnalité SEV – activable à l’aide d’une case à cocher –, sont associées au module Vtpm (Virtual Trusted Platform Module), un UEFI et des outils de surveillance compris dans l’offre « VM Protégées ».
En fait, SEV permet de chiffrer l’ensemble de la mémoire des VMs grâce au standard AES 128 octets. À la création d’une machine virtuelle, le sous-système AMD Secure Processor (un processeur ARM Cortex A5) génère une clé non exportable par VM rendant son contenu « inaccessible pour Google ou pour d’autres machines virtuelles », expliquent les responsables de Google dans l’article de blog dédié.
Ces machines virtuelles peuvent contenir des images Ubuntu v18.04, Ubuntu 20.04, Container Optimized OS COSv81 et RHEL 8.2. L’opérateur affirme travailler avec CentOS, Debian et d’autres distributeurs Linux pour compléter son offre.
Une première qui n’en est pas vraiment une
Si Google Cloud a tendance à l’affirmer, il n’est pas le premier à proposer un tel niveau de chiffrement ni le dernier. D’abord SUSE propose d’activer la fonctionnalité SEV sur les machines virtuelles Linux Enterprise Server 12 et 15. VMware, de son côté, s’apprête à proposer le support de SEV avec leur future version de vSphere OS. Chez les fournisseurs de cloud, Microsoft Azure fournit un chiffrement supplémentaire pour les VMs DCsv2 avec la technologie Intel SGX (Software Guard Extensions) qui doit permettre d’isoler des éléments de code et des données spécifiques au sein « d’enclaves » dans la mémoire vive.
En clair, Intel SGX permet de se protéger d’un hyperviseur compromis. De leur côté, Oracle et AWS proposent également des instances équipées de processeurs AMD EPYC de deuxième génération et pourraient en principe proposer l’activation de la fonctionnalité SEV. La filiale cloud de la firme de Jeff Bezos mise aussi sur son hyperviseur Nitro, qui propose une isolation des processus à l’aide de coprocesseurs ARM.
La grande différence entre les deux technologies réside dans le fait qu’AMD ne propose pas une intégrité de la mémoire, ce qui veut dire que si l’hyperviseur est détourné, un attaquant peut potentiellement accéder aux contenus de la mémoire vive. C’est sans doute pour combler cette faille que Google a couplé SEV avec son offre « VM Protégées ».
Toutefois, une étude du département de science de l’informatique de l’université de Houston au Texas tend à prouver qu’AMD SEV impacte moins les performances des machines virtuelles et des applications qu’Intel SGX. Selon les chercheurs, la technologie d’Intel a d’abord été conçue pour protéger de petites applications et des microservices. Enfin SGX a bénéficié de plusieurs mises à jour pour tenter de contrer les failles Spectre et Load Value Injection (LVI).
« Les machines virtuelles Confidential sont disponibles pour tous les clients GCP des régions suivantes : asia-southeast1, europe-west1, europe-west4, us-central1 et le sont également en version bêta pour Google Compute Engine », précise AMD dans un communiqué. Notons que Google Cloud a également présenté la solution Assured Workloads for Government, un service disponible aux États-Unis pour définir puis appliquer automatiquement des règles de sécurité et de confidentialité.