La nota piattaforma di hosting per progetti software GitHub sta indagando da giorni su un problema di sicurezza che ha interessato decine di organizzazioni.
Un gruppo di criminali informatici al momento sconosciuto sarebbe riuscito a rubare token OAuth altrui per guadagnare l’accesso al contenuto di una serie di repository GitHub privati, sottraendo dati sensibili e informazioni riservate.
Stando alle prime analisi, come spiega GitHub in un resoconto che viene continuamente aggiornato, i token OAuth non sarebbero stati sottratti sui server dell’azienda (anche perché non sono memorizzati in un formato sfruttabile da eventuali aggressori) ma su altri host.
I token OAuth in questione sono stati rilasciati da GitHub a due conosciutissimi servizi di i integrazione come Heroku e Travis-CI, entrambi utilizzati dagli sviluppatori software per creare e testare progetti ospitati su GitHub.
I portavoce di GitHub spiegano che gli aggressori hanno utilizzato le API della piattaforma autenticandosi con i token OAuth rilasciati a Heroku e Travis-CI quindi sono risaliti alla lista delle organizzazioni che hanno autorizzato le app Heroku e Travis-CI nei rispettivi account GitHub.
A questo punto l’attacco è proseguito selezionando gli obiettivi di maggior interesse per gli aggressori, con l’accesso al contenuto dei repository privati e con la successiva sottrazione di dati riservati.
I token OAuth possono essere rubati
In un altro articolo abbiamo visto cos’è il protocollo OAuth e di come molti di noi lo utilizzino ogni giorno per autenticarsi sui siti Web di terze parti usando ad esempio Google, Microsoft, Facebook od Apple come “intermediari”, senza la necessità di effettuare alcuna nuova registrazione.
Tutto molto comodo. Come però vengono sottratte le credenziali di accesso, i criminali informatici da tempo hanno sviluppato grande interesse per le tecniche che permettono di sottrarre i token OAuth altrui e porre in essere veri e propri furti d’identità.
I forum del “mercato nero” sono pieni zeppi di offerte pubblicate da venditori senza scrupoli che forniscono token OAuth di utenti inconsapevoli.
Molti vedono i token OAuth come qualcosa di più sicuro rispetto alle soluzioni di autenticazione più tradizionali. In realtà, parlando di browser Web, esistono molti strumenti di supporto per conservare informazioni in modo persistente nel tempo: cookie, session storage, local storage, IndexedDB, Web SQL. Per salvare i token OAuth è possibile sfruttare qualunque di questi strumenti: per verificare quali vengono usati basta aprire la sezione Strumenti per gli sviluppatori (tasto F12
) del browser e ispezionare il flusso delle informazioni di autenticazione nella sezione Application.
Nel caso di specie, in attesa di capire dove i token OAuth sono stati sottratti, GitHub, Travis-CI e Heroku hanno revocato tutti i token OAuth per bloccare ulteriori accessi da parte di utenti non autorizzati.
Viene però consigliato a tutte le organizzazioni colpite di continuare a monitorare i loro log di sicurezza esaminando eventuali attività potenzialmente dannose.