Securing Filesystems for Confidential Computing
Il documento presenta ShieldFS, un filesystem conforme allo standard POSIX che garantisce l'integrità e la freschezza end-to-end per l'archiviazione persistente in ambienti di calcolo confidenziale, utilizzando impegni crittografici succinti e alberi di Merkle per rilevare attacchi di rollback e di manomissione senza richiedere modifiche alle applicazioni o un'archiviazione affidabile.
Articolo originale sotto licenza CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo
Nell'attuale era digitale, ci siamo abituati all'idea che i nostri dati siano al sicuro nel cloud. Confidiamo che, quando salviamo un file o aggiorniamo un database, esso rimanga esattamente come lo abbiamo lasciato, protetto da occhi indiscreti o perdite accidentali. Tuttavia, è esistito un vuoto fondamentale in questa fiducia. Sebbene siano emerse nuove tecnologie chiamate "confidential computing" per blindare la memoria dove il computer sta attivamente elaborando, esse lasciano il disco rigido vulnerabile. Immaginate una cassaforte in cui il caveau interno è impenetrabile, ma il corridoio che conduce ad esso è controllato da uno sconosciuto che può scambiare i vostri documenti, riscrivere la storia o sostituire la vostra versione attuale con una precedente senza che ne abbiate la minima consapevolezza. Questa è la realtà per le applicazioni che girano in ambienti sicuri oggi: i loro calcoli sono protetti, ma l'archiviazione su cui si affidano può essere manipolata da un fornitore cloud malintenzionato o da un amministratore di sistema compromesso.
La sfida, dunque, è costruire un sistema che protegga i dati sul disco con la stessa ferocia con cui protegge i dati in memoria, senza rallentare il computer o costringere i programmatori a riscrivere i propri software. Un team di ricercatori di Microsoft Azure, dell'Imperial College London e di altre istituzioni ha affrontato questo problema creando un nuovo modo per gestire l'archiviazione dei file. Hanno sviluppato un sistema chiamato SHIELDFS, che agisce come un guardiano per i dati persistenti, garantendo che ciò che viene letto dal disco sia esattamente ciò che è stato scritto, e che nessuno abbia segretamente riportato indietro il tempo a uno stato precedente. Il loro lavoro, implementato come una versione specifica di un popolare file system open-source chiamato ZFS, dimostra che è possibile mettere in sicurezza l'archiviazione anche contro gli attaccanti più potenti mantenendo velocità quasi identiche ai sistemi standard non protetti.
Il cuore del problema risiede nel modo in cui i computer gestiscono i dati nel tempo. Quando un'applicazione salva informazioni, le scrive su un disco. In un ambiente sicuro, la memoria del computer è blindata, ma il disco è spesso gestito dal fornitore cloud. Un fornitore disonesto potrebbe teoricamente registrare lo stato di un disco in un momento specifico e, in seguito, se l'applicazione tenta di aggiornare quei dati, il fornitore potrebbe semplicemente sostituire la nuova versione con la vecchia versione registrata. Questo è noto come attacco di rollback. L'applicazione leggerebbe i vecchi dati, credendo che siano attuali, portando a errori, transazioni perse o database corrotti. Le soluzioni esistenti richiedevano o che l'archiviazione stessa fosse affidabile (il che vanifica lo scopo della sicurezza nel cloud), imponevano pesanti penalità di prestazioni che rendevano i sistemi troppo lenti per essere utili, o costringevano gli sviluppatori a costruire controlli di sicurezza personalizzati in ogni singola applicazione, un processo tedioso e soggetto a errori.
Per risolvere questo problema, i ricercatori hanno progettato un sistema che tratta il file system stesso come una catena di eventi verificati. Invece di limitarsi a memorizzare file, il sistema crea un "impronta digitale" crittografica per ogni modifica apportata ai dati. Quando un dato viene scritto, il sistema calcola un codice unico basato su quel dato e sulla cronologia delle modifiche precedenti. Questo codice viene poi memorizzato insieme al dato. Fondamentalmente, il sistema mantiene anche un registro molto piccolo e sicuro dell'ultima impronta digitale valida in una posizione separata e affidabile che l'attaccante non può toccare. Questa posizione affidabile funge da checkpoint. Ogni volta che il computer si riavvia o tenta di leggere dei dati, controlla l'impronta digitale sul disco rispetto a quella nel checkpoint affidabile. Se l'attaccante ha scambiato il disco con una versione precedente o ha alterato i dati, le impronte digitali non corrisponderanno e il sistema saprà immediatamente che qualcosa non va, rifiutandosi di caricare i dati corrotti.
I ricercatori hanno costruito una versione funzionante di questo sistema, che hanno chiamato SHIELDZFS, estendendo un esistente e ampiamente utilizzato file system chiamato ZFS. Non hanno dovuto cambiare il modo fondamentale in cui il file system organizza i dati sul disco; invece, hanno aggiunto uno strato di verifica che gira all'interno della memoria sicura del computer. Questo strato assicura che ogni volta che un dato viene scritto, un nuovo legame indistruttibile venga aggiunto alla catena della storia. Hanno anche creato un servizio leggero, che chiamano "registry", che gira nel proprio ambiente sicuro per contenere le ultime impronte digitali valide per molti diversi file system contemporaneamente. Questo registro è progettato per essere veloce e affidabile, capace di gestire migliaia di richieste al secondo con un ritardo inferiore a un millisecondo, garantendo che i controlli di sicurezza non diventino un collo di bottiglia.
Per testare la loro creazione, il team ha eseguito una serie di esperimenti rigorosi utilizzando benchmark standard e applicazioni reali, come server di database e server di file. Hanno confrontato il loro sistema sicuro con i file system standard e altri strumenti di sicurezza. I risultati hanno mostato che SHIELDZFS ha rilevato con successo ogni tipo di manomissione simulata, inclusi tentativi di rollback dei dati, riproduzione di versioni precedenti o creazione di copie conflittuali del file system. In termini di velocità, il sistema sicuro si è comportato in modo straordinario. Per la maggior parte dei compiti, era quasi veloce quanto la versione standard non protetta del file system. Negli scenari più impegnativi, dove i dati dovevano essere scritti e confermati istantaneamente, era solo circa 1,7 volte più lento della versione standard, un compromesso che molte organizzazioni attente alla sicurezza troverebbero accettabile. Al contrario, altri metodi di sicurezza testati erano significativamente più lenti, talvolta fino a cinque volte più lenti, rendendoli impraticabili per esigenze di alta prestazione.
I ricercatori hanno anche esplorato come questo sistema potesse lavorare insieme ad altri software che già possiedono alcune funzioni di sicurezza. Hanno scoperto che utilizzando il loro sistema sicuro solo per le parti più critiche di un database — i log che registrano le modifiche — e utilizzando un file system standard e più veloce per il resto dei dati, potevano ottenere il meglio dei due mondi. Questo approccio ibrido permetteva di mantenere un'alta sicurezza per i dati più importanti mantenendo al contempo la velocità e la reattività dell'intero sistema. Lo studio conferma che è possibile costruire un file system che sia resiliente contro un fornitore cloud malintenzionato senza richiedere una revisione completa del software che lo utilizza. Trasformando il file system in una struttura auto-verificabile e ancorandolo a un checkpoint esterno affidabile, i ricercatori hanno fornito una via pratica per mettere in sicurezza i dati nel cloud, garantendo che ciò che viene salvato sia esattamente ciò che viene recuperato, indipendentemente da chi controlla l'hardware.
Sommerso dagli articoli nel tuo campo?
Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.