eMicro: Real-Time Multi-Hop Access Control for Microservices with eBPF
Il documento presenta eMicro, un sistema di difesa efficiente basato su eBPF che implementa il controllo degli accessi multi-hop in tempo reale per i microservizi codificando le policy di sicurezza come automi a stati finiti deterministici per prevenire attacchi multi-hop complessi con un overhead di runtime trascurabile.
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
Immagina Internet come una città enorme e frenetica dove ogni edificio è un piccolo lavoratore specializzato chiamato "microservizio". Invece di un'unica, enorme fabbrica che fa tutto, questi lavoratori si scambiano biglietti per portare a termine un lavoro. A volte, un biglietto va dal Panificio alla Banca, poi alla Guardia di Sicurezza e infine alla Cassaforte. È così che funzionano le app moderne: sono composte da migliaia di questi piccoli servizi che danzano in un complesso movimento coordinato.
Ma ecco la parte complicata: le guardie di sicurezza di solito controllano solo la persona che hanno proprio di fronte. Se il Panificio invia un biglietto alla Banca, la guardia controlla se il Panificio è autorizzato a parlare con la Banca. Non guardano come il Panificio sia arrivato lì. Questo crea un trucchetto subdolo. Un malintenzionato potrebbe ingannare il Panificio affinché invii un biglietto alla Banca, e la Banca potrebbe pensare: "Oh, il Panificio sta parlando con me, va bene così!", senza rendersi conto che il Panificio era in realtà stato costretto da un hacker. Questo è chiamato un "attacco multi-hop", dove il malintenzionato salta da un lavoratore legittimo all'altro, costruendo una catena di fiducia che sembra corretta in ogni singolo passaggio, ma che in realtà è un disastro dall'inizio alla fine.
Il documento che state per leggere, chiamato eMicro, affronta esattamente questo problema. Si chiede: come possiamo fermare queste catene subdole senza rallentare tutto o costringere ogni lavoratore a portare uno zaino gigante e pesante pieno di storia? Gli autori, un team di ricercatori della Virginia Tech, IBM e altri, hanno costruito un sistema che agisce come un vigile urbano super intelligente e invisibile. Invece di controllare solo la persona alla porta, questo vigile conosce l'intera storia del viaggio del biglietto. Utilizza una tecnologia speciale chiamata eBPF (che permette ai programmi di girare in sicurezza all'interno del motore centrale del computer) per tracciare il percorso senza dover cambiare l'uniforme dei lavoratori. Usano anche un astuto trucco matematico chiamato DFA (un tipo di diagramma di flusso) per ricordare le regole in modo così efficiente da occupare quasi zero spazio. Il risultato? Un sistema che ferma questi attacchi subdoli in tempo reale, lavora in modo incredibilmente veloce e si adatta ai massicci sistemi cloud senza fare fatica.
La reazione a catena subdola
Immaginiamo di avere un'app per la condivisione di foto. Ha una porta d'ingresso (nginx), un editor di foto (media), una stanza dei magazzini (cloud) e una cassaforte per le password (creds). In una giornata normale, un utente chiede alla porta d'ingresso una foto. La porta d'ingresso chiede all'editor, l'editor chiede alla stanza dei magazzini e, pop, ottieni la tua foto. Questo è un percorso sicuro.
Ora, immagina che un hacker trovi una piccola crepa nella porta d'ingresso. Inganna la porta d'ingresso affinché chieda alla cassaforte delle password una chiave, fingendo che sia una richiesta normale. Una guardia di sicurezza tradizionale guarderebbe la porta d'ingresso e la cassaforte delle password e direbbe: "Ehi, la porta d'ingresso è autorizzata a parlare con la cassaforte delle password a volte, quindi procedi!". La guardia ignora il fatto che la porta d'ingresso avrebbe dovuto parlare con l'editor, non con la cassaforte. L'hacker ha avuto successo nel "piegare" il flusso di lavoro.
Questo è il problema "multi-hop". L'attacco non è una grande esplosione; è una serie di piccoli passi, apparentemente legali, che portano al disastro. Il documento spiega che i vecchi sistemi di sicurezza sono come guardie che guardano solo la persona che hanno davanti. Non gli importa se quella persona è stata spinta da uno sconosciuto cinque passi prima.
Entra in gioco eMicro: Il Custode della Storia
Gli autori di questo documento hanno costruito eMicro per risolvere questo problema. Pensa a eMicro come a un sistema che dà a ogni richiesta un "tag della storia". Quando una richiesta inizia, riceve un'etichetta minuscola. Mentre si muove dalla porta d'ingresso all'editor, l'etichetta si aggiorna dicendo: "Sono venuta dalla porta d'ingresso". Quando si sposta alla stanza dei magazzini, l'etichetta dice: "Sono venuta dalla porta d'ingresso, poi dall'editor".
Se un hacker prova a ingannare la porta d'ingresso per andare direttamente alla cassaforte delle password, l'etichetta sarà sbagliata. Dirà: "Io sono la porta d'ingresso", ma la cassaforte si aspetta un'etichetta che dica: "Io sono la porta d'ingresso dopo aver parlato con l'editor". Il sistema vede la discrepanza e blocca istantaneamente la richiesta.
Ma ecco la magia: portare un'etiche even di una storia completa per ogni singola richiesta sarebbe pesante e lento. Immagina se ogni volta che invii un messaggio, dovessi allegare una biografia di 50 pagine di tutte le persone con cui hai parlato prima. Questo intaserebbe la rete.
Il diagramma di flusso magico (DFA)
Per risolvere il problema dello "zaino pesante", i ricercatori hanno usato un astuto trucco matematico chiamato Automa a Stati Finiti Deterministico (DFA). Invece di scrivere tutta la storia, il sistema trasforma le regole in un enorme ed efficiente diagramma di flusso.
Immagina un diagramma di flusso dove ogni passo che fai ti sposta in un nuovo cerchio.
- Cerchio 0: Inizio.
- Cerchio 1: Hai parlato con la Porta d'Ingresso.
- Cerchio 2: Hai parlato con la Porta d'Ingresso, poi con l'Editor.
- Cerchio 3: Hai parlato con la Porta d'Ingresso, l'Editor, poi con il Magazzino.
Il sistema non trasporta le parole "Porta d'Ingresso, Editor, Magazzino". Trasporta solo il numero del cerchio in cui ti trovi (ad esempio, "Cerchio 3"). Se provi a saltare dal Cerchio 1 direttamente alla Cassaforte delle Password, il diagramma di flusso dice: "Aspetta, non c'è una linea dal Cerchio 1 alla Cassaforte!" e ti blocca.
Questo è incredibilmente efficiente. Il documento mostra che mentre un modo "standard" per scrivere la storia potrebbe richiedere centinaia di bit (come una lunga stringa di 1 e 0), questo metodo del diagramma di flusso lo riduce a pochissimi bit. Nei loro test, hanno memorizzato 50 milioni di diverse regole di sicurezza in soli 100 MB di spazio. È come infilare una biblioteca di milioni di libri in un singolo smartphone.
Il Vigile Urbano Invisibile (eBPF)
Come fa eMicro ad aggiornare queste etichette così velocemente senza chiedere a ogni singolo programma per computer di cambiare il proprio codice? La risposta è eBPF.
Pensa a eBPF come a uno strumento speciale che ti permette di eseguire piccoli programmi sicuri all'interno del motore del computer (il kernel). Di solito, per tracciare ciò che accade, dovresti chiedere a ogni singola app di installare un tracker, il che è un incubo per gli sviluppatori. eMicro non lo fa. Inveve, attacca i suoi piccoli programmi ai tubi di rete e ai processi interni del computer.
Quando un pacchetto di una richiesta lascia un servizio, il programma eBPF lo intercetta, aggiorna il "numero del cerchio" (l'etichetta) e lo lascia andare. Accade così velocemente che la richiesta non se ne accorge nemmeno. Il documento ha misurato questo e ha scoperto che eMicro aggiunge meno di 1 microsecondo (che è un milionesimo di secondo) al tempo necessario per controllare una richiesta. È più veloce di un battito di ciglia umano.
Cosa hanno scoperto
Il team ha testato eMicro in diversi modi per assicurarsi che funzioni davvero:
- Fermare gli attacchi: Hanno simulato tre tipi di attacchi subdoli, inclusi hacker che ingannano i servizi per farli parlare con i posti sbagliati e l'uso di software malevolo per scansionare la rete. eMicro ha bloccato il 100% di questi attacchi. Al contrario, i vecchi metodi di sicurezza "controlla il vicino di casa" ne hanno catturati solo una minima frazione. Ad esempio, in una catena di 6 passaggi, i vecchi metodi hanno catturato solo lo 0,3% dei percorsi dannosi, mentre eMicro ha catturato tutto.
- Velocità: Hanno fatto passare 12 milioni di richieste attraverso il loro sistema. eMicro ha mantenuto il traffico fluido, aggiungendo quasi nessun ritardo. Era il 35% più veloce dei vecchi sistemi centralizzati che cercavano di fare la stessa cosa ma dovevano chiedere il permesso a un capo centrale ogni volta.
- Spazio: Come menzionato, hanno memorizzato 50 milioni di policy in 100 MB di memoria. Questo è un enorme miglioramento rispetto ai vecchi metodi che avrebbero richiesto gigabyte di spazio.
- Affidabilità: Hanno persino testato cosa succede se un computer nella rete si guasta. eMicro utilizza un sistema chiamato Raft per garantire che tutti i computer concordino sulle regole. Se uno si guasta, gli altri prendono il sopravvento e il sistema si riprende in meno di 4 secondi.
Perché è importante
Il documento conclude che eMicro è una soluzione pratica e reale. Non richiede di riscrivere tutto il software del mondo e non rallenta le cose. Dimostra che puoi avere una guardia di sicurezza che conosce l'intera storia di ogni richiesta, non solo la persona che ha davanti a sé.
Gli autori avvertono che, sebbene il loro sistema sia ottimo per i microservizi, non è una bacchetta magica per ogni problema di sicurezza. Presuppone che il motore centrale del computer (il kernel) sia sicuro. Se un hacker prende il controllo totale del cervello del computer, potrebbe spegnere la guardia. Ma per la stragrande maggioranza degli attacchi cloud in cui gli hacker cercano di infiltrarsi attraverso le crepe tra i servizi, eMicro chiude i buchi.
In breve, eMicro prende la complessa, invisibile rete delle moderne app e le fornisce un insieme di regole chiare, veloci e indistruttibili. Trasforma una caotica città di lavoratori in una squadra ben organizzata dove tutti sanno esattamente con chi devono parlare, e nessuno può intrufolarsi dalla porta sul retro.
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.