Attacco alla Catena di Approvvigionamento Compromesso lo Scanner Trivy di Aqua Security
Un grave incidente di sicurezza ha colpito il mondo dello sviluppo software. I cybercriminali sono riusciti a compromettere quasi tutte le versioni di Trivy, lo scanner di vulnerabilità ampiamente utilizzato sviluppato da Aqua Security. Questo attacco alla catena di approvvigionamento, come confermato da Itay Shakury, uno dei manutentori del progetto, potrebbe avere ripercussioni significative per sviluppatori e organizzazioni a livello globale.
Dettagli dell’Attacco e Metodologia
L’attacco è iniziato nelle prime ore di giovedì, quando un attore malevolo, identificatosi come Team PCP, ha utilizzato credenziali rubate per effettuare un force-push su quasi tutti i tag relativi alle azioni di Trivy (trivy-action) e ai setup di Trivy. Un force-push è una particolare operazione Git che aggira i meccanismi di sicurezza predefiniti, permettendo di sovrascrivere commit esistenti. Questo ha permesso agli aggressori di far puntare i tag a dipendenze malevole, bypassando le normali procedure di sicurezza.
Trivy è uno strumento fondamentale per gli sviluppatori, utilizzato per identificare vulnerabilità e segreti hardcoded nei processi di sviluppo e deployment del software. La sua popolarità è testimoniata dalle oltre 33.200 stelle su GitHub, un indicatore della sua ampia adozione. La versione @0.35.0 sembra essere l’unica non interessata dall’attacco.
Implicazioni e Rischi per gli Utenti
Le aziende di sicurezza Socket e Wiz hanno rivelato che il malware, attivato in ben 75 tag di trivy-action compromessi, è in grado di scandagliare a fondo le pipeline di sviluppo e le macchine degli sviluppatori alla ricerca di token GitHub, credenziali cloud, chiavi SSH, token Kubernetes e qualsiasi altro segreto. Una volta individuati, questi dati vengono crittografati e inviati a un server controllato dall’attaccante. Il risultato è che qualsiasi pipeline CI/CD che utilizza una versione compromessa dello scanner esegue codice malevolo non appena la scansione viene avviata. Tra i tag compromessi figurano anche versioni molto diffuse come @0.34.2, @0.33 e @0.18.0.
Come raccomandato da Shakury, chiunque sospetti di aver utilizzato una versione compromessa deve considerare tutti i segreti della pipeline come compromessi e procedere immediatamente alla loro rotazione. Il malware, una volta eseguito, avvia sia il servizio legittimo di Trivy sia il codice malevolo in parallelo. La sua azione include l’esfiltrazione di variabili d’ambiente, la ricerca di credenziali nel filesystem e la raccolta di informazioni di rete. I dati raccolti vengono compressi, crittografati e inviati a un server di comando e controllo. In caso di fallimento, il malware tenta di utilizzare un token GitHub rubato per creare un repository e inviare lì i dati.
Una Nuova Tattica per Maggiore Stealth
La tecnica utilizzata in questo attacco rappresenta una novità rispetto ai tradizionali attacchi alla catena di approvvigionamento. Invece di avvelenare un repository con un nuovo commit, gli aggressori hanno sfruttato l’accesso alle credenziali di Trivy per effettuare un force-push su tag esistenti. Questo metodo, che non appare nella cronologia dei commit standard, ha permesso all’attacco di sfuggire a molte difese comuni. L’attore malevolo, Team PCP, ha effettuato commit contraffatti, spoofando utenti, e ha compromesso tag esistenti per farli puntare a commit malevoli. Questo ha portato alla pubblicazione di binari compromessi su diverse piattaforme, tra cui GitHub Releases, Docker Hub, GHCR ed ECR, che sono stati successivamente rimossi dai manutentori.
Questo incidente evidenzia la crescente sofisticazione degli attacchi alla catena di approvvigionamento e la necessità di una vigilanza costante. La compromissione di uno strumento così diffuso come Trivy sottolinea l’importanza di pratiche di sicurezza rigorose, come la rotazione frequente delle credenziali e l’utilizzo di strumenti di scansione delle dipendenze affidabili. È fondamentale che gli sviluppatori rimangano aggiornati sulle ultime minacce e adottino le misure preventive consigliate dalle aziende di sicurezza per proteggere i propri ambienti di sviluppo.
La vulnerabilità iniziale sembra derivare da una precedente compromissione dell’estensione VS Code di Aqua Trivy. Nonostante i manutentori avessero ruotato token e segreti, il processo non è stato completamente atomico, lasciando residui che hanno permesso all’attore malevolo di eseguire operazioni autenticate. Questo caso ricorda l’importanza di una gestione meticolosa delle credenziali e dei permessi, soprattutto in progetti open source con un’ampia base di utenti.
Per approfondire le misure di difesa consigliate, si rimanda alle analisi dettagliate pubblicate da Socket e Wiz. La sicurezza delle pipeline di sviluppo è un pilastro fondamentale per garantire l’integrità del software distribuito, e incidenti come questo servono da monito per rafforzare continuamente le difese.
La nostra testata pensa che…
Questo attacco a Trivy è un campanello d’allarme che risuona forte nel panorama della sicurezza informatica. La capacità degli attaccanti di sfruttare non solo vulnerabilità nel codice, ma anche falle nei processi di gestione delle credenziali e nelle procedure di aggiornamento, dimostra un’evoluzione preoccupante delle tattiche malevole. La forza di strumenti open source come Trivy risiede nella loro ampia adozione e nella collaborazione della community, ma questa stessa apertura può diventare un vettore di attacco se non gestita con la massima cura. La lezione principale da trarre è che la fiducia nei componenti software, anche quelli più consolidati, non deve mai sostituire una rigorosa verifica e un approccio proattivo alla sicurezza. La gestione dei segreti e la sicurezza delle pipeline CI/CD devono essere considerate priorità assolute, non opzioni secondarie. La trasparenza degli attori malevoli nell’auto-identificarsi come Team PCP, sebbene audace, potrebbe essere un tentativo di accrescere la propria notorietà, ma non deve distogliere dall’urgenza di mitigare i rischi concreti per le organizzazioni.
Fonte: Originale