Un ricercatore di sicurezza informatica ha dimostrato come fosse possibile compromettere un’enorme quantità di account Electronic Arts (EA), stimati intorno ai 700 milioni. Le vulnerabilità individuate nei sistemi EA hanno messo in evidenza debolezze critiche nei sistemi di autenticazione e gestione delle sessioni, esponendo i dati personali e le informazioni di accesso di milioni di utenti.
Iniziamo col dire che Sean Kahler, questo il nome dell’esperto protagonista della scoperta, ha agito in modo responsabile: a metà giugno 2024 ha segnalato privatamente l’esistenza delle vulnerabilità al team di Electronic Arts per poi attendere la risoluzione di tutte le problematiche prima di raccontare la sua scoperta.
Prendere il controllo di 700 milioni di account Electronic Arts da un solo PC
L’incidente che ha visto protagonista Electronic Arts dimostra come anche aziende leader nel settore tecnologico, con milioni di utenti all’attivo, possano essere vulnerabili agli attacchi informatici. Sebbene EA abbia messo una pezza alle vulnerabilità individuate da Kahler, l’accaduto fa da promemoria della necessità costante di aggiornare e monitorare le pratiche di sicurezza.
È inoltre bene capire come l’hacker etico, utilizzando soltanto il suo PC, sia riuscito a prendere potenzialmente il controllo di 700 milioni di account utente EA.
EA Desktop è la piattaforma di gioco per PC sviluppata da Electronic Arts e concepita per sostituire il precedente client Origin. Kahler racconta della comparsa di un banner che integrava chiari riferimenti all’ambiente di sviluppo “integration”. Ciò indicava che l’applicazione era connessa all’ambiente di sviluppo, anziché all’ambiente di produzione.
Durante questa fase di test, il ricercatore è riuscito a ottenere un token di accesso dotato di privilegi all’interno dell’ambiente di integrazione EA. Ciò è stato possibile grazie al fatto che un determinato gioco conteneva delle credenziali hardcoded nel proprio eseguibile, consentendo di bypassare le normali restrizioni di accesso.
Scansione delle API e documentazione
Dopo la prima determinante scoperta, Kahler ha avviato una sorta di scansione alla ricerca di URL EA che potessero fornire qualche documentazione sulle API (Application Programming Interface) utilizzate dall’azienda per dialogare con i software client.
A valle di alcuni tentativi infruttuosi, l’esperto ha provato l’URL /connect/api-docs
, che inizialmente restituiva un errore 404. Nonostante ciò, l’hacker nota che la risposta ottenuta non contiene informazioni addizionali, come nel caso delle altre risposte 404 per URL inesistenti. Questo è un indizio del fatto che il percorso /connect/api-docs
potrebbe puntare a un altro servizio o essere configurato in modo diverso rispetto agli altri endpoint. Spesso le ricerche nell’ambito della sicurezza informatica partono proprio da questo tipo di test.
Scoperta di un file Swagger
Insistendo con i test sulla directory /connect/api-docs
, Kahler alla fine trova un file JSON che descrive l’API: swagger.json
.
Swagger è un framework open source per la progettazione, la documentazione e il test delle API RESTful. Fornisce strumenti e una specifica che permettono di descrivere e visualizzare le API in modo che gli sviluppatori possano capire come interagire con esse senza dover esaminare il codice sorgente.
Il file così scoperto si rivela molto utile, contenendo una lista di endpoint e parametri di grande interesse. La vera scoperta è che l’API Nexus Connect, utilizzata come servizio e strumento di autenticazione da EA, risulta ben documentata ed “esplorabile”, aprendo nuove possibilità per investigare sulle altre funzionalità.
L’autore della ricerca ha quindi indagato su diversi endpoint delle API di EA, scoprendo una moltitudine di informazioni riservate riguardanti i giochi, i team di sviluppo e la gestione dei permessi. Ha trovato documentazione interessante per vari servizi come la gestione dell’identità, la fatturazione e le autorizzazioni per i giochi.
Accesso alle informazioni sugli account
Kahler ha scovato, sui server EA, l’interessante endpoint /identity/pids/me
, che restituisce informazioni generali sugli account: ID dell’utente (pidId), stato dell’account, indirizzo email verificato e altre informazioni relative alla sicurezza, come l’abilitazione dell’autenticazione a due fattori.
Il ricercatore ha quindi posto sotto la sua lente /identity/pids/me/personas
, che restituisce una lista di personas associate a un account. Ogni personas rappresenta un’entità distinta (ad esempio, un nome utente) su diverse piattaforme come Steam, Xbox e così via. I dati mostravano che un account EA può avere più personas, ognuna con un nome utente e una piattaforma specifica associati.
L’hacker ha quindi stabilito che utilizzando il metodo PUT e l’endpoint /identity/pids/{pidId}/personas/{personaId}
, risultava possibile aggiornare i dati degli account.
Kahler ha testato anche la possibilità di cambiare lo stato di qualunque personas: i possibili valori per lo stato includono “ACTIVE”, “DISABLED”, “PENDING”, “DELETED”, “BANNED”. Ha cambiato il suo status in “BANNED” di fatto bloccando l’accesso all’account EA.
Cambio dell’ID associato alle personas
La parte più scioccante della scoperta riguarda la possibilità di modificare l’ID dell’account (pidId) di una persona. Kahler ha inoltrato dal suo PC una richiesta PUT con l’ID di un amico al posto del proprio. In questo modo è riuscito a modificare l’associazione tra un account Steam (personas) e il corrispondente account EA.
L’attaccante può quindi trasferire i dati dell’account di un altro utente, rubando il nome utente, i dati di gioco e persino bloccando o bannando l’account. L’accesso a un account può anche avvenire bypassando le verifiche di sicurezza tramite l’uso dei token di console, permettendo a chiunque di ottenere accessi senza alcuna interazione da parte degli utenti.
Conclusioni
Come spiega Kahler nella sua dettagliata analisi, le vulnerabilità individuate derivano da una cattiva gestione delle API, che non validano correttamente i dati degli utenti, permettendo a un attaccante di manipolare account altrui.
La facilità con cui era possibile eseguire gli attacchi, sostiene ancora il ricercatore, è indicativa di un problema di progettazione e sicurezza, che avrebbe dovuto essere risolto tempestivamente.
L’autore dello studio suggerisce che un programma bug bounty promosso direttamente da EA, avrebbe incentivato la segnalazione delle vulnerabilità.
Credit immagine in apertura: Electronic Arts