09/05/2018

Google rend open source gVisor

L’environnement d’exécution de conteneur en mode bac à sable de la firme de Mountain View est dorénavant libre. Il propose une approche de la gestion des ressources plus flexible.

La sécurité des conteneurs

Malgré la révolution apportée au processus de développement par la technologie de conteneurisation, les conteneurs restent bien souvent suffisamment proches du système d’exploitation pour que les experts en sécurité avertissent des dangers d’exécution d’applications non vérifiées ou potentiellement malveillantes. C’est là l’intérêt majeur de gVisor : cet environnement d’exécution de conteneur en mode bac à sable permet de créer une frontière d’isolation sécurisée entre le système d’exploitation hôte et l’application s’exécutant à l’intérieur du conteneur.

La solution est en outre compatible avec les technologies Docker et Kubernetes. Cette intégration simplifie l’exécution de conteneurs en bac à sable dans des environnements de production.

La solution des machines virtuelles vs gVisor

Traditionnellement, l’exécution de conteneurs en mode bac à sable consiste à exécuter chaque conteneur dans sa propre machine virtuelle. Ainsi, chaque conteneur a sa propre « machine », y compris le noyau et les périphériques virtualisés, complètement séparée de l’hôte. En cas de vulnérabilité dans l’invité, l’hyperviseur isole toujours l’hôte, ainsi que d’autres applications/conteneurs qui s’exécutent sur l’hôte. Cette approche a malheureusement un défaut : elle est gourmande en ressources.

gVisor propose une technologie plus légère qu’une machine virtuelle tout en conservant un niveau d’isolation similaire. Le cœur de gVisor est un noyau qui fonctionne comme un processus standard et non privilégié qui prend en charge la plupart des appels système Linux. Ce noyau est écrit en Go, langage choisi pour sa sécurité de mémoire et de type. Tout comme dans une machine virtuelle, une application s’exécutant dans un sandbox gVisor obtient son propre noyau et un ensemble de périphériques virtualisés, distincts de l’hôte et des autres bacs à sable.

L’intérêt de gVisor réside dans sa capacité à gérer des ressources changeantes dans le temps, comme le font la plupart des processus Linux normaux contrairement à une machine virtuelle qui nécessite un ensemble fixe de ressources lors de la création. gVisor peut être envisagé comme un système d’exploitation extrêmement virtualisé avec une empreinte de ressources flexible et un coût fixe inférieur à celui d’une machine virtuelle complète

Source : cloudplatform.googleblog.com

Actualités