Una nuova soluzione per proteggere i dati nel cloud
Presentiamo un sistema di archiviazione chiave-valore distribuito per migliorare la sicurezza dei dati negli ambienti cloud.
― 10 leggere min
Indice
- Preoccupazioni di Sicurezza nei Datastores Cloud
- Cos'è il Computing Riservato?
- Sfide nell'Adattare le Applicazioni ai TEE
- Introduzione di una Nuova Soluzione
- Caratteristiche e Vantaggi
- Comprendere etcd
- Sfide delle Attuali Implementazioni di etcd
- Il Nuovo Datastore a Chiave-Valore: Una Panoramica
- Modello Dati e Funzionalità dell'API
- Affrontare Sicurezza e Fiducia
- Coerenza e Gestione dei Guasti
- Flessibilità nella Transizione verso Sistemi Sicuri
- Dettagli di Implementazione
- Valutazione delle Prestazioni
- Conclusione
- Fonte originale
- Link di riferimento
I datastores distribuiti sono sistemi usati per archiviare dati importanti per le aziende. Sono fondamentali per applicazioni che devono funzionare in modo sicuro ed efficiente. Un esempio di un datastore distribuito ben noto è etcd, comunemente usato in Kubernetes, una piattaforma per gestire applicazioni in container. Kubernetes si affida a etcd per tenere traccia di tutti lo stato e le impostazioni di configurazione delle applicazioni che gestisce.
In un'installazione di Kubernetes, tutti i dati importanti, comprese le configurazioni e i segreti, sono memorizzati in un singolo cluster etcd. Se un attaccante ottiene accesso a questo cluster, potrebbe manipolare le risorse, causando problemi all'interno di Kubernetes. Quindi, è vitale che etcd funzioni in modo corretto, affidabile e veloce, specialmente visto che sempre più datastores vengono ospitati nel cloud. Purtroppo, ospitare dati nel cloud può esporli, anche se si usano crittografia e altre misure di sicurezza.
Preoccupazioni di Sicurezza nei Datastores Cloud
Con sempre più aziende che spostano i propri dati negli ambienti cloud, la sicurezza diventa una preoccupazione maggiore. Anche con la crittografia durante la trasmissione e l'archiviazione dei dati, questi possono essere vulnerabili. Questo è particolarmente vero se i fornitori di cloud affrontano i propri problemi di sicurezza. Ad esempio, se gli attaccanti ottengono accesso privilegiato a una macchina cloud, possono eludere le misure di sicurezza implementate dai clienti e potenzialmente estrarre dati direttamente.
Per affrontare queste preoccupazioni di sicurezza, alcune tecnologie introducono Ambienti di Esecuzione Fidati (TEE). I TEE come Intel SGX, Intel TDX, AMD SEV-SNP e Arm TrustZone forniscono supporto hardware per il computing riservato. Questo tipo di computing aiuta a mantenere i dati al sicuro mentre vengono elaborati, garantendo che anche l'accesso privilegiato non comprometta i dati.
Cos'è il Computing Riservato?
Il computing riservato si concentra sulla protezione dei dati e del codice sensibili mentre sono in uso. Utilizzando i TEE, le informazioni vengono mantenute al sicuro in memoria, impedendo accessi non autorizzati o modifiche. Questo è cruciale per le aziende che gestiscono informazioni riservate o transazioni sensibili.
I TEE consentono anche l'esecuzione di intere macchine virtuali in un ambiente sicuro. Questo offre alle aziende maggiore flessibilità su come possono gestire le proprie applicazioni e le informazioni sensibili. Tuttavia, spostare semplicemente le applicazioni esistenti in un ambiente TEE non è sufficiente. Gli sviluppatori devono anche adattare le loro applicazioni per affrontare le specifiche minacce di sicurezza che derivano dal nuovo ambiente.
Sfide nell'Adattare le Applicazioni ai TEE
Trasformare le applicazioni esistenti per operare in modo sicuro nei TEE è complesso. La fiducia deve essere gestita con attenzione; continuare a fidarsi del sistema operativo host può infrangere le garanzie di riservatezza. Pertanto, costruire nuovi sistemi progettati per i TEE non è un compito semplice.
Ci sono sforzi per affrontare le sfide di esecuzione delle applicazioni nei TEE. Questi sforzi includono ricerche focalizzate sul tempo di ospite non fidato e soluzioni di archiviazione sicura, ma combinare questi elementi in sistemi efficaci rimane difficile. Inoltre, le applicazioni stesse possono essere intricate e necessitano di meccanismi per garantire che funzionino correttamente.
Anche quando le applicazioni vengono spostate in un TEE, potrebbero mancare delle adattamenti necessari per affrontare le nuove minacce di sicurezza. Ad esempio, potrebbero non fornire ai clienti un modo per convalidare le azioni di un server intermedio, costringendo i clienti a fidarsi di questi server senza verifica.
Introduzione di una Nuova Soluzione
Questo lavoro presenta un nuovo datastore distribuito a chiave-valore progettato per proteggere dati sensibili nel cloud. Si basa sulla struttura esistente di etcd, garantendo compatibilità e adattandosi anche alle nuove esigenze di sicurezza. Questo sistema affronta i problemi degli intermediari non fidati e offre una transizione graduale a un'archiviazione sicura dei dati.
Questo nuovo datastore fornisce un'API familiare simile a quella di etcd, aggiungendo funzionalità che si adattano al suo modello di minaccia. Supporta server intermedi non fidati che gestiscono transazioni sicure, consentendo ai clienti di passare agevolmente a un ambiente sicuro.
Caratteristiche e Vantaggi
Il nuovo sistema migliora la riservatezza tramite un'API a chiave-valore simile a etcd. Supporta funzionalità essenziali come query in range, transazioni, leasing e watch. Questo serve come una base solida per costruire fiducia nei sistemi che dipendono da dati sensibili.
I contributi di questo nuovo sistema includono:
- Motivazione per cui i datastores esistenti non sono adatti a una semplice transizione verso ambienti sicuri.
- Un percorso per ottenere la riservatezza dei dati senza gli svantaggi di semplicemente spostare i sistemi.
- Nuove funzioni per attendere che le richieste ottimistiche vengano gestite e per consentire ai clienti di costruire fiducia nei servizi intermediari.
- Prestazioni competitive accanto a etcd, soddisfacendo le esigenze di vari carichi di lavoro.
Comprendere etcd
etcd è un affidabile datastore a chiave-valore che è fondamentale per molti sistemi distribuiti. Offre una vasta gamma di funzionalità, inclusa un'API completa accessibile principalmente tramite gRPC. etcd supporta un modello di base in grado di gestire transazioni, leasing e funzioni di livello superiore come blocchi distribuiti. Utilizza il protocollo di consenso Raft per garantire coerenza e durata dei dati.
etcd è ampiamente implementato in sistemi di produzione grazie alla sua affidabilità e al basso carico di manutenzione. Inoltre, è in grado di funzionare sia in ambienti cloud che on-premises, rendendolo versatile per diverse applicazioni.
Per proteggere i dati, etcd implementa la crittografia per i dati in transito utilizzando TLS. Tuttavia, poiché la memoria rimane non crittografata, questo mette a rischio i deployment di etcd, specialmente negli ambienti cloud. Le chiavi di crittografia memorizzate in memoria possono portare a vulnerabilità se un attaccante ottiene accesso al sistema.
Sfide delle Attuali Implementazioni di etcd
I clienti che non si fidano completamente di etcd possono crittografare i propri dati prima di inviarli. Tuttavia, questo sposta la responsabilità per la sicurezza e la gestione delle chiavi sui clienti, introducendo ulteriore complessità.
Eseguire etcd all'interno di macchine virtuali sicure è un modo per aiutare a proteggere i dati durante l'esecuzione. Sebbene questo fornisca alcune misure di sicurezza, il modello di fiducia centrale di etcd si basa ancora fortemente sul sistema operativo host. Se l'host viene compromesso, questo può portare ad attacchi come rollback che minano l'affidabilità dei dati.
Inoltre, i sistemi che non si sono adattati al nuovo modello di minaccia possono esporre i dati a server API non affidabili. Se gli attaccanti controllano un server API, potrebbero manipolare le richieste dei clienti senza che questi se ne accorgano.
Il Nuovo Datastore a Chiave-Valore: Una Panoramica
Il nuovo datastore distribuito a chiave-valore mira a proteggere dati sensibili nel cloud. È costruito sul framework del Consorzio Riservato (CCF) e offre compatibilità con etcd affrontando le sue sfide di sicurezza. Questo sistema consente intermediari non fidati che possono terminare le connessioni TLS e aggiunge un approccio incrementale per gli utenti che si stanno trasferendo a datastores cloud sicuri.
Il framework CCF garantisce l'Integrità dei Dati memorizzati. Presenta mappe a chiave-valore per gestire lo stato in un registro e si basa su un modello di API REST per gestire le richieste. Produciendo un Merkle Tree per l'integrità dei dati, il nuovo sistema può garantire che gli aggiornamenti vengano gestiti in modo sicuro attraverso diversi nodi.
Modello Dati e Funzionalità dell'API
Questa nuova soluzione imita l'API di etcd, puntando alla compatibilità a livello di rete mentre aggiunge nuovi campi agli header delle risposte e introduce un endpoint di ricevuta. I clienti possono inviare richieste sia tramite HTTP che gRPC, offrendo flessibilità su come le applicazioni si collegano al datastore.
I valori aggiornati sono versionati con un contatore di revisione, rendendo facile tenere traccia delle modifiche storiche. I clienti possono anche stabilire leasing legati alla vitalità del cliente, garantendo una coordinazione fluida tra i sistemi distribuiti.
I valori possono essere monitorati dai clienti senza dover continuamente interrogare il datastore. I clienti possono avviare richieste di watch dalla revisione più recente per ricevere aggiornamenti o da una revisione storica precedente per mettersi in pari.
Gli header delle risposte inviati ai clienti contengono informazioni vitali, come ID del cluster, ID dei membri e le ultime revisioni. Questo aiuta i clienti a tenere traccia delle loro interazioni con il datastore in modo efficace.
Affrontare Sicurezza e Fiducia
Il nuovo sistema classifica gli attori in tre categorie: operatori non fidati, governatori fidati e clienti non fidati. Gli operatori, tipicamente gli operatori cloud, gestiscono le istanze applicative e hanno il completo controllo sull'ambiente di esecuzione.
I governatori gestiscono le operazioni di servizio basate su una costituzione definita che contiene azioni disponibili. Anche se sono fidati collettivamente, le loro azioni individuali sono soggette a scrutinio.
I clienti possono utilizzare gli endpoint dell'applicazione senza esporre dati sensibili, ma sono considerati complessivamente non fidati. Devono solo fornire certificati validi per accedere all'intera gamma di funzionalità.
Coerenza e Gestione dei Guasti
Questo sistema fornisce scritture linearizzabili e letture serializzabili. Ai clienti è permesso attendere che i valori siano confermati come impegnati, il che aiuta a garantire che ricevano dati coerenti nelle loro applicazioni.
In caso di guasti, il sistema richiede che la maggior parte dei nodi del cluster rimanga operativa per la normale ripresa da un crash. La struttura del codice all'interno del TEE aiuta a prevenire problemi legati a comportamenti malevoli nell'ambiente host, assicurando una corretta integrità dei dati.
Flessibilità nella Transizione verso Sistemi Sicuri
Il nuovo datastore a chiave-valore supporta un'adozione graduale dei principi di sicurezza, fornendo flessibilità su come i database esistenti possono transitare verso il nuovo framework. Questo consente agli operatori di testare le prestazioni e la stabilità del sistema in un data center privato prima di progredire verso un deployment nel cloud pubblico dove gli operatori possono essere non fidati.
Introducendo ricevute di scrittura, i clienti possono richiedere conferma delle loro operazioni. Questo assicura che le scritture di dati siano confermate, consentendo ai clienti di prevenire potenziali attività malevole da parte dei server intermediari che possono gestire i loro dati.
Dettagli di Implementazione
L'implementazione di questo nuovo datastore è strutturata per massimizzare l'efficienza e la sicurezza. Sfrutta il linguaggio di programmazione C++ per la funzionalità principale, integrandosi anche con il CCF. L'architettura del codice separa efficacemente le funzionalità, consentendo operazioni semplificate.
Le richieste inviate al sistema vengono instradate ed eseguite efficientemente, con i risultati registrati in un registro sicuro. Le transazioni impegnate vengono tracciate e conservate in un indice storico per facile riferimento.
Valutazione delle Prestazioni
Per valutare l'efficacia del nuovo datastore, sono stati effettuati confronti con etcd su vari carichi di lavoro. L'obiettivo era misurare le prestazioni in termini di latenza, throughput e scalabilità.
I risultati hanno indicato che, mentre il nuovo datastore mantiene prestazioni competitive, presenta un leggero sovraccarico a causa delle funzionalità di sicurezza aggiuntive che offre. Il modello di coerenza ottimistica migliora la gestione delle transazioni e mantiene i clienti informati sulle loro richieste.
Inoltre, il sistema dimostra una forte scalabilità sia orizzontale che verticale. Man mano che vengono aggiunti ulteriori nodi, le prestazioni rimangono costanti, e l'aggiunta di ulteriori thread di lavoro ottimizza il throughput complessivo.
Conclusione
Questo nuovo datastore distribuito a chiave-valore offre una base sicura per gestire dati sensibili nel cloud. Costruendo su tecnologie esistenti mentre affronta le loro limitazioni, aiuta le organizzazioni a fare il passaggio verso ambienti di computing riservato.
Con supporto per intermediari non fidati e un approccio flessibile all'adozione di principi di sicurezza, rappresenta un'opzione allettante per le aziende che cercano di proteggere i propri dati. Con le sue prestazioni competitive e caratteritistiche robuste, questo sistema è pronto a abilitare lo sviluppo di applicazioni affidabili in diversi settori.
Titolo: LSKV: A Confidential Distributed Datastore to Protect Critical Data in the Cloud
Estratto: Software services are increasingly migrating to the cloud, requiring trust in actors with direct access to the hardware, software and data comprising the service. A distributed datastore storing critical data sits at the core of many services; a prime example being etcd in Kubernetes. Trusted execution environments can secure this data from cloud providers during execution, but it is complex to build trustworthy data storage systems using such mechanisms. We present the design and evaluation of the Ledger-backed Secure Key-Value datastore (LSKV), a distributed datastore that provides an etcd-like API but can use trusted execution mechanisms to keep cloud providers outside the trust boundary. LSKV provides a path to transition traditional systems towards confidential execution, provides competitive performance compared to etcd, and helps clients to gain trust in intermediary services. LSKV forms a foundational core, lowering the barriers to building more trustworthy systems.
Autori: Andrew Jeffery, Julien Maffre, Heidi Howard, Richard Mortier
Ultimo aggiornamento: 2024-07-17 00:00:00
Lingua: English
URL di origine: https://arxiv.org/abs/2407.12623
Fonte PDF: https://arxiv.org/pdf/2407.12623
Licenza: https://creativecommons.org/licenses/by/4.0/
Modifiche: Questa sintesi è stata creata con l'assistenza di AI e potrebbe presentare delle imprecisioni. Per informazioni accurate, consultare i documenti originali collegati qui.
Si ringrazia arxiv per l'utilizzo della sua interoperabilità ad accesso aperto.