Una errata configurazione del servizio Document AI può consentire a un attaccante di esfiltrare informazioni sensibili da un bucket Google Cloud Storage.
Una vulnerabilità nel servizio Document AI di Google Cloud può consentire ai cyber criminali di esfiltrare dati sensibili grazie all’abuso delle autorizzazioni di accesso. È la conclusione di una ricerca condotta dagli esperti di Vectra AI pubblicata oggi e corredata dagli exploit Proof of Concept che dimostrano i rischi rilevati.
Per comprendere di che cosa si tratta occorrono informazioni di contesto relative al servizio in questione, Document AI. Si tratta di un servizio di Google Cloud per l’estrazione di informazioni da documenti non strutturati, mediante modelli pre-addestrati e una piattaforma per la creazione di modelli personalizzati. Document AI si serve di un account di servizio gestito da Google - noto come Service Agent – che gestisce l'ingestion, l’elaborazione e l'output dei dati.
Partecipa agli ItalianSecurityAwards 2024 ed esprimi il tuo voto premiando le soluzioni di cybersecurity che reputi più innovative
Service Agent beneficia di ampi permessi su Cloud Storage che gli permettono di accedere a qualsiasi bucket di Cloud Storage all'interno dello stesso progetto. Questa caratteristica lo rende un obiettivo di alto valore per gli attaccanti.
Quella riscontrata dagli esperti di Vectra AI è una falla di abuso di accesso transitivo, in cui si ottiene indirettamente un accesso non autorizzato tramite un intermediario di fiducia. Il caso pratico aiuta a comprendere meglio. Vectra ha riscontrato che nel corso dell’elaborazione batch (a differenza dell'elaborazione online o standard), Document AI Core Service Agent non rispetta le limitazioni dei permessi a cui è soggetto l'utente iniziale, permettendo l'esfiltrazione dei dati.
Un problema che fondamentalmente è dovuto a un'errata configurazione del servizio Document AI: nella modalità di elaborazione batch, il recupero di qualsiasi dato e la scrittura dei risultati in un bucket GCS non vengono eseguiti nel contesto dell’utente che richiede l’operazione, ma in quello del Service Agent (un account gestito da Google e utilizzato per eseguire operazioni specifiche).
Tuttavia, il servizio Document AI accetta la posizione di input per leggere i dati definita dall'utente che ha avanzato la richiesta, e una posizione di output per scrivere i risultati sempre indicata dallo stesso utente. Questo consente a un attaccante di esfiltrare dati da GCS verso un bucket Cloud Storage arbitrario, aggirando i controlli e i permessi di accesso. Da qui l’abuso di accesso transitivo: l’utente non dispone direttamente dei permessi per accedere a determinati dati, ma sfrutta le autorizzazioni assegnate automaticamente al Service Agent per ottenere non solo la lettura, ma la copia di essi su un altro bucket GCS, eludendo così i controlli di accesso normalmente previsti.
Gli esperti di Vectra propongono tre scenari per comprendere appieno il rischio. Il primo è relativo alla circostanza in cui un processore Document AI esiste già in un progetto e un attaccante necessiti solo dei permessi per elaborare i batch di documenti, così da accedere ai dati nei bucket di Cloud Storage del progetto e trasferirli a un altro bucket.
Il secondo è il caso in cui non esiste alcun processore Document AI e il cyber criminale necessita anche del permesso per crearne uno o per modificarne uno esistente, che abbia i permessi necessari per leggere i dati da un bucket di GCS e scrivere i risultati in un altro.
Ultimo scenario è quello che si verifica nel caso in cui Document AI non sia mai stato utilizzato nel progetto e l’attaccante debba attivare il servizio, recuperando i permessi legati all'abilitazione di servizi in Google Cloud.
Usando tutte le informazioni in loro possesso, gli esperti Vectra hanno realizzato quattro exploit Proof of Concept che dimostrano come sia possibile ottenere l'esfiltrazione di dati abusando di Document AI. Due exploit sfruttano i permessi estesi del Service Agent per copiare dati da un bucket Cloud Storage di input a un bucket di output specificato dall'utente. Gli altri due mostrano come tali tecniche non siano applicabili nella modalità online standard, in cui l'utente originale è sottoposto ai corretti controlli di accesso.
Alla luce di ciò gli esperti di Vectra hanno suggerito alcune possibili mitigazioni per ridurre l'impatto di questa vulnerabilità. Tra queste, la segmentazione dei progetti di Google Cloud e l’implementazione di policy per Document AI che ne impediscano l'uso non autorizzato.
Al momento Google non ha provveduto a chiudere la falla.