I Service Tags di Azure hanno una falla di sicurezza, ma per Microsoft è un problema di comunicazione
Una vulnerabilità (o semplicemente un malfunzionamento) in Azure potrebbe potenzialmente permettere a malintenzionati di aggirare le regole del firewall e accedere alle risorse web private di altre persone. Il problema, scoperto dal team di ricerca di Tenable, deriva dai Service Tags, una funzionalità di Azure.
I Service Tags possono essere utilizzati per raggruppare gli indirizzi IP utilizzati dai servizi Azure, rendendo teoricamente più facile controllare l’accesso alla rete da e verso queste risorse. Ad esempio, se si desidera che un servizio Azure specifico interagisca con la propria applicazione web privata, si può utilizzare un Service Tag per consentire solo le connessioni di quel servizio specifico attraverso un firewall all’applicazione.
Tenable ritiene che questi tag possano essere sfruttati da un cliente Azure malintenzionato per accedere alle risorse di altri clienti (un attacco cross-tenant) se queste vittime si affidano ai Service Tags nelle loro regole del firewall. Microsoft, tuttavia, non intende risolvere il problema perché non considera la questione una vulnerabilità e ritiene che la questione sia un malinteso su come si decide di utilizzare i Service Tags e il loro scopo previsto.
Dopo però che Tenable ha segnalato il problema a gennaio, Microsoft ha confermato che si trattava di un “difetto di elevazione dei privilegi” con un livello di gravità importante e ha pagato a Tenable una ricompensa per aver scoperto il bug. Un mese dopo, secondo Tenable, Microsoft ha sviluppato una soluzione completa e una timeline per l’implementazione, ma poi ha deciso di affrontare la questione solo con un aggiornamento completo della documentazione, ritenendo che la “debolezza” dei Service Tags possa essere risolta al meglio con strati combinati di controlli di sicurezza.
Tenable, nel frattempo, ha pubblicato la sua descrizione tecnica del problema, insieme a uno scenario di proof of concept che potrebbe essere utilizzato per sfruttare questo problema utilizzando Azure App Services. La vulnerabilità colpisce almeno altri 10 servizi Azure, tra cui Application Insights, DevOps, Machine Learning, Logic Apps, Container Registry, Load Testing, API Management, Data Factory, Action Group, AI Video Indexer e Chaos Studio.
Per prevenire questo tipo di abuso, Microsoft raccomanda l’aggiunta di controlli di autenticazione e autorizzazione e non solo l’affidamento alle regole del firewall. Quindi, ad esempio, i clienti che utilizzano Azure Monitor Availability Tests per monitorare il tempo di attività delle loro risorse, dovrebbero fare quanto segue:
“Per impedire al Service Tag ApplicationInsightsAvailability di passare traffico di rete indesiderato ai vostri endpoint di servizio, create un token e aggiungetelo come intestazione HTTP nel vostro test di disponibilità. Il vostro servizio può quindi convalidare l’intestazione HTTP nelle richieste in arrivo per autenticare che l’origine del traffico provenga dai vostri test di disponibilità. In questo modo tutte le altre richieste senza l’intestazione HTTP personalizzata sarebbero rifiutate e scartate”, si legge nella documentazione di Microsoft.
La conclusione, secondo entrambi i fornitori, è implementare più livelli di sicurezza per proteggere risorse e dati preziosi.