Subgraph
01Le problème
The problem

La plupart des ordinateurs sont une seule grande pièce.

Chaque programme s’exécute en votre nom et peut lire tous vos fichiers. Un projet client, vos courriels personnels et un outil essayé une seule fois partagent le même compte. N’importe lequel peut ouvrir vos clés SSH ou les mots de passe enregistrés dans votre navigateur.

On installe un logiciel pour un projet et on ne le retire jamais. Des correctifs sont oubliés. Un paquet piégé peut rester installé et considéré comme fiable longtemps après qu’on en a oublié la provenance. La plupart des organisations règlent ça en achetant un deuxième ordinateur, ou en rédigeant une politique.

Dans Subgraph OS, le système de base, Citadel, est petit, vérifié au démarrage, et ne change que lorsque vous installez une mise à jour signée. Vos applications et vos données sont réparties dans des realms, et un problème dans un realm y reste.

02Les realms
Realms

Un realm pour chaque type de travail.

Un realm est une partition du système, avec ses propres applications et ses propres données. Vous décidez combien il vous en faut et ce que vous mettez dans chacun. Voici une configuration typique.

Travail

Courriels, documents et dossiers clients. Vos clés SSH et votre gestionnaire de mots de passe peuvent rester ici, et nulle part ailleurs.

Personnel

Votre navigation, vos services bancaires et vos comptes personnels, à l’écart des données du travail.

Développement

Compilateurs, gestionnaires de paquets et dépendances téléchargées d’Internet. Si un paquet s’avère malveillant, il reste coincé dans ce realm.

Agents

Les agents IA ont leur propre realm, avec seulement les fichiers que vous y copiez. Ils ne peuvent pas lire les clés SSH du realm Travail, parce que ces fichiers ne s’y trouvent pas.

Bac à sable

Installez tout ce que vous voulez essayer. Votre système principal reste propre, et vous pouvez supprimer le realm quand vous avez fini.

03Agents IA
AI agents

Les agents IA ont vos permissions.

Un agent IA agit en votre nom. Il peut lire vos fichiers, utiliser vos mots de passe et vos clés, et communiquer avec des services externes, souvent sans que personne surveille chaque étape.

Un texte lu par un agent peut le détourner. Le modèle derrière lui ne peut pas être inspecté, et il tourne souvent sur les serveurs de quelqu’un d’autre. Les systèmes de bureau supposent une seule personne de confiance au clavier : ils n’ont aucun moyen de donner à un agent accès à certains de vos fichiers en lui refusant les autres.

  • 1Faites tourner les agents dans un realm à eux, avec seulement les fichiers et les comptes dont leur travail a besoin.
  • 2Donnez aux agents plus risqués une machine virtuelle complète plutôt qu’un conteneur.
  • 3Si quelque chose cloche, supprimez le realm et repartez d’une image connue.
  • 4Gardez vos clés SSH, votre gestionnaire de mots de passe et vos dossiers clients dans d’autres realms, hors de portée des agents.
04Fonctionnement
How it works

Ce que fait Subgraph OS.

Une base vérifiée, en lecture seule

Le système de fichiers racine est en lecture seule et protégé par dm-verity, une fonction de Linux. Chaque bloc est comparé à un arbre de hachage signé. Si quoi que ce soit a changé, le système refuse de le démarrer.

Les applications tournent dans des realms

Les applications ne tournent jamais dans le système de base. Elles tournent dans des realms : des partitions séparées, chacune avec ses propres applications, fichiers et réseau. Si l’une est compromise, l’attaquant n’entre pas dans les autres.

Conteneurs ou machines virtuelles

Utilisez des realms conteneurs légers pour le travail courant, et des machines virtuelles KVM complètes pour les logiciels non fiables, l’analyse de maliciels ou les agents IA qui demandent une frontière plus solide.

Tous les realms sur un même bureau

Les fenêtres des différents realms partagent un même bureau GNOME. Chacune porte le nom de son realm.

Mises à jour signées, avec retour en arrière

Le système de base est livré sous forme d’une seule image signée. Une mise à jour s’applique au complet ou pas du tout, et vous pouvez revenir à la version précédente.

Compilation reproductible

Citadel se compile de façon reproductible à partir des sources. N’importe qui peut recompiler une image et vérifier qu’elle est identique à la nôtre, octet par octet.

05Architecture

Trois couches.

Le système de base ne change pas. La couche d’isolation sépare les realms. Vos applications et vos fichiers sont dans les realms, au-dessus.

  1. Couche 1Base

    Système de base Citadel

    Le noyau, l’init, l’affichage graphique et l’interface du bureau. Il ne contient ni applications ni données utilisateur. Monté en lecture seule et vérifié par dm-verity à chaque démarrage.

  2. Couche 2Isolation

    Conteneurs et hyperviseur pH

    Les realms conteneurs utilisent les espaces de noms Linux et tournent presque à pleine vitesse. Un realm qui demande plus d’isolation peut tourner en machine virtuelle sous pH, notre hyperviseur KVM écrit en Rust.

  3. Couche 3Travail

    Vos realms

    Par exemple travail, personnel, développement, agents et un bac à sable. Chaque realm ne voit que ses propres données. Son système de fichiers racine est une image signée, et seul votre répertoire personnel est conservé d’une session à l’autre.

