Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il rilascio e la distribuzione in DevSecOps determinano se il lavoro di sicurezza svolto in precedenza nel ciclo di vita viene mantenuto nell'ambiente di produzione. Solide pratiche per la gestione delle dipendenze, la governance delle release e i flussi di lavoro di deployment contribuiscono a rendere la distribuzione del software sicura, ripetibile e affidabile.
Questa area di funzionalità descrive come un'organizzazione gestisce le dipendenze sicure, protegge le versioni e gestisce i flussi di lavoro di distribuzione. È qui che il lavoro svolto in ambito di sicurezza nelle fasi precedenti viene preservato fino alla messa in produzione oppure va perso.
Man mano che le organizzazioni maturano, il rilascio e la distribuzione passano da modalità fragili e improvvisate a processi automatici supportati dalla previsione. La gestione delle dipendenze matura attraverso i livelli del framework Secure Supply Chain Consumption Framework (S2C2F), le release acquisiscono capacità automatizzate di test di sicurezza e rollback e i flussi di lavoro di distribuzione diventano continui, gestiti come codice e sempre più autoriparanti.
Aree di funzionalità di base
Il rilascio e la distribuzione in DevSecOps sono incentrati su tre funzionalità secondarie:
Dipendenze sicure: modalità di inventario, analisi e manutenzione delle dipendenze di terze parti e open source.
Versioni sicure: modalità di identificazione e gestione delle vulnerabilità tra attività cardine e versioni.
Flussi di lavoro di distribuzione: come le distribuzioni vengono automatizzate, testate e rese affidabili e ripetibili.
Fasi
Il rilascio e la distribuzione progredisce attraverso cinque fasi di maturità. Queste fasi mostrano in che modo i principi DevSecOps vengono visualizzati nell'amministrazione dei sistemi di progettazione, dalla protezione tardiva e incoerente ai processi protetti aumentati dalla stima.
| Fase complessiva | Nome della fase | Che aspetto ha |
|---|---|---|
| Ad hoc | Fragile | Poco è protetto dall'inizio; le minacce vengono identificate e attenuate in ritardo, se affatto. |
| Inizio | dati strutturati | I processi fondamentali portano a vantaggi iniziali da versioni più frequenti e prevedibili. |
| Orchestrazione | Dati arricchiti | Automazione e copertura dei test espansa prima della distribuzione aggiungono certezza e riducono i rischi. |
| Semplificazione | Continuo | Una copertura più approfondita tramite l'automazione aumenta la fiducia e offre agilità di rilascio. |
| Pioniere | Riflessivo | I processi protetti vengono aumentati con progressi nella stima. |
Fragile (ad hoc)
Quando i team si concentrano solo sulla produzione dell'output iniziale e del recapito, non creano sicurezza nel processo di sviluppo fin dall'inizio. Spesso identificano e attenuano le minacce in ritardo, se affatto.
Dipendenze sicure: non esiste un inventario organizzato. Gli aggiornamenti dei pacchetti sono manuali e potrebbero non verificarsi affatto.
Versioni sicure: le attività di sicurezza delle versioni organizzate sono assenti.
Flussi di lavoro di distribuzione: le attività di distribuzione vengono distribuite e ad hoc.
Strutturata (inizializzazione)
Man mano che i team stabiliscono processi di rilascio e distribuzione, iniziano a vedere i primi vantaggi delle versioni più frequenti e prevedibili.
Dipendenze sicure: I team eseguono attività S2C2F di livello 1. Il controllo delle licenze è manuale e gli avvisi dei clienti sono rudimentali.
Rilasci sicuri: I team eseguono controlli manuali per individuare vulnerabilità, problemi di conformità delle licenze e problemi di versione in corrispondenza delle milestone e dei rilasci, in genere utilizzando siti di terze parti.
Flussi di lavoro di distribuzione: esistono flussi di lavoro, ma sono in gran parte manuali e possono essere incoerenti o incompleti. Le distribuzioni sono in genere di grandi dimensioni e poco frequenti.
Arricchito (in orchestrazione)
Introdurre l'automazione ed espandere la copertura dei test prima della distribuzione aumenta l'affidabilità e riduce il rischio.
Dipendenze sicure: Teams definisce un processo iniziale di gestione delle modifiche con revisioni e approvazioni per le modifiche della versione. Usano fatture software di materiali (SBOMs), analisi delle licenze e attività di livello 2 S2C2F. Viene introdotto il mascheramento dei dati.
Versioni sicure: gli strumenti automatizzati di test della sicurezza delle applicazioni vengono usati nelle attività cardine principali per identificare le vulnerabilità e altri problemi. La correzione è ancora difficile e dispendiosa in termini di tempo.
Flussi di lavoro di distribuzione: i flussi di lavoro diventano maturi e affidabili. Le pipeline di versione includono test automatizzati completi, inclusi test dinamici della sicurezza delle applicazioni e test delle prestazioni. Gli artefatti vengono verificati con la firma del codice.
Continuo (ottimizzazione)
L'automazione che offre una copertura più approfondita dei componenti e degli scenari aumenta la fiducia e offre ai team maggiore agilità di rilascio.
Dipendenze sicure: la consapevolezza automatica della situazione esterna consente azioni difensive preventive. I team eseguono attività di livello 3 di S2C2F e generano automaticamente SBOM.
Rilasci sicuri: i team mantengono un inventario end-to-end completo, introducono protezione dal malware e rilevamento degli attacchi zero-day, ed evitano di sacrificare la qualità in nome della velocità perché possono effettuare il rollback in modo efficace e rapido.
Flussi di lavoro di distribuzione: i test automatizzati e continui di applicazioni dinamiche vengono integrati durante tutto il ciclo. L'intelligenza artificiale consente di fornire la correzione automatica e l'infrastruttura viene gestita come codice. Le modifiche più piccole e frequenti possono essere distribuite continuamente senza sacrificare l'affidabilità.
Riflessivo (all’avanguardia)
I processi protetti e sorvegliati sono migliorati con funzionalità predittive che offrono vantaggi aggiuntivi per la sicurezza e l'efficienza.
Dipendenze sicure: i team mantengono piani di contingenza per ogni dipendenza, contribuiscono con correzioni e aggiornamenti di sicurezza al software open source ed eseguono attività di livello 4 S2C2F.
Rilasci sicuri: gli investimenti strategici migliorano ulteriormente la capacità di prevedere e prevenire l'esposizione.
Flussi di lavoro di distribuzione: l'intelligenza artificiale agente viene usata per ottimizzare i flussi di lavoro e creare efficienze che migliorano la sicurezza e semplificano la distribuzione continua.