Le pipeline di sviluppo software offrono ai criminali informatici un accesso "free-range" al cloud e alla data intelligence PlatoBlockchain on-premise. Ricerca verticale. Ai.

Le pipeline di sviluppo del software offrono ai criminali informatici un accesso "free range" al cloud, on-premise

Secondo i ricercatori, le pipeline di integrazione continua/sviluppo continuo (CI/CD) possono essere la superficie di attacco potenziale più pericolosa della catena di approvvigionamento del software, poiché gli aggressori informatici aumentano il loro interesse nell'individuare i punti deboli.

Anche la superficie di attacco sta crescendo: le pipeline CI/CD sono sempre più un appuntamento fisso all'interno dei team di sviluppo software aziendale, che le utilizzano per creare, testare e distribuire codice utilizzando processi automatizzati. Ma le autorizzazioni eccessive, la mancanza di segmentazione della rete e la scarsa gestione dei segreti e delle patch affliggono la loro implementazione, offrendo ai criminali l'opportunità di comprometterli per spaziare liberamente tra ambienti on-premise e cloud.

Al Black Hat USA mercoledì 10 agosto, Iain Smart e Viktor Gazdag della società di consulenza per la sicurezza NCC Group saliranno sul palco durante "RCE-as-a-Service: lezioni apprese da 5 anni di compromissione della pipeline CI/CD nel mondo reale”, per discutere la serie di attacchi di successo alla catena di approvvigionamento che hanno effettuato nelle pipeline CI/CD di produzione per praticamente tutte le aziende che l'azienda ha testato.

NCC Group ha supervisionato diverse dozzine di compromessi di successo di obiettivi, che vanno dalle piccole imprese alle aziende Fortune 500. Inoltre bug di sicurezza, i ricercatori affermano che nuovi abusi della funzionalità prevista nelle pipeline automatizzate hanno consentito loro di convertire le pipeline da una semplice utilità per sviluppatori in esecuzione di codice remoto (RCE) come servizio.

"Spero che le persone apprezzino ancora un po' le loro pipeline CI/CD e applichino tutti o almeno uno o due consigli della nostra sessione", afferma Gazdag. "Ci auguriamo anche che questo accenda ulteriori ricerche sulla sicurezza sull'argomento".

Tara Seals, caporedattore per le notizie di Dark Reading, ha incontrato Viktor Gazdag, consulente per la sicurezza di NCC Group, per saperne di più.

Sigilli di Tara: Quali sono alcune delle debolezze di sicurezza più comuni nelle pipeline CI/CD e come se ne può abusare?

Victor Gazdag: Vediamo regolarmente tre punti deboli della sicurezza comuni che richiedono maggiore attenzione:

1) Credenziali hardcoded in Version Control System (VCS) o Source Control Management (SCM).

Questi includono script di shell, file di accesso, credenziali hardcoded nei file di configurazione che sono archiviati nello stesso posto del codice (non separatamente o in app di gestione dei segreti). Troviamo spesso anche token di accesso a diversi ambienti cloud (sviluppo, produzione) o determinati servizi all'interno del cloud come SNS, Database, EC2, ecc.

Troviamo inoltre le credenziali per accedere all'infrastruttura di supporto o alla pipeline CI/CD. Una volta che un utente malintenzionato ottiene l'accesso all'ambiente cloud, può enumerare i propri privilegi, cercare configurazioni errate o provare ad elevare i propri privilegi poiché si trovano già nel cloud. Con l'accesso alla pipeline CI/CD, possono visualizzare la cronologia di compilazione, ottenere l'accesso agli artefatti e ai segreti utilizzati (ad esempio, lo strumento SAST e i relativi report sulle vulnerabilità o sui token di accesso al cloud) e, negli scenari peggiori, iniettare codice arbitrario (backdoor, SolarWinds) nell'applicazione che verrà compilata o ottenere l'accesso completo all'ambiente di produzione.

2) Ruoli eccessivamente permissivi.

Gli sviluppatori o gli account di servizio hanno spesso un ruolo associato ai loro account (o possono assumerne uno) che dispone di più autorizzazioni di quelle necessarie per svolgere il lavoro richiesto.

Possono accedere a più funzioni, come la configurazione del sistema oi segreti con ambito sia per gli ambienti di produzione che per quelli di sviluppo. Potrebbero essere in grado di aggirare i controlli di sicurezza, come l'approvazione di altri sviluppatori, o modificare la pipeline e rimuovere qualsiasi strumento SAST che possa aiutare a cercare le vulnerabilità.

Poiché le pipeline possono accedere agli ambienti di produzione e di implementazione di test, se non c'è segmentazione tra di loro, possono fungere da ponte tra gli ambienti, anche tra on-premise e cloud. Ciò consentirà a un utente malintenzionato di aggirare i firewall o qualsiasi avviso e di spostarsi liberamente tra ambienti che altrimenti non sarebbero possibili.

3) Mancanza di audit, monitoraggio e avvisi.

Questa è l'area più trascurata e il 90% delle volte abbiamo riscontrato una mancanza di monitoraggio e avviso su qualsiasi modifica della configurazione o gestione di utenti/ruoli, anche se l'auditing era attivato o abilitato. L'unica cosa che potrebbe essere monitorata è la compilazione o la compilazione del lavoro riuscita o non riuscita.

Esistono anche problemi di sicurezza più comuni, come la mancanza di segmentazione della rete, gestione dei segreti e delle patch, ecc., ma questi tre esempi sono punti di partenza di attacchi, necessari per ridurre il tempo medio di rilevamento delle violazioni o sono importanti per limitare raggio di esplosione d'attacco.

TS: Avete esempi specifici del mondo reale o scenari concreti a cui puntare?

