banner
Centro notizie
Consegna immediata

Proteggere la pipeline CI/CD: esplorare i pericoli del sé

Jan 03, 2024

Home » Security Blogger Network » Protezione della pipeline CI/CD: esplorazione dei pericoli degli agenti self-hosted

Le pipeline di integrazione continua/distribuzione continua (CI/CD) sono diventate cruciali per le moderne pratiche di sviluppo software. Le pipeline CI/CD possono migliorare significativamente l'efficienza dello sviluppo e la qualità del software automatizzando il processo di creazione, test e distribuzione del codice. La maggior parte delle piattaforme CI/CD moderne (come le azioni GitHub, Circle CI, ecc.) offrono un'opzione per eseguire il processo di pipeline su un runner self-hosted, ovvero un agente ospitato dall'utente anziché sulla piattaforma CI/CD, per eseguire lavori su la propria infrastruttura.

Con i runner self-hosted, puoi creare configurazioni hardware personalizzate che soddisfano le tue esigenze con potenza di elaborazione o memoria per eseguire lavori più grandi. Inoltre, puoi installare il software disponibile sulla tua rete locale e scegliere un sistema operativo non offerto dalla piattaforma. I corridori self-hosted possono essere fisici, virtuali, in un contenitore, in locale o in un ambiente cloud. L'alternativa è utilizzare un runner build-as-a-service offerto dalla piattaforma SaaS CI/CD in cui l'utente non ha alcun controllo sull'ambiente.

È possibile utilizzare corridori self-hosted per diversi motivi:

Conformità e privacy: molte organizzazioni sono vincolate a normative rigorose che impediscono loro di creare e inviare dati sensibili ai servizi di creazione SaaS. Ad esempio, le organizzazioni del settore finanziario o governativo spesso preferiscono eseguire la build sui propri server interni.

Specifiche speciali: quando si crea software per sistemi operativi non comuni o architetture diverse, il processo di creazione necessita di una macchina con specifiche che soddisfino i requisiti. Questo vale anche per molte applicazioni embedded, IoT o lato client.

Risparmio sui costi: le organizzazioni con infrastruttura cloud esistente/cloud privato possono risparmiare sui costi se scelgono di utilizzare runner self-hosted e gestire autonomamente i pool di risorse.

Considerati i motivi sopra indicati, i corridori self-hosted hanno guadagnato popolarità in molte organizzazioni. Tuttavia, i corridori self-hosted possono comportare rischi significativi per la sicurezza, soprattutto se su di essi vengono eseguiti flussi di lavoro non attendibili. I programmi dannosi possono compromettere la macchina di costruzione e fuoriuscire dalla sandbox del corridore, esponendo l'accesso alla rete della macchina, ai segreti e altro ancora.

L'utilizzo di un runner self-hosted può offrire vantaggi, ad esempio prestazioni migliorate e un maggiore controllo ambientale. Tuttavia, ci sono anche rischi per la sicurezza ad esso associati:

I corridori self-hosted richiedono server dedicati o macchine virtuali (VM) per funzionare. La sicurezza di questi server è fondamentale. Se il server che ospita il corridore non è adeguatamente protetto, può diventare un potenziale punto di ingresso per gli aggressori.

I corridori self-hosted in genere richiedono un accesso privilegiato al repository e al sistema su cui sono installati. È importante gestire attentamente il controllo degli accessi e limitare i permessi concessi al runner. L'accesso non autorizzato al corridore potrebbe portare a potenziali violazioni dei dati o all'esecuzione di codici dannosi.

Il mancato isolamento dei runner self-hosted dai sistemi critici e dai dati sensibili aumenta il rischio che un runner venga compromesso, con conseguente accesso non autorizzato e potenziali violazioni dei dati. Senza un adeguato isolamento, gli aggressori che ottengono il controllo del corridore potrebbero essere in grado di spostarsi lateralmente all’interno della rete, compromettendo potenzialmente altri sistemi e dati.

Trascurare di aggiornare e monitorare regolarmente il software runner self-hosted espone il sistema a vulnerabilità note e lo lascia suscettibile agli attacchi. Senza patch e aggiornamenti di sicurezza tempestivi, gli aggressori possono sfruttare i punti deboli noti del software runner. Un monitoraggio insufficiente aumenta le possibilità di attività dannose non rilevate e ritardi nella risposta agli incidenti di sicurezza, con conseguenti periodi prolungati di accesso non autorizzato o danni.

L'utilizzo di un runner self-hosted senza limitare l'accesso agli utenti autorizzati consente a chiunque di sfruttare le risorse di calcolo per attività come il crypto-mining e altre attività che possono causare danni finanziari.