Présentation de Citadel
Subgraph OS est reconstruit sur un nouveau système de base appelé Citadel. Cet article explique ce qu’est Citadel et en quoi il diffère du premier Subgraph OS.
À qui il s’adresse
Subgraph OS s’adresse aux personnes susceptibles d’être ciblées directement : journalistes, militants, défenseurs des droits de la personne, chercheurs en sécurité et employés d’organisations visées par des attaques. Leurs attaquants peuvent consacrer beaucoup de temps et d’argent à une seule cible. Réduire la surface d’attaque aide, mais nous voulons aussi qu’il soit difficile pour un logiciel malveillant de rester sur le système une fois entré.
Le système de base
Le système de fichiers racine de Citadel est monté en lecture seule et
vérifié par dm-verity. Chaque bloc est comparé à un arbre de hachage au
moment où il est lu. Un bloc modifié échoue à la vérification et la lecture
échoue. Si des blocs modifiés sont nécessaires au démarrage, le système ne
démarre pas. Un logiciel malveillant ne peut pas s’écrire dans le système de
base, et un redémarrage repart de la même image vérifiée.
Les mises à jour du système de base sont livrées sous forme d’une seule image signée. La mise à jour est appliquée de façon atomique. Si la nouvelle image cause un problème, vous pouvez revenir à la précédente.
Les realms
Les applications s’exécutent dans des realms, séparés du système de base. Un
realm est soit un conteneur géré par systemd-nspawn, soit une machine
virtuelle qui tourne sous pH, un hyperviseur KVM écrit en Rust. Le système
de fichiers racine de chaque realm est une image RealmFS signée.
Vous pouvez créer un realm par projet, par client ou par niveau de confiance. La compromission d’un realm ne donne pas accès aux données d’un autre.
Le bureau est GNOME sous Wayland. Chaque fenêtre porte le nom du realm auquel elle appartient.
Builds reproductibles
Citadel est construit avec OpenEmbedded, et les builds sont reproductibles à partir des sources. Vous pouvez reconstruire une image vous-même et la comparer à celle que nous publions.
Lien avec le premier Subgraph OS
Citadel est la base de Subgraph OS. Le premier Subgraph OS, sorti vers 2016, était basé sur Debian. Il utilisait les correctifs de noyau grsecurity et isolait les applications de bureau une à une avec Oz. Citadel garde le même objectif, soit un bureau utilisable pour les personnes visées par des attaques ciblées. L’isolation passe des applications individuelles à des realms complets, qui s’exécutent sur un système de base vérifié et en lecture seule.
Les prochains articles traiteront plus en détail de l’architecture, de l’hyperviseur pH et des builds reproductibles.