Documentation technique
StateWarden est une plateforme de reprise après sinistre construite sur une architecture Zero Trust et Zero Knowledge. Le système est conçu pour fonctionner en toute sécurité même si l'environnement hôte ou l'hyperviseur est compromis. L'infrastructure est hébergée sur des serveurs bare metal OVHcloud dans des centres de données de l'UE, ce qui évite toute dépendance à des fournisseurs de cloud hyperscalers externes. Les composants centraux sont développés en Rust afin d'optimiser les performances et la sécurité.
1. Vue d'ensemble de l'architecture
Les stratégies traditionnelles de sauvegarde d'entreprise s'appuient souvent sur des serveurs NAS centralisés et des sauvegardes au niveau fichier. Ces approches peuvent rencontrer des goulets d'étranglement de performance lors d'opérations à grande échelle et peuvent être vulnérables aux ransomwares si les identifiants centraux ou les baies de stockage sont compromis.
StateWarden restructure le processus de protection des données en opérant au niveau bloc. L'agent contourne les API de système de fichiers de haut niveau et interagit directement avec le gestionnaire de volumes logiques ou le matériel disque. Cette approche capture une image de l'état cohérente en cas de panne (crash-consistent), sans dépendre de mécanismes de verrouillage de fichiers. Un moteur de suivi des blocs modifiés (Change Block Tracking, CBT) identifie et ne transmet que les secteurs modifiés, ce qui réduit la charge d'E/S et la surcharge réseau.
2. Protection de la mémoire et protection contre la falsification
- Mise à zéro de la mémoire et obfuscation des clés : les clés cryptographiques dans StateWarden sont générées dynamiquement et conservées en mémoire volatile uniquement pendant les processus actifs de chiffrement ou de déchiffrement. Le matériel de clé est obfusqué tant qu'il réside en mémoire, et les tampons sensibles sont explicitement écrasés après usage (mise à zéro de la mémoire du matériel de clé) afin de réduire l'exposition à l'extraction de mémoire (memory scraping).
- Anti-débogage : l'agent applique une autoprotection à l'exécution avec des contre-mesures anti-débogage. Lorsqu'un débogueur est détecté, le processus s'arrête de lui-même pour entraver l'inspection de la mémoire à l'exécution.
- Aplatissement du flot de contrôle : les binaires compilés utilisent l'aplatissement du flot de contrôle pour compliquer la décompilation et l'analyse statique.
3. Cryptographie en cascade et algorithmes post-quantiques
Le moteur PrimeKEM applique plusieurs couches cryptographiques au trafic d'approvisionnement et aux données au repos :
- Approvisionnement des clés (ML-KEM / Kyber) : l'appairage des appareils utilise l'algorithme post-quantique ML-KEM dans le cadre d'un schéma hybride d'approvisionnement des clés basé sur ML-KEM. Les communications réseau s'effectuent en TLS mutuel (mTLS) avec épinglage strict des certificats.
- Chiffrement des données (cascade) : les données au repos sont protégées par des couches indépendantes de chiffrement authentifié (AES-256-GCM, ChaCha20-Poly1305), de sorte que la compromission d'une seule couche de chiffrement n'expose pas les données en clair.
Le système impose un modèle Zero Knowledge : le secret maître n'est jamais transmis en clair hors de l'environnement du client.
4. Vecteurs de restauration
StateWarden prend en charge plusieurs méthodes de restauration conçues pour minimiser l'objectif de temps de restauration (RTO).
| Vecteur de restauration | Mise en œuvre dans StateWarden |
|---|---|
| Instant Mount | L'agent crée une cible iSCSI en mémoire. Les blocs chiffrés sont transmis en flux depuis le plan de données, déchiffrés localement et présentés au système d'exploitation comme un disque physique natif pour un accès immédiat aux fichiers. |
| Restauration bare metal (BMR) | Restaure le système sur du matériel nu, avec correction dynamique des chargeurs de démarrage EFI/MBR pour prendre en charge différents contrôleurs de stockage et configurations matérielles. |
| Restauration au niveau fichier | Permet le téléchargement de plages d'octets spécifiques pour extraire des fichiers individuels sans récupérer l'intégralité de l'image du volume. |
5. Immuabilité du plan de données
- Opérations en ajout uniquement : l'agent de stockage communique avec le plan de données en mode ajout uniquement (append-only). Des identifiants de point de terminaison compromis ne peuvent pas servir à supprimer ou modifier les archives historiques.
- Active Defense (Ransomware Protection) : l'agent calcule l'entropie de Shannon des fragments de données au fur et à mesure de leur traitement pendant la sauvegarde afin de détecter les schémas de chiffrement de masse. Lorsque les seuils de détection configurés sont dépassés, l'agent exécute de manière autonome l'action de réponse configurée : Alerte uniquement (interrompre la sauvegarde et déclencher une alerte), Mettre la sauvegarde en quarantaine (alerter et marquer la sauvegarde affectée comme potentiellement infectée dans la vue de restauration), Verrouillage réseau (couper le trafic réseau à l'exception du canal de gestion StateWarden) ou Mise hors tension. Les politiques de réponse sont configurables par Realm et par appareil dans le Dashboard, sous « Protection anti-ransomware ».
- Vérification des données : les nœuds de stockage Driad effectuent une vérification en lecture après écriture (Read-After-Write, RAW) pour garantir que les fragments stockés correspondent exactement aux hachages générés par l'agent client.
6. Télémétrie et analytique Vigil
La télémétrie du système est isolée des transferts de données de sauvegarde et transmise de manière asynchrone au plan de contrôle, où elle est stockée dans PostgreSQL. Le sous-système Vigil fonctionne comme un capteur de sécurité local : il croise l'inventaire logiciel du point de terminaison avec des copies locales des bases de données mondiales de vulnérabilités (OSV, NVD) pour identifier les logiciels non corrigés.