Google Cloud a pris des mesures importantes pour sécuriser les données clients et prévenir les accès potentiellement non autorisés à des workloads sensibles. Afin de répondre à cet impératif ainsi qu'aux exigences de conformité requises en particulier dans les secteurs hautement régulés ainsi que les institutions gouvernementales et leurs sous-traitants, le géant américain a levé le rideau sur Confidental VM et Assured Workloads for Governement. Beaucoup de solutions sont disponibles pour chiffrer les données stockées dans des bases ou transitant sur Internet entre des serveurs et des clients. Cependant, le plus gros défi de sécurité est de protéger l'information pendant qu'elle est traitée au niveau applicatif en mémoire système. Cela a toujours été un problème difficile à résoudre parce que les applications ont besoin de déchiffrer les données en mémoire avant de traiter les opérations, rendant difficile à ce stade de se prémunir d'une tierce partie non autorisée d'avoir un contrôle sur l'OS ou une autre application. Un trou dans la raquette dans lequel se jette les malwares spécialisés dans le vol d'information bancaires via du RAM-scraping visant les terminaux points de vente.
Pour se prémunir de ces risques, un moyen existe comme le chiffrement des données en mémoire des fabricants de processeurs qui ont inclus des circuits de sécurité dédiés dans leurs jeux de composants. Connus en tant qu'environnements d'exécution de confiance (TEE), ils peuvent être utilisés comme des enclaves sécurisées grâce à leur mémoire allouée qui est isolée de celle de l'OS principal. Les CPU ARM sont proposées avec TrustZone, ceux d'Intel avec SGX (software guard extensions), et les modèles AMD embarquent la technologie SEV (secure encrypted virtualization).
Chiffrer la mémoire entière des machines virtuelles cloud
Pour apporter une couche de sécurité supplémentaire, Google Cloud a annoncé Confidential VM, dans un premier temps disponible en beta et premier produit de se dernière gamme Confidential Computing, conçu pour s'adosser à la fonction SEV de seconde génération pour l'architecture AMD Epyc. Cette technologie apporte aux entreprises une capacité de chiffrer la mémoire entière de leurs machines virtuelles cloud avec des clés uniques générées dans le CPU et qui ne sont pas exportables. Google Cloud n'est pas le premier fournisseur à proposer un tel niveau de confidentialité. C'est également le cas pour Microsoft qui a ajouté des enclaves sécurisées pour les processeurs Intel basés sur SGX dans Azure depuis 2018. Toutefois, il existe des différences significatives entre la façon dont Intel SGX et AMD SEV travaillent et à quels types de scenarios d'attaques ils répondent.
Intel SGX a été conçu pour permettre de chiffrer la mémoire utilisée par une application et de rester sécurisée même dans le cas où le système d'exploitation lui-même est compromis. Il s'agit d'une fonction où l'application initialise une enclave SGX et bascule vers elle autant que de besoin pour déchiffrer et traiter des opérations sur les données. Avec à la clé comme bénéfice le fait que ces données ne quittent jamais leur enclave dans un état non chiffré, et qu'à l'inverse les applications qui doivent être modifiées sont en mesure d'utiliser cette capacité en premier lieu. De son côté, AMD SEV se concentre sur le chiffrement de la mémoire de l'ensemble des machines virtuelles plutôt que des applications. Son but est de protéger la sécurité des données clients à l'intérieur d'une VM dans le cas où l'hyperviseur ou le système d'exploitation hôte lui-même est compromis. Le revers de la médaille est que la donnée n'est pas protégée si un attaquant arrive à obtenir le contrôle sur les VM protégées ou l'OS hôte et les applications tournant dedans.
Pas de recompilation d'application sur AMD SEV
« Le principal bénéfice de commencer avec SEV pour AMD est de ne pas avoir à recompiler l'application », a expliqué Sunil Potti, vice-président et general manager de Google Cloud, à notre confrère de CSO. « C'est la préoccupation la plus importante de nos clients à laquelle nous devions répondre pour s'assurer de l'adoption en masse de Confidental VM. Avec notre technologie, vous avez juste à prendre et déplacer vos worlkloads sur les machines virtuelles et profiter des nouvelles technologies de sécurité que nous introduirons au fil du temps pour en tirer partie ».
Google avait jusqu'alors partiellement répondu au scenario de compromission des OS invités en utilisant des images de machines virtuelles renforcées avec de la vérification de chiffrement d'intégrité pour prévenir des malwares au niveau noyau et l'escalade de privilèges. Cela faisait partie du catalogue de l'offre Google Cloud sous l'appellation Shielded VM. Mais aujourd'hui Google Cloud va plus loin : « Nous avons construit Confidential VM au-dessus de Shielded VM pour durcir l'image OS et vérifier l'intégrité du firmware, des binaires noyau et des drivers », a indiqué la Google Cloud dans un billet. « Les images d'OS supportées par Google incluent Ubuntu v18.04, 20.04, Container Optimized OS (COS v81) et RHEL 8.2. Nous travaillons sur CentOS, Debian, et d'autres distributions pour proposer des images OS confidentielles supplémentaires ».
Google a également travaillé en étroite collaboration avec AMD pour garantir que les mesures de performances des machines virtuelles confidentielles soient aussi proches que possible des autres. Des pilotes open source performants pour le stockage à haut débit et le trafic réseau avaient aussi été développés. Les machines virtuelles confidentielles fonctionnent sur les types de machines de la série N2D de Google Cloud qui prennent en charge jusqu'à 224 vCPU avec 8 Go de mémoire par vCPU.
Assured Workloads for Government pour l'instant cantonné aux Etats-Unis
En parallèle de Confidental VM, Google Cloud a aussi annoncé la solution Assured Workloads for Government qui doit permettre aux institutions gouvernementales ainsi qu'à leurs sous-traitants de répondre à leurs besoins de sécurité et de conformité dont ils ont besoin pour aller vers le cloud public. Traditionnellement, les solutions cloud pour les gouvernements reposent sur des datacenters séparés et des environnements isolés qui ne bénéficient pas de toutes les fonctions et ressources de calcul des offres classiques.
Afin de combler ce fossé, Assured Workloads for Government permet aux utilisateurs de restreindre la localisation des données stockées et des ressources cloud dans des régions spécifiques, mais pour l'instant uniquement aux Etats-Unis. Cette solution permet aussi de prévenir les risques liés aux erreurs de configurations en sélectionnant des contrôles de sécurité prédéfinis couplées à des règles organisationnelles. Les clients peuvent aussi choisir de restreindre Google à des workloads basés sur différents paramètres comme la citoyenneté des individus, leur localisation géographique, etc. Les charges de travail assurées pour le gouvernement permettent aux clients d'être conformes aux normes établies par le ministère de la Défense (IL4), la division des services d'information sur la justice pénale (CJIS) du FBI et le programme fédéral de gestion des risques et des autorisations (FedRAMP), a fait savoir Google.