L'OS made in France existe : les équipes de l'ANSSI travaillent depuis 2005 sur un OS « multiniveau » ultra-sécurisé.

Nous vous parlions hier du vœux de deux députés de voir naitre un OS « made in France » (qui a depuis été adopté par l’assemblée) … et bien, roulements de tambours, celui-ci existe déjà ! L’ANSSI (l’Agence nationale de la sécurité des systèmes d’information) travaille en effet depuis 2005 sur CLIP, son propre système d’exploitation sécurisé.

Les systèmes d’exploitations qui se focalisent sur la sécurité sont légions. Certains sont spécialisés dans la préservation de la vie privée et de l’anonymat (comme Tails, le système utilisé par Edward Snowden pour communiquer) ou encore Qubes OS qui utilise des machines virtuelles pour créer des environnements sécurisés jetables.

À l’origine

C’est d’abord la DCSSI, l’ancêtre de l’ANSSI, qui avait émis le souhait de sécuriser les systèmes d’exploitation. Basé à l’origine sur le système d’exploitation FreeBSD, le projet est rapidement passé sous Linux. Il a évolué jusqu’à devenir bien « plus qu’un prototype, presque un produit », pour citer Vincent Strudel, sous-directeur expertise à l’ANSSI qui a présenté le fonctionnement du système lors du Symposium sur la sécurité des technologies de l’information et des communications édition 2015.

N’imaginez pas cependant vous précipiter sur Github pour télécharger la dernière version de l’OS. Celui-ci n’est en effet proposé qu’aux administrations. Depuis 2015, il commence à être distribué à certains partenaires industriels et aux OIV (Opérateurs d’Importance Vitale, soit les industriels classés secret défense). Si le système ne sera pas distribué publiquement en open source, il sera néanmoins partagé à travers une « communauté open source gouvernementale  » (sic). Des entreprises pourront donc modifier le système pour l’adapter à leurs usages. Elles devront cependant remonter ces modifications à l’ANSSI.

qu’est-ce que CLIP ?

Vincent Strudel décrit CLIP comme étant un « un systéme d’exploitation endurci à forte résistance aux codes malveillants », qualifié pour la gestion d’informations classées secrètes. Il tente, via une batterie de mesures, d’empêcher l’attaquant de pénétrer dans le système. Si l’individu malveillant arrive tout de même à rentrer, la compartimentation sur laquelle est fondée l’OS, doit l’empêcher de pénétrer plus loin dans la machine. CLIP étant par ailleurs chiffré par défaut, il est adapté à un usage en mobilité.

Schéma de la compartimentation
Schéma de la compartimentation

Clip permet de traiter sur le même poste deux niveaux de sensibilité d’information différents

Concrètement, l’OS repose sur différentes techniques de cloisonnements. Le noyau possède plusieurs couches utilisateurs « userland », isolées entres-elles. Cela permet de séparer les groupes de processus qui ne peuvent donc pas se voir entre-eux.

La barre rouge en haut de l'écran montre qu'on est dans le niveau haut.
La barre rouge en haut de l’écran montre qu’on est dans le niveau haut.

L’ensemble du système est donc découpé dans un système de compartiments — appelés « cages » –. L’OS est également multiniveau, c’est-à-dire qu’il permet de traiter sur le même poste deux niveaux de sensibilité d’information différents.

Cela se traduit graphiquement pour l’utilisateur par l’apparition d’une fine barre en haut de son écran qui va lui permettre de changer de niveau à la volée. Le niveau représenté par une barre verte est celui qui va permettre à l’utilisateur de faire des tâches susceptibles d’infecter la machine. L’environnement haut, représenté en rouge, est l’espace qu’utilisera l’utilisateur pour lire des documents sensibles. Les données échangées sur cet espace transitent à travers un tunnel IPsec.

Cette interface permet à l'utilisateur d'affecter le matériel entre les niveaux
Cette interface permet à l’utilisateur d’affecter le matériel entre les niveaux

compartimentation et virtualisation

La création de différents environnements est rendue possible grâce à la virtualisation. Chaque niveau est en fait une interface graphique virtualisée et diffusée via à VNC. Cela pose cependant un problème majeur : l’OS est gourmand en ressource et ne sera pas adapté à des tâches autres que bureautiques. Les développeurs ont également dû résoudre des problèmes de compatibilité matérielle. Il était en effet impossible d’avoir à la fois deux claviers, deux cartes sons ou encore une clé USB sur les deux environnements. CLIP possède donc une interface graphique qui va permettre à l’utilisateur de choisir à quel niveau est affecté quel matériel.

Il n’est pas possible d’exécuter des fichiers dans un dossier qui possède des privilèges d’écriture

L’OS tente de rendre la tâche des attaquants, non pas impossible, mais en tout cas très difficile. Dans une démonstration, Vincent Strudel montre en effet qu’il n’est pas possible d’exécuter des fichiers dans un dossier qui possède des privilèges d’écriture. Cette mesure complique la tâche de l’attaquant, qui ne peut pas prendre ses aises dans le système et importer ses outils.

Comme le dossier « home » est ouvert en écriture, le python ne peut pas s’exécuter
Comme le dossier « home » est ouvert en écriture, le python ne peut pas s’exécuter

Du côté des mises à jours, celles-ci sont gérées automatiquement par l’OS dans une « cage » dédiée et se téléchargent via un tunnel IPsec. L’utilisateur ne peut pas interagir avec elles. Elles sont censées résister aux interruptions, ce qui soulage, on l’imagine le support de l’ANSSI.

La création d’un OS français sécurisé pour les administrations et les entreprises sensibles prend sens, notamment dans le contexte récent des écoutes et de la surveillance américaine. Même s’il était possible d’utiliser, comme c’est souvent le cas, un ordinateur air-gapped (un PC qui n’a jamais été connecté à internet), on imagine qu’un système d’exploitation multiniveau facilite la tâche des agents, particulièrement en déplacement.

Partager sur les réseaux sociaux

Articles liés