Dokumentacja techniczna
StateWarden to platforma odtwarzania po awarii oparta na architekturze Zero-Trust i Zero-Knowledge. System jest zaprojektowany do bezpiecznego działania nawet w przypadku przejęcia środowiska hosta lub hipernadzorcy. Infrastruktura jest hostowana na serwerach bare-metal OVHcloud w centrach danych w UE, bez zależności od zewnętrznych hiperskalowych dostawców chmury. Podstawowe komponenty są rozwijane w języku Rust w celu optymalizacji wydajności i bezpieczeństwa.
1. Przegląd architektury
Tradycyjne korporacyjne strategie kopii zapasowych często opierają się na scentralizowanych serwerach NAS i kopiach na poziomie plików. Podejścia te mogą napotykać wąskie gardła wydajnościowe przy operacjach na dużą skalę i być podatne na ransomware w przypadku przejęcia centralnych poświadczeń lub macierzy dyskowych.
StateWarden restrukturyzuje proces ochrony danych, działając na poziomie bloków. Agent omija wysokopoziomowe interfejsy API systemu plików i współpracuje bezpośrednio z menedżerem wolumenów logicznych lub sprzętem dyskowym. Takie podejście przechwytuje obraz stanu spójny awaryjnie (crash-consistent) bez polegania na mechanizmach blokowania plików. Silnik Change Block Tracking (CBT) identyfikuje i przesyła wyłącznie zmodyfikowane sektory, zmniejszając obciążenie I/O i narzut sieciowy.
2. Ochrona pamięci i zabezpieczenia przed manipulacją
- Zeroizacja pamięci i zaciemnianie kluczy: Klucze kryptograficzne w StateWarden są generowane dynamicznie i przechowywane w pamięci ulotnej wyłącznie podczas aktywnych procesów szyfrowania lub odszyfrowywania. Materiał klucza jest zaciemniany podczas pobytu w pamięci, a wrażliwe bufory są jawnie nadpisywane po użyciu (zeroizacja pamięci materiału klucza), aby ograniczyć ekspozycję na skanowanie pamięci.
- Ochrona przed debugowaniem: Agent stosuje samoochronę w czasie wykonania z mechanizmami przeciwdziałającymi debugowaniu. Po wykryciu debugera proces kończy własne działanie, aby utrudnić inspekcję pamięci w czasie wykonania.
- Spłaszczenie przepływu sterowania: Skompilowane pliki binarne wykorzystują spłaszczenie przepływu sterowania (control flow flattening), aby utrudnić dekompilację i analizę statyczną.
3. Kryptografia kaskadowa i algorytmy postkwantowe
Silnik PrimeKEM stosuje wiele warstw kryptograficznych do ruchu provisionującego i danych w spoczynku:
- Provisionowanie kluczy (ML-KEM / Kyber): Parowanie urządzeń wykorzystuje postkwantowy algorytm ML-KEM w ramach hybrydowego schematu provisionowania kluczy opartego na ML-KEM. Komunikacja sieciowa odbywa się przez wzajemnie uwierzytelniony TLS (Mutual TLS, mTLS) ze ścisłym przypinaniem certyfikatów.
- Szyfrowanie danych (kaskada): Dane w spoczynku są chronione niezależnymi warstwami szyfrowania z uwierzytelnianiem (AES-256-GCM, ChaCha20-Poly1305), dzięki czemu złamanie pojedynczej warstwy szyfru nie ujawnia tekstu jawnego.
System wymusza model Zero-Knowledge; sekret główny (Master Secret) nigdy nie jest przesyłany poza środowisko klienta w postaci jawnej.
4. Wektory odtwarzania
StateWarden obsługuje wiele metod odtwarzania zaprojektowanych w celu minimalizacji celu czasu odtworzenia (Recovery Time Objective, RTO).
| Wektor odtwarzania | Implementacja w StateWarden |
|---|---|
| Instant Mount | Agent tworzy cel iSCSI w pamięci. Zaszyfrowane bloki są strumieniowane z warstwy danych, odszyfrowywane lokalnie i prezentowane systemowi operacyjnemu jako natywny dysk fizyczny, umożliwiając natychmiastowy dostęp do plików. |
| Bare Metal Recovery (BMR) | Odtwarza system na czystym sprzęcie, w tym dynamicznie poprawia programy rozruchowe EFI/MBR, aby obsługiwać różne kontrolery pamięci masowej i konfiguracje sprzętowe. |
| Odtwarzanie na poziomie plików | Umożliwia pobieranie określonych zakresów bajtów w celu wydobycia pojedynczych plików bez pobierania całego obrazu wolumenu. |
5. Niezmienialność warstwy danych
- Operacje wyłącznie dopisujące: Agent magazynowy komunikuje się z warstwą danych w trybie append-only. Przejęte poświadczenia urządzenia końcowego nie mogą zostać użyte do usunięcia lub modyfikacji archiwów historycznych.
- Active Defense (Ochrona przed ransomware): Agent oblicza entropię Shannona bloków danych przetwarzanych podczas kopii zapasowej, aby wykrywać wzorce masowego szyfrowania. Po przekroczeniu skonfigurowanych progów detekcji Agent autonomicznie wykonuje skonfigurowaną akcję reakcji: Tylko alert (przerwanie kopii zapasowej i zgłoszenie alertu), Kwarantanna kopii zapasowej (alert i oznaczenie dotkniętej kopii zapasowej jako możliwie zainfekowanej w widoku przywracania), Blokada sieci (odcięcie ruchu sieciowego z wyjątkiem kanału zarządzania StateWarden) lub Wyłączenie zasilania. Polityki reakcji są konfigurowane dla całego Realmu i dla poszczególnych urządzeń w Dashboard w sekcji „Ochrona przed ransomware".
- Weryfikacja danych: Węzły magazynowe Driad przeprowadzają weryfikację Read-After-Write (RAW), aby zapewnić, że przechowywane bloki są dokładnie zgodne ze skrótami wygenerowanymi przez Agenta klienta.
6. Telemetria i analityka Vigil
Telemetria systemowa jest izolowana od transferów danych kopii zapasowych i przesyłana asynchronicznie do warstwy sterowania, gdzie jest przechowywana w PostgreSQL. Podsystem Vigil pełni funkcję lokalnego czujnika bezpieczeństwa, krzyżowo porównując inwentarz oprogramowania urządzenia końcowego z lokalnymi kopiami globalnych baz podatności (OSV, NVD) w celu identyfikacji niezałatanego oprogramowania.