Pacchetti Open Source

Nuove minacce in arrivo: malware nei pacchetti open source

L'ecosistema open source è una pietra angolare dello sviluppo di software moderno, favorendo l'innovazione e la collaborazione. Tuttavia, la sua stessa apertura lo rende suscettibile a varie minacce informatiche. Secondo un rapporto di Comparitech, nel 2023 sono stati identificati più di 100 milioni di ceppi di malware e applicazioni potenzialmente indesiderate (PUA), a dimostrazione che gli attacchi legati al malware continuano a rappresentare una grave minaccia informatica. 

Nuove famiglie di malware nei pacchetti open source

Malware Install-Tamper

Come funzionano: Questo tipo di malware manomette il processo di installazione dei pacchetti open source. Inietta codice dannoso durante l'installazione del pacchetto, che può quindi essere eseguito ogni volta che il pacchetto viene utilizzato.

Vulnerabilità sfruttate: Installa-Manomissione il malware sfrutta la fiducia degli utenti posto in repository open source e la mancanza di rigorosi controlli di sicurezza durante il processo di installazione del pacchetto.

Strategie di protezione: Per proteggersi dall'installazione di malware di manomissione, è fondamentale utilizzare pacchetti verificati e firmati, abilitare l'autenticazione a due fattori per gli account del repository e condurre controlli regolari di sicurezza delle dipendenze.

Esempio di codice dannoso Install-Tamper: pacchetto npm “colors” (2022)

Descrizione:

Il pacchetto "colors" è una popolare libreria npm utilizzata per aggiungere effetti di colore ai log della console. È ampiamente utilizzato in varie applicazioni Node.js.

Come ha funzionato:

All'inizio del 2022, una versione del pacchetto “colori” è stato modificato in modo dannoso per includere uno script di ciclo infinito nel suo file principale. Questa modifica è stata apportata dallo stesso manutentore del progetto, che presumibilmente l'ha fatto come protesta contro l'uso aziendale di progetti open source senza supporto o donazioni adeguate.

Impatto:

Questa modifica ha causato il crash di qualsiasi applicazione che utilizzava la versione compromessa di “colors”, provocando disagi diffusi tra numerose aziende e sistemi software che dipendevano dal pacchetto per le loro operazioni.

Lezioni imparate:

Questo incidente sottolinea le vulnerabilità insite nel modello basato sulla fiducia della gestione dei pacchetti open source. Evidenzia la necessità per i manutentori di sostenere i principi etici standarde per gli utenti di condurre revisioni e test approfonditi delle dipendenze di terze parti nei loro ambienti di sviluppo. Il caso "colors" sottolinea anche l'importanza di sostenere i manutentori open source per prevenire il burnout e le ritorsioni non etiche.

Backdoor di primo utilizzo

Come funzionano: Questa backdoor si attiva quando un pacchetto open source viene importato e utilizzato per la prima volta. Può inviare informazioni di sistema a un server remoto o scaricare payload aggiuntivi.

Vulnerabilità sfruttate: Le backdoor di primo utilizzo sfruttano l'esecuzione di codice non verificato al primo utilizzo di un pacchetto, spesso aggirando gli strumenti di analisi statica.

Strategie di protezione: La revisione e il monitoraggio del codice dei pacchetti appena importati e l'utilizzo di strumenti di analisi dinamica per rilevare comportamenti insoliti sono fondamentali per difendersi dalle backdoor di primo utilizzo.

Esempio di backdoor al primo utilizzo: incidente della backdoor Webmin (2019)

Descrizione:

Webmin è una popolare interfaccia basata sul web per l'amministrazione del sistema per Unix. Nel 2019, è stato scoperto che il software era stato compromesso con un porta posteriore che erano presenti nel codice da oltre un anno prima di essere rilevati.

Come ha funzionato:

La backdoor è stata introdotta segretamente nel repository Webmin GitHub tramite un server di build compromesso. Il codice dannoso era attivo solo se l'amministratore modificava la password tramite l'interfaccia Webmin. Una volta attivato, consentiva l'esecuzione di comandi remoti con privilegi di root.

Impatto:

La backdoor è stata fornita con le versioni Webmin dalla 1.882 alla 1.921, interessando potenzialmente oltre tre milioni di siti Web e server. La backdoor ha aperto i sistemi agli aggressori remoti che potrebbero potenzialmente ottenere il pieno controllo del server, provocando il furto di dati, il dirottamento del server e un'ulteriore compromissione della rete.

