La società GitHub ha pubblicato i risultati dell'analisi di un attacco avvenuto il 12 aprile, durante il quale i malintenzionati hanno avuto accesso agli ambienti cloud del servizio Amazon AWS utilizzati nell'infrastruttura del progetto NPM. L'analisi dell'incidente ha mostrato che gli aggressori hanno ottenuto l'accesso ai backup dell'host skimdb.npmjs.com, compreso un backup del database contenente i dati di circa 100.000 utenti di NPM risalenti al 2015, che includeva hash delle password, nomi ed email.
Gli hash delle password sono stati creati utilizzando gli algoritmi PBKDF2 o SHA1 con sale, che nel 2017 sono stati sostituiti da bcrypt, più resistenti agli attacchi di forza bruta. Dopo la scoperta dell'incidente, le password compromesse sono state resettate e agli utenti è stato inviato un avviso per la necessità di impostare una nuova password. Poiché dal 1° marzo NPM ha attivato l'autenticazione a due fattori obbligatoria con conferma tramite email, il rischio di compromissione degli utenti è stato valutato come insignificante.
Inoltre, sono stati sottratti tutti i file manifesto e i metadati dei pacchetti privati risalenti ad aprile 2021, file CSV con l'elenco aggiornato di tutti i nomi e versioni dei pacchetti privati, nonché il contenuto di tutti i pacchetti privati di due clienti di GitHub (i nomi non sono divulgati). Per quanto riguarda il repository stesso, l'analisi delle tracce e la verifica degli hash dei pacchetti non hanno rivelato modifiche apportate dagli aggressori nei pacchetti NPM né la pubblicazione di nuove versioni falsificate dei pacchetti.
L'attacco è stato effettuato il 12 aprile utilizzando token OAuth rubati, generati per due integratori di GitHub di terze parti: Heroku e Travis-CI. Sfruttando questi token, gli aggressori sono riusciti a estrarre dai repository privati di GitHub una chiave per accedere all'API di Amazon Web Services, utilizzata nell'infrastruttura del progetto NPM. La chiave acquisita ha consentito di accedere ai dati archiviati nel servizio AWS S3.
Sono state inoltre rivelate informazioni su gravi problemi di riservatezza già noti nella gestione dei dati degli utenti su server NPM — nei log interni venivano conservate in chiaro le password di alcuni utenti NPM, così come i token di accesso a NPM. Durante l'integrazione di NPM con il sistema di registrazione dei log di GitHub, gli sviluppatori non hanno garantito la rimozione delle informazioni riservate dalle richieste loggate ai servizi di NPM. Si afferma che la mancanza sia stata corretta e che i log siano stati ripuliti prima dell'attacco a NPM. L'accesso ai log contenenti le password in chiaro era riservato solo a pochi dipendenti di GitHub.
Fonte: opennet.ru