06À l’écran
On screen

Captures d’écran.

Subgraph OS utilise le bureau GNOME. Les fenêtres de différents realms partagent le même écran, y compris les applications qui tournent dans des machines virtuelles pH. L’étiquette de couleur sur chaque fenêtre indique à quel realm elle appartient.

Firefox et un terminal dans le realm foo, sous l’hyperviseur pH, avec le menu de fenêtre ouvert sur Move to Realm
01 Des applications dans une machine virtuelle. Firefox et un terminal dans le realm foo, qui est une machine virtuelle pH. Ils s’affichent sur le bureau comme n’importe quelle autre fenêtre. Le menu de fenêtre offre l’option Move to Realm pour déplacer une fenêtre vers un autre realm, ici realm-main ou realm-pi.
Un terminal de realm-main à côté d’une fenêtre Firefox étiquetée foo
02 Deux realms, un seul bureau. À gauche, un terminal dans realm-main, un conteneur Linux. À droite, Firefox dans le realm foo, à l’intérieur de l’hyperviseur pH. L’étiquette orange foo identifie le navigateur. La barre du haut affiche le realm courant.
La fenêtre Configure realm-main avec RealmFS, thème de couleurs, couleur d’étiquette, overlay et options à activer
03 Réglages d’un realm. Chaque realm a ses propres réglages : l’image RealmFS utilisée, la couleur de l’étiquette des fenêtres et des interrupteurs pour le GPU, Wayland, X11, le son, le réseau et l’accès à KVM.
L’écran d’accueil de l’installateur de Subgraph OS, avec le choix de la langue et un bouton Let’s Start
04 Installateur. Une installation guidée et courte : choisissez la langue et le disque, puis un mot de passe de chiffrement du disque et un mot de passe utilisateur.
07Pour qui
Who it is for

Qui l’utilise.

Subgraph OS s’adresse aux gens qui doivent garder une partie de leur travail à l’écart du reste.

Défense et sécurité nationale

Du travail de différents niveaux de classification sur un même ordinateur, chacun dans son realm.

Gouvernement

Un poste de travail vérifiable, qu’on peut ramener à un état connu, sans dépendre de services infonuagiques étrangers.

Équipes qui utilisent des agents IA

Placez les agents dans leur propre realm et limitez ce qu’ils peuvent lire, modifier ou envoyer.

Chercheurs en sécurité

Ouvrez les maliciels et les échantillons douteux dans une machine virtuelle que le reste du système ne voit jamais.

Développeurs et administrateurs

Séparez les projets clients, les outils de compilation et les identifiants de production. Une mauvaise dépendance ne peut pas tout atteindre.

Journalistes et société civile

Gardez vos documents et vos contacts de sources dans un realm que votre navigateur et vos courriels ne peuvent pas atteindre.

08Fiche technique
Specifications

Détails techniques.

Subgraph OS est utilisé à l’interne et approche de sa sortie. Certains détails peuvent changer d’ici la disponibilité générale.

Système de base

Compilation
Linux sur mesure compilé avec OpenEmbedded (pas une distribution dérivée)
Bureau
GNOME Shell sur Wayland
Init
systemd
Intégrité
Racine en lecture seule, vérifiée par dm-verity
Mises à jour
Images complètes du système, signées et atomiques, avec retour en arrière
Stockage
Chiffrement complet du disque avec LUKS

Isolation des realms

Realms conteneurs
systemd-nspawn avec les espaces de noms Linux
Realms VM
pH, un hyperviseur KVM écrit en Rust
Images de realm
RealmFS : systèmes de fichiers racine signés et vérifiables
Réseau
Zones réseau par realm
Intégration au bureau
Fenêtres étiquetées sur un seul bureau partagé

Chaîne d’approvisionnement et durcissement

Compilations
Reproductibles à partir des sources, vérifiables de façon indépendante
Noyau
Lockdown LSM, Yama, LoadPin, modules signés, KASLR
Mémoire
Hardened usercopy, mise à zéro à l’allocation, strong stack protector
Infrastructure
Fonctionne localement. Aucun compte infonuagique requis

Matériel recommandé

x86Processeur
  • Intel ou AMD 64 bits
  • VT-x ou AMD-V pour les realms VM
16Mémoire (Go)
  • 8 Go minimum
  • 16 Go ou plus pour plusieurs realms
128Stockage (Go)
  • 32 Go minimum
  • SSD NVMe recommandé

Conçu à Montréal · Made in Montreal

Fait à Montréal, au Canada.

Subgraph fait de la recherche de vulnérabilités et des tests d’intrusion depuis plus de dix ans. Nous auditons des logiciels pour le Security Lab de l’Open Technology Fund et nous avons créé Vega, un scanneur de sécurité web à code source ouvert utilisé par des dizaines de milliers de personnes. Subgraph OS est conçu et développé ici, et fonctionne sans aucun service infonuagique.

Préversion

Téléchargement.

Subgraph OS n’est pas encore offert en téléchargement. Revenez bientôt.

Contact.

Écrivez-nous pour un essai de Subgraph OS ou un audit de sécurité.