Uno studio curato dall’azienda di sicurezza Aqua ha mostrato che, per lo meno a livello potenziale, milioni di repository GitHub sono esposti a RepoJacking.
Gli attacchi RepoJacking prevedono che gli hacker rivendichino il nome di un repository dopo che il legittimo proprietario lo ha cambiato e lo popolino di codice malevolo che chiunque può prelevare.
Ciò espone chiunque a pericoli, anche le grandi aziende che usano GitHub così come quelle che ne fanno uso per pubblicare contenuti, nessuna esclusa.
C’è però una nota positiva: le organizzazioni, avvertite di questa vulnerabilità, hanno saputo rimediare al rischio in tutta rapidità, così come riferito da Pierluigi Paganini, esperto di cyber security ed intelligence e che abbiamo contattato per entrare maggiormente nel dettaglio.
Juice jacking: cos’è, come funziona e come difendere gli smartphone dagli attacchi via USB
Indice degli argomenti
Gli attacchi RepoJacking
In un attacco RepoJacking gli aggressori rivendicano come proprio un repository che ha cambiato nome, spacciandolo quindi per quello originale e facendone uso per distribuire codice malevolo prelevabile senza limiti da chiunque.
Può sembrare una vulnerabilità circoscritta ma, sempre stando ai ricercatori di Aqua, i numeri suggeriscono tutt’altro. Dal database di GitHub, in questo caso aggiornato al mese di giugno del 2019, nel quale vengono conservate informazioni pubbliche come le modifiche dei nomi utente, hanno analizzato 1,25 milioni di repository (l’1%) riscontrando che, tra questi, 36.983 fossero vulnerabili a RepoJacking.
Questo porta a calcolare che, considerando la base di 300 milioni di repository annunciati da GitHub, quelli a rischio sono milioni.
La vulnerabilità può coinvolgere chiunque, spiega Paganini: “Tutto ciò che un attaccante deve fare è rivendicare il vecchio nome di un repository dopo che il creatore legittimo ha cambiato nome. A questo punto, un repository non autorizzato avente il nome precedentemente utilizzato da un repository legittimo, potrebbe ospitare codice malevolo che verrà scaricato dagli utenti, o peggio utilizzato come dipendenza di progetti di terze parti”.
I danni sono potenzialmente incalcolabili, giacché “La tecnica del RepoJacking è estremamente insidiosa in quanto può consentire ad un attaccante di distribuire codice malevolo o di condurre un attacco alla supply chain. A questo punto l’unica informazione necessaria ad un attaccante è la conoscenza del cambio di nome di repository, informazione che è semplice da reperire grazie ad appositi servizi in rete”.
Quali accorgimenti prendere
Evitare di cadere nella trappola RepoJacking non è proibitivo, spiega Paganini: “È cruciale quindi che le aziende che hanno cambiato nome ai propri repository possiedano ancora anche il nome precedente per impedire ad attaccanti la creazione di un repository con il medesimo nome. È buona norma anche ispezionare periodicamente il codice dei progetti di una organizzazione per evitare che vi siano dipendenze da progetti che, nel tempo, possano riferire repository GitHub esterni che hanno cambiato nome”.
Su GitHub è stato pubblicato un tool per esaminare quanto un repository sia esposto a RepoJacking.