Lezioni imparate:

Questo incidente evidenzia la vulnerabilità critica che può verificarsi quando i processi di compilazione vengono compromessi. Sottolinea l’importanza di proteggere i server di build e di condurre controlli di sicurezza regolari del ciclo di vita dello sviluppo del software. Il caso Webmin dimostra inoltre la necessità di un controllo approfondito degli aggiornamenti software, anche quando provengono da fonti attendibili.

Worm che compromette il runtime

Come funzionano: Questo worm rimane dormiente all'interno di un pacchetto open source e si attiva durante il runtime, diffondendosi potenzialmente ad altri pacchetti e sistemi.

Vulnerabilità sfruttate: I worm di compromissione del runtime sfruttano la natura interconnessa dei progetti open source in cui un pacchetto compromesso può influenzare gli altri.

Strategie di protezione: L'implementazione di un rigoroso monitoraggio del comportamento in fase di esecuzione e di sistemi di rilevamento delle anomalie può aiutare a identificare e mitigare tali minacce.

Esempio di compromissione del runtime P2PInfect: il worm autoreplicante peer-to-peer arrugginito

Descrizione:

P2PInfect è un worm peer-to-peer (P2P) scoperto dai ricercatori cloud dell'Unità 42.

Scritto in Rust, un linguaggio di programmazione altamente scalabile e adatto al cloud, questo worm è in grado di infezioni multipiattaforma e prende di mira Redis, una popolare applicazione di database open source ampiamente utilizzata negli ambienti cloud.

Come funziona:

Sfruttamento iniziale:

  • P2PInfect sfrutta la vulnerabilità di fuga sandbox Lua, CVE-2022-0543, nelle istanze Redis vulnerabili.
  • La vulnerabilità consente al worm di eseguire codice arbitrario all'interno dell'ambiente di scripting Lua.

Consegna del carico utile:

  • Una volta ottenuto l'accesso iniziale, P2PInfect rilascia un payload iniziale che stabilisce la comunicazione P2P su una rete più ampia.
  • Il worm quindi elimina ulteriori file binari dannosi, inclusi script specifici del sistema operativo e software di scansione.

Propagazione:

  • L'istanza Redis infetta si unisce alla rete P2P, fornendo accesso ad altri payload per future istanze Redis compromesse.
  • P2PInfect prende di mira sia i sistemi operativi Linux che Windows, rendendolo più scalabile e potente di altri worm.

Impact :

I ricercatori dell'Unità 42 hanno identificato oltre 307,000 sistemi Redis unici che hanno comunicato pubblicamente nelle ultime due settimane, di cui 934 potrebbero essere vulnerabili a questa variante del worm P2P.

P2PInfect funge da esempio di un attacco serio che gli attori delle minacce potrebbero condurre utilizzando questa vulnerabilità.

Lezioni imparate:

Gli sviluppatori devono rivedere e verificare i propri pacchetti, mantenere aggiornate le dipendenze ed essere cauti sui nomi e sulle origini dei pacchetti.

La vigilanza e il monitoraggio continuo sono essenziali per prevenire tali attacchi alla catena di approvvigionamento.

Attacco a catena di dipendenza

Come funzionano: Gli aggressori compromettono un pacchetto in una catena di dipendenze, che poi colpisce tutti gli altri pacchetti che fanno affidamento su di esso.

Vulnerabilità sfruttate: Questo attacco sfrutta la fiducia nelle dipendenze dei pacchetti e l'effetto a cascata di un pacchetto compromesso.

Strategie di protezione: L'utilizzo di uno strumento di analisi della composizione del software per tracciare e gestire i componenti open source e le relative dipendenze può proteggere dagli attacchi a catena di dipendenze.

Esempio di pacchetto npm di attacco alla catena di dipendenza “event-stream” (2018): un compromesso della catena di fornitura

Descrizione:

Nel 2018, il popolare pacchetto npm chiamato “flusso di eventi” è stato compromesso.

L'attacco prevedeva una manipolazione della catena di dipendenze che ha colpito utenti ignari.

Come ha funzionato:

Compromesso iniziale:

  • L’aggressore ha rilevato una dipendenza meno utilizzata chiamata “flatmap-stream”.
  • Hanno iniettato codice dannoso in “flatmap-stream”.

