DevSecOps consente l'integrazione dei test di sicurezza prima del ciclo di vita dello sviluppo software (SDLC). Solitamente si fa riferimento a esso con l'espressione “shifting security left” o “shift left.” DevSecOps consente una perfetta sicurezza delle applicazioni prima del ciclo di vita dello sviluppo software, piuttosto che alla fine quando le vulnerabilità scoperte che richiedono una mitigazione sono più difficili e più costose da implementare.
DevSecOps è un'estensione di DevOps, e a volte si fa riferimento a esso con l'espressione Secure DevOps. Mentre DevOps può avere diversi significati per persone o organizzazioni differenti, esso implica modifiche sia tecniche sia culturali. Idealemente, la sicurezza è un requisito implicito per il successo di DevOps.
DevSecOps richiede la programmazione dell'applicazione e della sicurezza delle infrastrutture sin dall'inizio. Gli strumenti giusti possono essere utili per raggiungere l'obiettivo della sicurezza continua integrata, comprese alcune decisioni quali la selezione di un ambiente di sviluppo integrato (IDE) con funzionalità di sicurezza. Gli strumenti e i processi devono anche essere capaci di automatizzare alcuni cancelli di sicurezza per impedire il rallentamento del flusso di lavoro di DevOps.
I vantaggi di DevSecOps
DevSecOps permette un'automazione migliore in tutta la pipeline di consegna del software per eliminare gli errori di codifica e, soprattutto, per ridurre le violazioni.
I team che utilizzano gli strumenti e i processi DevSecOps per integrare la sicurezza nel loro framework DevOps potranno rilasciare software sicuri più rapidamente. Gli sviluppatori possono testare i codici per verificarne la sicurezza e rilevare falle nella sicurezza man mano che viene scritto il codice. I team dovrebbero essere capaci di utilizzare gli strumenti di sviluppo esistenti per migliorare l'aspetto della sicurezza relatiamente allo sviluppo delle appliczioni web.
Quali sono i componenti principali di DevSecOps
Gli approcci a DevSecOps potrebbero comprendere questi componenti importanti:
- Inventario delle applicazioni/API
- Automatizzare la rilevazione, il profiling e il continuo monitoraggio del codice in tutto il portfolio. Ciò potrebbe comprendere il codice di produzione nei data center, ambienti virtuali, cloud privati, cloud pubblici, container, serverless e molto altro. Utilizzare una combinazione di strumenti di rilevamento automatico e inventario automatico. Gli strumenti di rilevamento sono utili per individuare di quali applicazioni e API si dispone. Gli strumenti di reportistica automatica consentono alle applicazioni di creare un proprio inventario e riportare i metadati in un database centrale.
- Sicurezza del codice personalizzato
- Monitoraggio continuo del software per individuare le vulnerabilità nello sviluppo, test e operazioni. Consegna del codice più frequente in modo tale che le vulnerabilità possano essere individuate rapidamente con ogni aggiornamento del codice.
- L'analisi Static Application Security Testing (SAST) scansiona i file sorgente dell'applicazione, identifica accuratamente la causa principale e aiuta a rimediare ai difetti di sicurezza sottostanti.
- L'analisi Dynamic Application Security Testing (DAST) simula attacchi controllati su un'applicazione o servizio web in esecuzione per identificare le vulnerabilità sfruttabili in un ambiente in esecuzione.
- Il test della sicurezza delle applicazioni interattivo (Interactive Application Security Testing, IAST) offre una scansione più approfondita dotando di strumenti le applicazioni mediante agenti e sensori per analizzare costantemente l'applicazione, la sua infrastruttura, le dipendenze, il flusso di dati, nonché tutto il codice.
- Open Source Security
- I tempi dell'Open source software (OSS) spesso includono vulnerabilità nella sicurezza, in modo tale che un approccio sulla sicurezza completo comprenda una soluzione che traccia le library OSS e riporta le vulnerabilità e le violazioni delle licenze.
- Il Software Composition Analysis (SCA) automatizza la visibilità nell'open source software (OSS) ai fini della gestione dei rischi, sicurezza e conformità con le licenze.
- Prevenzione runtime
- Proteggere le applicazioni in produzione – potrebbero essere scoperte nuove vulnerabilità o le applicazioni esistenti potrebbero non essere nella fase di sviluppo.
- La registrazione può darvi informazioni in merito a quali tipi di vettori di attacco e sistemi vengono presi in considerazione. L'intelligence delle minacce fornisce informazioni riguardo ai processi di modellazione delle minacce e dell'architettura della sicurezza.
- Le applicazioni degli Runtime Application Self-Protection (RASP)misurano direttamente gli attacchi dall'interno e impediscono gli exploit interni.
- Monitoraggio della conformità
- Consentire la prontezza dell'audit e uno stato costante di conformità per GDPR, CCPA, PCI, ecc.
- Fattori culturali
- Individuare i campioni della sicurezza, stabilire la formazione sulla sicurezza per sviluppatori, ecc.
DevSecOps al vostro servizio
Passaggio1: Creare sicurezza nei requisiti software
Passaggio 2: Testare subito, spesso e rapidamente
Passaggio 3: Sfruttare le integrazioni per rendere la sicurezza delle applicazioni parte naturale del ciclo di vita
Passaggio 4: Automatizzare la sicurezza come parte dei processi di sviluppo e test
Passaggio 5: Monitorare e proteggere una volta eseguita la release
Fortify vi aiuta a creare soluzioni di protezione in DevOps
- A misura di sviluppatore
- Automazione nelle pipeline CI/CD
- SAST con Fortify Static Code Analyzer
- DAST con Fortify WebInspect
- RASP con Fortify Application Defender
- Software Composition Analysis (SCA) / Open Source Security (OSS) con Sonatype e Fortify
- Scalate la sicurezza delle applicazioni