Milioni di repository su GitHub sono potenzialmente vulnerabili al dirottamento

Milioni di repository su GitHub sono potenzialmente vulnerabili al dirottamento

Milioni di repository su GitHub sono potenzialmente vulnerabili al dirottamento della data intelligence di PlatoBlockchain. Ricerca verticale. Ai.

Milioni di repository di software aziendali su GitHub sono vulnerabili a repojacking, un tipo relativamente semplice di attacco alla catena di fornitura del software in cui un attore della minaccia reindirizza invece i progetti che dipendono da un particolare repository a uno dannoso.

Il problema ha a che fare con il modo in cui GitHub gestisce le dipendenze quando un utente o un'organizzazione GitHub cambia il nome di un progetto o ne trasferisce la proprietà a un'altra entità, hanno affermato i ricercatori di Aqua Security in un rapporto questa settimana.

Rischi di cambio di nome

Per evitare di interrompere le dipendenze del codice, GitHub crea un collegamento tra il nome del repository originale e quello nuovo in modo che tutti i progetti che dipendono dal repository originale vengano reindirizzati automaticamente a quello appena rinominato. Tuttavia, se un'organizzazione non riesce a proteggere adeguatamente il vecchio nome utente, un utente malintenzionato potrebbe semplicemente riutilizzarlo per creare una versione trojanizzata del repository originale in modo che qualsiasi progetto che si basava sul repository ricominci a scaricare le dipendenze da esso.

"Quando il proprietario di un repository cambia il proprio nome utente, viene creato un collegamento tra il vecchio nome e il nuovo nome per chiunque scarichi le dipendenze dal vecchio repository", I ricercatori di Aqua hanno detto in un blog questa settimana. "Tuttavia, è possibile per chiunque creare il vecchio nome utente e interrompere questo collegamento."

I ricercatori di Aqua hanno recentemente deciso di indagare sulla prevalenza di repository su GitHub che sono vulnerabili a tale repojacking o dirottamento del repository di dipendenza, come alcuni ricercatori di sicurezza si riferiscono alla minaccia.

Problema ampiamente diffuso

Ciò che Aqua ha scoperto è duplice: milioni di tali repository, compresi quelli appartenenti ad aziende come Google e Lyft, sono presenti su GitHub; e gli strumenti sono facilmente disponibili per gli aggressori per trovare questi repository e dirottarli. Uno di questi strumenti è GHTorrent, un progetto che mantiene un registro quasi completo di tutti gli eventi pubblici, come commit e richieste pull, su GitHub. Gli aggressori possono utilizzare GHTorrent per raccogliere i nomi GitHub dei repository precedentemente utilizzati dall'organizzazione. Possono quindi registrare il repository con quel vecchio nome utente, ricreare il repository e fornire malware a qualsiasi progetto che lo utilizza.

Qualsiasi progetto che fa direttamente riferimento a un repository GitHub è vulnerabile se il proprietario del repository modifica o elimina il nome utente per il proprio repository.

"Abbiamo presentato un set di dati significativo che gli aggressori possono utilizzare per raccogliere i nomi dei precedenti repository appartenenti alle organizzazioni", afferma Yakir Kadkoda, ricercatore di sicurezza presso Aqua Nautilus.

"Le organizzazioni non dovrebbero presumere che i loro vecchi nomi rimarranno segreti", avverte Kadkoda. "È fondamentale per loro rivendicare e mantenere i loro vecchi nomi utente su GitHub ed eseguire la scansione degli URL e dei riferimenti di GitHub nel loro codice per identificare eventuali repository che potrebbero essere potenzialmente rivendicati da un utente malintenzionato".

Bypassare le protezioni

Kadkoda afferma che GitHub ha tentato di risolvere questo problema impedendo la creazione di nomi utente e repository precedentemente di proprietà e ora reindirizzati ad altri progetti. GitHub anche implementato un meccanismo diversi anni fa per ritirare gli spazi dei nomi dei repository popolari come mezzo per mitigare questa minaccia. "Tuttavia, negli ultimi anni sono stati scoperti diversi bypass", afferma. Durante lo studio di Aqua, i suoi ricercatori hanno trovato diversi esempi di repository in cui la protezione implementata da GitHub non si applicava. "Pertanto, a questo punto, gli utenti non possono fare pieno affidamento su queste difese", afferma.

Il blog di Aqua ha indicato una vulnerabilità di GitHub che Checkmarx scoperto l'anno scorso come esempio dei modi a disposizione degli aggressori per aggirare i tentativi di GitHub di proteggersi dal repojacking. Il difetto riguardava un meccanismo chiamato "ritiro dello spazio dei nomi del repository popolare" e interessava tutti i nomi utente rinominati su GitHub, inclusi oltre 10,000 pacchetti su gestori di pacchetti come Swift, Packagist e Go. "Il repojacking è una tecnica per dirottare il traffico degli URL del repository rinominato e instradarlo al repository dell'attaccante sfruttando un difetto logico che interrompe il reindirizzamento originale", ha affermato Checkmarx in un rapporto sulla vulnerabilità. "Un repository GitHub è vulnerabile al repojacking quando il suo creatore ha deciso di rinominare il suo nome utente mentre il vecchio nome utente è disponibile per la registrazione."

Le organizzazioni possono mitigare la loro esposizione alla minaccia del repojacking scansionando il loro codice, i repository e le dipendenze alla ricerca di collegamenti GitHub, afferma Kadkoda: "Dovrebbero verificare se tali collegamenti si riferiscono direttamente a progetti GitHub o se ci sono reindirizzamenti che puntano a repository con altri nomi utente o repository nomi rispetto ai link originali.” In questi casi, le organizzazioni dovrebbero tentare di rivendicare il nome utente disponibile per impedire agli aggressori di farlo. "Inoltre, le organizzazioni dovrebbero sempre mantenere i loro vecchi nomi utente su GitHub", afferma.

Timestamp:

Di più da Lettura oscura