Propagazione:

  • Il “flatmap-stream” compromesso è stato incluso come dipendenza nel pacchetto ampiamente utilizzato “event-stream”.
  • Molti progetti hanno installato inconsapevolmente il pacchetto compromesso “event-stream”.

Impatto:

L'aggressore è riuscito ad accedere a informazioni sensibili di utenti ignari.

L’incidente ha evidenziato i rischi di attacchi alla catena di approvvigionamento tramite le dipendenze.

Lezioni imparate:

Gli sviluppatori devono rivedere e verificare i propri pacchetti, mantenere aggiornate le dipendenze ed essere cauti sui nomi e sulle origini dei pacchetti.

La vigilanza e il monitoraggio continuo sono essenziali per prevenire tali attacchi alla catena di approvvigionamento.

Proteggi i tuoi progetti open source con Xygeni

Come discusso, l'ecosistema open source è un'arma a doppio taglio: mentre promuove l'innovazione, espone anche il software a rischi significativi, come installare manomissione malware, First-Use Backdoor e Dependency-Chain Attacks. Le conseguenze di queste minacce sono gravi e proteggere la tua supply chain software è fondamentale.

Xygeni offre soluzioni potenti progettate per difendere i tuoi progetti open source da queste minacce in continua evoluzione. I nostri strumenti assicurano che le tue dipendenze rimangano sicure, mantenendo il tuo software resiliente e il tuo processo di sviluppo fluido.

Rendi più intelligente Decisioni con analisi completa del pacchetto

Data la complessità dei pacchetti open source, fare scelte informate è fondamentale. Xygeni's Analisi completa del pacchetto ti consente di valutare rapidamente la sicurezza dei componenti open source. Con la nostra piattaforma, puoi selezionare con sicurezza pacchetti sicuri e affidabili, evitando i rischi di dipendenze non sicure. Effettuando decisioni in anticipo, puoi creare applicazioni più solide e sicure che resistono alla prova del tempo.

Difenditi in modo proattivo con il rilevamento malware in tempo reale

Reagire alle minacce dopo che si sono infiltrate nel tuo sistema non è sufficiente. Ecco perché Xygeni offre Rilevamento malware in tempo reale per intercettare minacce come malware zero-day nel momento in cui emergono. Il nostro sistema blocca immediatamente il codice dannoso, impedendogli di raggiungere il tuo ambiente di sviluppo. Agendo rapidamente, ti assicuri che i tuoi progetti rimangano sicuri fin dall'inizio.

Proteggi la tua catena di fornitura con un monitoraggio continuo

Nel mondo frenetico dello sviluppo software, i cambiamenti avvengono costantemente. Xygeni's Monitoraggio continuo della catena di fornitura tiene d'occhio ogni aggiornamento. La nostra protezione proattiva rileva e blocca i cambiamenti sospetti nelle tue dipendenze, impedendo ai pacchetti compromessi di entrare nei tuoi progetti. Con Xygeni, mantieni una supply chain sicura e affidabile, salvaguardando il tuo software da potenziali minacce.

Prendi il controllo della tua sicurezza con Xygeni

Come hai visto, i rischi nel software open source sono reali e in crescita. Le soluzioni di sicurezza di Xygeni ti forniscono gli strumenti per gestire questi rischi in modo efficace. Concentrandoti sulla rilevazione precoce, sull'analisi completa dei pacchetti e sul monitoraggio continuo, puoi proteggere il tuo software dalle minacce emergenti. Non lasciare vulnerabili i tuoi progetti open source: potenzia la tua strategia di sicurezza oggi stesso con Xygeni e ottieni la tranquillità di sapere che il tuo software e i tuoi dati sono al sicuro.

Pronti a proteggere i vostri progetti open source? Lascia che Xygeni ti aiuti a prevenire le minacce e a creare un software resiliente in grado di affrontare qualsiasi cosa accada in futuro.

Esplora le funzionalità di Xygeni!
Guarda la nostra demo video
sca-tools-software-strumenti-di-analisi-della-composizione
Dai priorità, risolvi e proteggi i rischi del tuo software
Prova gratuita 7-day
Nessuna carta di credito richiesta

Proteggi lo sviluppo e la consegna del tuo software

con la suite di prodotti Xygeni