Revisione di sicurezza del codice
Revisione manuale del codice sorgente, supportata dall’analisi statica, alla ricerca di vulnerabilità che non si vedono dall’esterno.
Sicurezza delle applicazioni
Valutazione del percorso da un commit alla produzione: repository, pipeline, runner, dipendenze e artefatti di build.
Infrastruttura e cloud
La pipeline che esegue la build e il deploy del tuo software ha più privilegi della maggior parte degli amministratori. Legge il codice sorgente, porta con sé le chiavi di firma e le credenziali cloud e scrive in produzione. Inoltre è assemblata con action, plugin e pacchetti di terzi che cambiano senza preavviso.
Testiamo questo percorso come farebbe un attaccante: che cosa può fare un contributore con diritti minimi, che cosa può raggiungere una dipendenza o una pull request malevola, e se è dimostrabile che l’artefatto messo in produzione è quello che è stato revisionato.
01Perimetro
02Approccio
Tracciamo il percorso da un commit alla produzione ed elenchiamo i sistemi, le identità e i segreti che si trovano lungo di esso.
Repository, pipeline e registri vengono esaminati rispetto all’OWASP Top 10 CI/CD Security Risks e ai requisiti SLSA.
Dalle posizioni di un contributore esterno, di uno sviluppatore interno e di una dipendenza compromessa proviamo a raggiungere i segreti e ad alterare ciò che viene compilato. Il lavoro si svolge su fork e progetti di test ovunque questo basti a dimostrare il punto.
Le modifiche sono ordinate in base ai percorsi di attacco che chiudono. Ognuna è accompagnata dalla configurazione che la realizza.
03
04
05Standard
I rischi più critici delle pipeline di build e distribuzione.
OWASP Foundation
Requisiti di integrità e provenienza degli artefatti di build.
Open Source Security Foundation
Pratiche di sviluppo sicuro del software a cui sono associati i rilievi.
NIST
Punteggio e vettore di gravità di ogni rilievo.
FIRST
Classe di debolezza alla base di ogni rilievo.
The MITRE Corporation
06Domande
Eseguiamo codice dimostrativo innocuo che mostra che cosa sarebbe raggiungibile, ad esempio il nome di un segreto e non il suo valore. Le pipeline di produzione vengono toccate solo dove le regole di ingaggio lo consentono; la maggior parte dei percorsi viene dimostrata in un progetto di test con la stessa configurazione.
Il fornitore protegge la piattaforma. Ciò che ci metti sopra è tuo: permessi, trigger, segreti e componenti di terzi. È lì che gli attacchi alle pipeline hanno successo.
Verifichiamo che la distinta base prodotta dalla tua build sia completa e corrisponda all’artefatto. Generarla e mantenerla fa parte della tua build; ti consigliamo come farlo.
08Richiesta
Codice di riferimento
Conserva il codice: lo indichiamo in tutte le comunicazioni successive con te.
Nella prima risposta non chiediamo mai pagamenti, password o accesso remoto.