Di recente, i ricercatori della North Carolina State University hanno scoperto oltre 100 mila progetti su GitHub dove sono stati salvati in chiaro token, chiavi di cifratura e altri dati riservati. In totale, oltre mezzo milione di questi oggetti erano di pubblico dominio e oltre 200 mila erano dati unici. Inoltre, i token appartenevano a grandi aziende come Google, Amazon, MSW, Twitter, Facebook, MailChimp, MailGun, Stripe, Twilio, Square, Braintree e Picatic.
GitHub è una risorsa molto utilizzata per lo sviluppo di software aziendali. Si usa per custodire codici in repository con accesso più o meno limitato, per collaborare con i colleghi e coinvolgerli nel programma di test e per utilizzare risorse già pronte e open-source. GitHub rende più semplice e più veloce il processo di creazione di app e servizi, per questo molti programmatori sono contenti di utilizzarlo. Le aziende che creano i propri software basati su moduli open-source si avvalgono di GitHub continuamente; inoltre, se ne servono quelle aziende per le quali la trasparenza è una priorità.
In ogni caso, quando si carica un codice su GitHub bisogna fare molta attenzione, e questo è un consiglio che alcuni sviluppatori non seguono.
Quali sono i dati diventati di dominio pubblico
È stato scoperto che GitHub ospitava blocchi di codice aperti a tutti che comprendevano token e chiavi di cifratura, grazie alle quali era possibile accedere a certe azioni ed eseguirle al posto di app e utenti. Tra le informazioni che non dovevano essere disponibili c’erano:
- Credenziali d’accesso degli account di amministratore di siti importanti;
- Chiavi API o token che permettono di utilizzare funzionalità API in-app: si tratta di una serie di tool per l’interazione tra diversi componenti di sistema (ad esempio tra un programma e un sito);
- Chiavi di cifratura, molte delle quali servivano per l’accesso al posto di una password e per varie risorse, comprese reti privati;
Perché sono a rischio i token e le chiavi di cifratura filtrati
L’accesso non autorizzato, anche se limitato, ai vostri account rappresenta una seria minaccia per il vostro business. Ecco perché in qualche esempio.
Un modo per utilizzare i token in maniera inappropriata su GitHub è pubblicando mail a raffica e post che sembrano provenire dall’azienda che ha pubblicato questi token. Ad esempio, un intruso può ottenere accesso a un sito aziendale o al suo account Facebook e di Twitter dove pubblicherà un post dannoso o un link di phishing. Dal momento che i siti e gli account ufficiali di solito sono considerati una fonte affidabile di informazioni, è molto probabile che vari utenti o lettori considerino sicuro il post o il link in questione.
Oppure, i cybercriminali possono mandare messaggi di phishing alla vostra lista di iscritti (se utilizzate MailChimp ad esempio). Come nel caso precedente, ci si aspetta che gli utenti abbiamo piena fiducia in ciò che contiene un’e-mail inviata da un’azienda affidabile. Attacchi di questo tipo possono minare seriamente la reputazione di un’azienda, il che porta a perdere clienti e a dover investire risorse ingenti per il ripristino della normale attività.
Infine, i cybercriminali possono semplicemente utilizzare delle funzionalità a pagamento di un servizio a vostre spese (come Amazon AWS). Ad esempio, il blogger Luke Chadwick ha ricevuto un messaggio da Amazon in cui veniva avvertito che la sua chiave su GitHub era di pubblico dominio. Facendo le dovute ricerche è risalito a un vecchio progetto che, per un qualche motivo, si era dimenticato di chiudere; quando si è collegato al suo account Amazon, ha scoperto di avere una fattura in sospeso da pagare di 3.493 dollari. Un utente non autorizzato si era appropriato di quella chiave di pubblico dominio e si era dedicato al mining di criptovalute con il suo account. Alla fine, Amazon ha rimborsato Chadwick ma ricordate che non tutte le storie hanno un lieto fine.
Com’è possibile che questi dati così privati siano andati a finire su GitHub?
L’analisi dei risultati di ricerca mostra che non solo programmatori giovani e senza esperienza hanno lasciato informazioni riservate di dominio pubblico. Ad esempio, sono stati pubblicati su GitHub dei dati che consentivano l’accesso a un sito di una grande istituzione governativa da uno sviluppatore con 10 anni di lavoro all’attivo.
I token e tutte le altre tipologie di chiavi sono stati pubblicati sui repository GitHub per varie ragioni. I tool di autorizzazione possono essere richiesti per integrare una app con un determinato servizio. Quando si pubblica il codice per fare delle prove, alcuni programmatori utilizzano le chiavi realmente valide al posto delle chiavi di debug e poi si dimenticano di eliminare queste informazioni dall’accesso pubblico.
Ad esempio, il CEO di Securois e analista Rich Mogull ha caricato su GitHub una app che stava sviluppando per una presentazione di una conferenza. Il programma ha inviato chiamate a Amazon AWS e Mogull ha immagazzinato in locale tutti i dati per le autorizzazioni. Tuttavia, per il debug di blocchi individuali di codici, ha creato un file di prova contenente diverse chiavi di accesso. Dopo il debugging, Mogull si è semplicemente dimenticato di eliminarle dal file. I cybercriminali le hanno trovate e hanno così “scroccato” 500 dollari in servizi Amazon prima che qualcuno se ne accorgesse.
Inoltre, gli sviluppatori possono anche non conoscere i rischi di lasciare i token validi sui repository GitHub e devono localizzare ed eliminarli (o sostituirli) prima di caricare il codice su GitHub.
Come proteggere le vostre risorse
- Accertatevi che i vostri sviluppatori siano consapevoli del fatto che caricare chiavi e token validi per aprire repository può essere dannoso e pericoloso. I programmatori dovrebbero capire che, prima di collocare un codice, devono verificare che non contenga dati riservati;
- Il Product Manager deve verificare che i progetti della compagnia su GitHub non contengano dati riservati e, in caso contrario, eliminarli in maniera scrupolosa, affinché non rimanga alcuna traccia nella cronologia delle modifiche;
- Se i dati che l’azienda custodisce su GitHub contengono delle password, assicuratevi di cambiarle. Non c’è modo di sapere se qualcuno ha già visto e salvato il codice;
- Fate in modo che i vostri dipendenti siano consapevoli naturalmente delle norme di sicurezza informatica, affinché facciano un uso responsabile di GitHub e di altri tool o risorse. La nostra piattaforma può aiutarvi in questo, in modo pratico ed efficace, e senza ostacolare l’operatività.