VG: Alcuni attacchi nelle notizie relativi a CI/CD o attacchi pipeline includono:

  • Attacco CCleaner, Marzo 2018
  • Homebrew, agosto 2018
  • Asus Shadow Hammer, Marzo 2019
  • Violazione di terze parti CircleCI, settembre 2019
  • SolarWinds, Dicembre 2020
  • Script di caricamento bash di Codecov, aprile 2021
  • TravisCI accesso non autorizzato ai segreti, settembre 2021

TS: Perché i punti deboli nelle pipeline automatizzate sono problematici? Come definirebbe il rischio per le aziende?

VG: Ci possono essere centinaia di strumenti utilizzati nelle fasi della pipeline e, per questo motivo, l'enorme conoscenza che qualcuno deve conoscere è enorme. Inoltre, le pipeline hanno accesso di rete a più ambienti e più credenziali per strumenti e ambienti diversi. Ottenere l'accesso alle pipeline è come ottenere un pass gratuito che consente agli aggressori di accedere a qualsiasi altro strumento o ambiente legato alla pipeline.

TS: Quali sono alcuni degli esiti degli attacchi che le aziende potrebbero subire se un avversario dovesse sovvertire con successo una pipeline CI/CD?

VG: Gli esiti dell'attacco possono includere il furto di codice sorgente o dati intellettuali, il backdoor di un'applicazione che viene distribuita a migliaia di clienti (come SolarWinds), l'accesso (e il libero spostamento tra) più ambienti come lo sviluppo e la produzione, sia in locale che in nuvola o entrambi.

TS: Quanto devono essere sofisticati gli avversari per compromettere una pipeline?

VG: Quello che stiamo presentando a Black Hat non sono vulnerabilità zero-day (anche se ho trovato alcune vulnerabilità in diversi strumenti) o nuove tecniche. I criminali possono attaccare gli sviluppatori tramite phishing (dirottamento della sessione, bypass dell'autenticazione a più fattori, furto delle credenziali) o direttamente dalla pipeline CI/CD se non è protetto ed è connesso a Internet.

NCC Group ha anche eseguito valutazioni di sicurezza in cui inizialmente abbiamo testato le applicazioni Web. Quello che abbiamo scoperto è che le pipeline CI/CD sono raramente registrate e monitorate con avvisi, a parte il lavoro di creazione/compilazione del software, quindi i criminali non devono essere così attenti o sofisticati per compromettere una pipeline.

TS: Quanto sono comuni questi tipi di attacchi e quanto ampia della superficie di attacco rappresentano le pipeline CI/CD?

VG: Ci sono diversi esempi di attacchi nel mondo reale nelle notizie, come accennato. E puoi ancora trovare, ad esempio, Istanze Jenkins con Shodan su Internet. Con SaaS, i criminali possono enumerare e provare a forzare le password per ottenere l'accesso poiché non hanno l'autenticazione a più fattori abilitata per impostazione predefinita o restrizioni IP e sono connessi a Internet.

Con il lavoro in remoto, le pipeline sono ancora più difficili da proteggere poiché gli sviluppatori vogliono l'accesso da qualsiasi luogo e in qualsiasi momento e le restrizioni IP non sono più necessariamente fattibili poiché le aziende si stanno spostando verso reti zero-trust o cambiano le posizioni di rete.

Le pipeline di solito hanno accesso di rete a più ambienti (cosa che non dovrebbero) e hanno accesso a più credenziali per strumenti e ambienti diversi. Possono fungere da ponte tra on-premise e cloud o sistemi di produzione e test. Questa può essere una superficie di attacco molto ampia e gli attacchi possono provenire da più punti, anche quelli che non hanno nulla a che fare con la pipeline stessa. In Black Hat, presentiamo due scenari in cui inizialmente abbiamo iniziato con i test delle applicazioni Web.

TS: Perché le pipeline CI/CD rimangono un punto cieco di sicurezza per le aziende?

VG: Principalmente per mancanza di tempo, a volte per mancanza di persone e, in alcuni casi, per mancanza di conoscenza. Le pipeline CI/CD vengono spesso create da sviluppatori o team IT con un tempo limitato e concentrandosi su velocità e consegna, oppure gli sviluppatori sono semplicemente sovraccarichi di lavoro.

Le pipeline CI/CD possono essere molto o estremamente complesse e possono includere centinaia di strumenti, interagire con più ambienti e segreti ed essere utilizzate da più persone. Alcune persone hanno persino creato una rappresentazione della tavola periodica degli strumenti che possono essere utilizzati in una pipeline.

Se un'azienda dedica tempo alla creazione di un modello di minaccia per la pipeline che utilizza e gli ambienti di supporto, vedrà la connessione tra ambienti, confini e segreti e dove possono verificarsi gli attacchi. La creazione e l'aggiornamento continuo del modello di minaccia dovrebbero essere eseguiti e richiede tempo.

TS: Quali sono alcune delle migliori pratiche per rafforzare la sicurezza delle condutture?

VG: Applicare la segmentazione della rete, utilizzare il principio del privilegio minimo per la creazione dei ruoli, limitare l'ambito di un segreto nella gestione dei segreti, applicare frequentemente gli aggiornamenti della sicurezza, verificare gli artefatti e monitorare e avvisare sulle modifiche alla configurazione.

TS: Ci sono altri pensieri che vorresti condividere?

VG: Sebbene le pipeline CI/CD cloud-native o basate su cloud siano più semplici, abbiamo comunque riscontrato problemi uguali o simili come ruoli eccessivamente permissivi, nessuna segmentazione, segreti con ambito eccessivo e mancanza di avvisi. È importante che le aziende ricordino di avere responsabilità di sicurezza anche nel cloud.

Timestamp:

Di più da Lettura oscura