Un team di ricercatori ha individuato una falla critica in Microsoft 365 Copilot Enterprise che permetteva di sottrarre dati sensibili degli utenti senza consenso, sfruttando un parametro nascosto nelle richieste URL. Microsoft ha corretto il problema dopo la segnalazione.
Un gruppo di ricercatori di Varonis ha scoperto una vulnerabilità significativa in Microsoft 365 Copilot Enterprise che consentiva a potenziali attaccanti di accedere e sottrarre dati sensibili degli utenti senza alcuna conferma o azione esplicita da parte loro. L'aspetto più sorprendente è che la chiave per l'attacco è stata ottenuta interrogando direttamente Copilot, che ha rivelato dettagli tecnici sui suoi meccanismi di sicurezza.
Gli esperti volevano dimostrare come fosse possibile esfiltrare dati semplicemente inducendo un utente a cliccare su un link. Inizialmente, Copilot rifiutava di eseguire comandi sensibili senza un gesto esplicito dell'utente, come la pressione di un tasto. Tuttavia, rispondendo a una serie di domande mirate, Copilot ha finito per svelare un parametro URL non documentato, ?autorun=1, che, combinato con ?q=, permetteva l'esecuzione automatica di prompt all'apertura della pagina.
Come funzionava l'attacco e la risposta di Microsoft
Utilizzando il parametro ?autorun=1 insieme a ?q=, i ricercatori hanno creato link malevoli che, una volta cliccati dalla vittima, attivavano Copilot per eseguire comandi senza alcuna interazione aggiuntiva. Un esempio di prompt utilizzato chiedeva a Copilot di cercare l'ultima email ricevuta, estrarre l'indirizzo del mittente e inviarlo a un server controllato dagli attaccanti tramite un URL costruito ad hoc. In altri casi, il prompt poteva richiedere la ricerca di password o credenziali presenti nella casella di posta, con la trasmissione dei dati sensibili codificati in base64 verso siti esterni.
La procedura sfruttava la sessione autenticata dell'utente su copilot.microsoft.com, garantendo così l'accesso a tutte le app e i dati collegati. Microsoft ha risolto silenziosamente la vulnerabilità a febbraio, tre mesi dopo la segnalazione, impedendo l'iniezione di testo tramite ?q= e richiedendo l'inserimento manuale dei prompt. Ulteriori misure di sicurezza sono state introdotte successivamente.
Attacchi alla memoria permanente e raccomandazioni per gli utenti
Oltre all'esfiltrazione di dati tramite link, Varonis ha dimostrato un secondo attacco: la manipolazione della memoria permanente di Copilot tramite prompt injection nascosti nei metadati delle pagine web. In questo modo, era possibile alterare preferenze e istruzioni memorizzate dall'assistente, influenzando le risposte future e potenzialmente eseguendo azioni su condizioni definite dall'attaccante. Queste "false memorie" persistevano anche dopo cambi di password o revoche di sessione, e potevano essere individuate solo tramite un controllo manuale.
Varonis ha denominato questi attacchi "Co-Snitch", sottolineando come la stessa Copilot abbia fornito involontariamente le informazioni necessarie per aggirare le sue difese. L'episodio evidenzia i limiti delle attuali strategie di sicurezza basate su restrizioni reattive nei modelli linguistici di grandi dimensioni. Gli utenti sono invitati a prestare attenzione ai link sospetti e a monitorare eventuali comportamenti anomali degli assistenti AI, limitando l'accesso alle app sensibili.