CLIP OS : un OS sécurisé en Open Source

Par:
ftonic

ven, 21/09/2018 - 08:06

L’ANSII, l’agence nationale pour la sécurité (France), a annoncé le développement d’un OS sécurisé et qui vise les administrations : CLIP OS. Il repose sur un Gentoo Hardened et s’inspire beaucoup de Chromium OS et de Yocto pour le développement. Basiquement, CLIP OS s’articule autour d’un core et d’un ensemble de conteneurs pour les services, les applications. 

Le projet est décrit ainsi : « Le projet se base sur plus de dix ans de développement interne à l’ANSSI pour créer un système d’exploitation durci. Les propriétés de sécurité suivantes ne sont généralement pas réalisables à partir des systèmes d’exploitation disponibles publiquement :

  • Support du multi-niveau pour gérer des informations de plusieurs niveaux de sensibilité différents.
  • Accès administrateur restreint en production : un administrateur ne doit pas pouvoir compromettre un système déployé en production ni accéder aux données utilisateurs.
  • Construction du projet de façon totalement automatisée et réalisée intégralement à partir des sources.
  • Opportunités d’intégration forte dans des environnements variés. »

Quand on regarde le schéma d’architecture, on constate que les couches sont séparées : bootloader, EFI pour le démarrage, puis nous trouvons les couches matérielles, le noyau et le core OS. L’objectif est d’assurer une isolation des couches et l’usage de conteneurs l’y aide. Chaque cage (ou conteneur) est au niveau utilisateur : une session graphique utilisateur. Chaque conteneur peut donc exécuter des applications, documents, etc. avec un niveau de sécurité et d’isolation élevé. 

Chaque conteneur est isolé logiquement du core OS et des autres conteneurs. L’interaction entre le conteneur et le core est confiné et les communications directes entre les conteneurs sont interdits. Il faut passer par le core pour pouvoir échanger avec d’autres conteneurs. 

La sécurité est tout naturellement l’objectif premier de CLIP OS. Côté matériel, il nécessite une machine x86-64 (les binaires 32 ne sont pas supportés), un boot sécurisé UEFI (les clés par défaut sont retirés), plateforme de confiance (TPM). Il reste encore beaucoup de développement à faire sur les mécanismes de sécurité et l’OS dans son ensemble. Un des enjeux est d’assurer la confiance matérielle pour éviter tout hack matériel ou tentative. Le kernel et le core OS doivent détecter et bloquer ces intrusions. 

L’OS est actuellement en alpha 5 et est disponible sur GitHub et gitlab. Le 5 correspond à la version de l’OS. A noter que les docs et les codes sources sont uniquement en Anglais. 

L’alpha 5 est la première version publiée. Elle contient le partition root et les éléments EFI, le kernel, le core OS, le support QEMU / KVM (pour les cages), support du boot sécurisé. La bêta 5 est en cours de développement et apportera pas mal d’ajouts : partitions A/B, mécanisme de mise à jour, démon SSH, règles Firewall, rôles non confinés, mise à jour du noyau. 

La version stable, qui n’est pas encore en développement, apportera de nombreuses fonctions supplémentaires : support de multiples pilotes, (micro, audio, caméra, support USB, etc.), environnements virtualisés complets, support LTS sur le noyau, support matériel étendu…

L’ANSSI précise que CLIP OS n’est pas un OS souverain car il repose sur de multiples composants et codes de divers projets open source. Le tout est mis en licence LGPL 2.1+. Reste à voir comment ce projet se comportera sur la durée et si une communauté se développe rapidement. 

Site : https://clip-os.org/fr/