Un ricercatore di sicurezza ha trovato un modo intelligente per hackerare Apple, Tesla e più di 30 altre grandi aziende utilizzando un nuovo approccio software open source.
L’hacker ha sfruttato il fatto che i sistemi di molte grandi aziende utilizzano software open source da archivi pubblici. Bleeping Computer spiega:
L’attacco comprendeva il caricamento di malware su repository open source tra cui PyPI, npm e RubyGems, che sono stati poi distribuiti automaticamente a valle nelle applicazioni interne dell’azienda.
A differenza dei tradizionali attacchi di typosquatting che si basano su tattiche di ingegneria sociale o di errori di ortografia della vittima nel nome di un pacchetto, questo particolare attacco alla catena di approvvigionamento è più sofisticato in quanto non ha richiesto alcuna azione da parte della vittima, che ha ricevuto automaticamente i pacchetti dannosi. Questo perché l’attacco ha sfruttato un difetto di progettazione unico degli ecosistemi open source chiamato dependency confusion.
Il ricercatore di sicurezza Alex Birsan ha avuto l’idea mentre lavorava con il ricercatore Justin Gardner. Quest’ultimo aveva condiviso con Birsan un file manifest, package.json, da un pacchetto npm utilizzato internamente da PayPal.
Birsan ha notato che alcuni dei pacchetti di file manifest non erano presenti nel repository npm pubblico, ma erano invece pacchetti npm creati privatamente da PayPal, utilizzati e archiviati internamente dall’azienda.
Vedendo questo, il ricercatore ha pensato che dovrebbe esistere un pacchetto con lo stesso nome nel repository npm pubblico, oltre a un repository NodeJS privato. Ma quale avrebbe la priorità?
Presto trovò la risposta: i pacchetti pubblici avevano la priorità, quindi il semplice caricamento di pacchetti falsi con lo stesso nome li faceva scaricare automaticamente.
Nel caso di Apple, Birsan è riuscito a compromettere diversi computer nella rete interna dell’azienda dopo aver scaricato codice dannoso in un pacchetto Node che ha caricato su npm, un gestore di pacchetti per JavaScript. In particolare, Birsan è stato in grado di violare i progetti relativi al sistema di autenticazione dell’ID Apple.
Apple ha detto al ricercatore che la vulnerabilità avrebbe potuto essere utilizzata per ottenere l’esecuzione di codice in modalità remota sui server Apple. Il gigante tecnologico di Cupertino ha risolto la vulnerabilità entro due settimane dalla divulgazione.
L’attacco alla supply chain si basa sulla fiducia che molti sviluppatori ripongono in questi programmi di installazione di pacchetti, che possono includere npm, pip di Python e RubyGems di Ruby. Un altro fattore chiave è l’uso di pacchetti interni che non esistono nei repository pubblici. Caricando un malware con i nomi di questi pacchetti utilizzati internamente, Birsan è stato in grado di indurre alcuni programmi a scaricare il suo codice dannoso invece dei pacchetti legittimi.
Naturalmente, i pacchetti falsi erano innocui e Birsan ha allertato le aziende non appena ha avuto conferma di un’infiltrazione riuscita. Ha ricevuto oltre 130.000 dollari in premi sui bug, con Apple che ha confermato che sarà ricompensato anche da loro.
Leggi o Aggiungi Commenti