L'avvelenamento da artefatti nelle azioni GitHub importa malware tramite pipeline software PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

L'avvelenamento da artefatti nelle azioni GitHub importa malware tramite pipeline software

Un utente malintenzionato che invia modifiche a un repository open source su GitHub potrebbe far sì che i progetti software a valle che includono l'ultima versione di un componente compilino aggiornamenti con codice dannoso.

Questo secondo la società di sicurezza della catena di fornitura del software Legit Security, che ha affermato in un avviso pubblicato il 1 dicembre che questa debolezza di "avvelenamento da artefatti" potrebbe influenzare i progetti software che utilizzano GitHub Actions, un servizio per automatizzare le pipeline di sviluppo, attivando il processo di compilazione quando viene rilevata una modifica in una dipendenza software. 

La vulnerabilità non è teorica: Legit Security ha simulato un attacco al progetto che gestisce Rust, provocando la ricompilazione del progetto utilizzando una versione personalizzata e dannosa della popolare libreria software GCC, ha affermato la società nell'advisory.

Il problema probabilmente interessa un gran numero di progetti open source perché i manutentori in genere eseguiranno test sul codice fornito prima di analizzare effettivamente il codice da soli, afferma Liav Caspi, chief technology officer di Legit Security.

"È un modello comune oggi", dice. “Molti progetti open source oggi, su una richiesta di modifica, eseguono una serie di test per convalidare la richiesta perché il manutentore non vuole rivedere prima il codice. Invece, esegue automaticamente i test.

L'attacco sfrutta il processo di compilazione automatizzato tramite GitHub Actions. Nel caso del linguaggio di programmazione Rust, il modello vulnerabile avrebbe potuto consentire a un utente malintenzionato di eseguire il codice in modo privilegiato come parte della pipeline di sviluppo, rubando i segreti del repository e potenzialmente manomettendo il codice, ha affermato Legit Security.

"Per dirla semplicemente: in un flusso di lavoro vulnerabile, qualsiasi utente GitHub può creare un fork che costruisce un artefatto", l'azienda dichiarato nella sua consulenza. “Quindi iniettare questo artefatto nel processo di creazione del repository originale e modificarne l'output. Questa è un'altra forma di attacco alla catena di fornitura del software, in cui l'output della build viene modificato da un utente malintenzionato.

La vulnerabilità consente un attacco simile a l'attacco di inserimento di malware che ha preso di mira CodeCov e, attraverso il software di quella società, i suoi clienti a valle.

"[L]a mancanza di implementazione nativa di GitHub per la comunicazione di artefatti tra flussi di lavoro ha portato molti progetti e la comunità di GitHub Actions a sviluppare soluzioni non sicure per la comunicazione tra flussi di lavoro e ha reso questa minaccia molto diffusa", ha affermato Legit Security nell'advisory.

GitHub ha confermato il problema e ha pagato una taglia per le informazioni, mentre Rust ha riparato la sua pipeline vulnerabile, ha affermato Legit Security.

Fonte: Legit Security

La catena di fornitura del software ha bisogno di sicurezza

La vulnerabilità è l'ultimo problema di sicurezza che interessa le catene di fornitura del software. L'industria e le agenzie governative hanno sempre più cercato di rafforzare la sicurezza del software open source e del software fornito come servizio.

Nel maggio 2021, ad esempio, l'amministrazione Biden ha pubblicato il suo ordine esecutivo sul miglioramento della sicurezza informatica della nazione, una norma federale che, tra gli altri requisiti, impone al governo di richiedono standard di sicurezza di base per qualsiasi software acquistato. Per quanto riguarda l'industria privata, Google e Microsoft lo hanno fatto promesso miliardi di dollari per rafforzare la sicurezza nell'ecosistema open source, che fornisce il codice che comprende più di tre quarti della base di codice dell'applicazione media.

Logico, ma vulnerabile

Il problema di sicurezza appartiene a una classe di problemi difficili da trovare noti come problemi logici, che includono problemi con le autorizzazioni, la possibilità di inserire repository biforcuti in una pipeline e una mancanza di differenziazione tra repository biforcuti e di base.

Poiché i progetti software utilizzano spesso script automatizzati per controllare gli invii di codice prima di inoltrarli ai manutentori, le richieste pull verranno eseguite attraverso l'automazione prima che qualsiasi essere umano le controlli alla ricerca di codice dannoso. Mentre l'automazione fa risparmiare tempo, dovrebbe anche essere considerata un modo per gli aggressori di inserire codice dannoso nella pipeline.

"Quando si esegue uno sviluppo open source, il problema è più grande, perché si accettano contributi da chiunque nel mondo", afferma Caspi. "Stai eseguendo cose di cui non ti puoi fidare."

GitHub ha riconosciuto il problema e ha ampliato le modalità per escludere gli invii da collaboratori esterni dall'inserimento automatico nella pipeline di Actions. L'azienda ha aggiornato le sue API GetArtifact e ListArtifacts con l'obiettivo di fornire maggiori informazioni per aiutare a determinare se un artefatto può essere attendibile.

"Chiunque faccia qualcosa di simile al progetto Rust - fidandosi dell'input di una terza parte - allora è ancora vulnerabile", dice Caspi. “È un problema di logica. GitHub ha semplicemente reso più semplice scrivere uno script più sicuro."

Timestamp:

Di più da Lettura oscura