Vi serve il cloud computing? Iniziate subito

API Security per il DevSecOps

Stas Neyman

scritto da

Stas Neyman

September 29, 2022

Stas Neyman

scritto da

Stas Neyman

Stas Neyman ricopre il ruolo di direttore del reparto Product Marketing di Akamai, nell'ambito del quale si occupa della supervisione delle soluzioni per la sicurezza delle API.

Per rendere la sicurezza delle API perfettamente compatibile con il DevSecOps, è necessario usare appositi strumenti di test e monitoraggio della sicurezza delle API.
Per rendere la sicurezza delle API perfettamente compatibile con il DevSecOps, è necessario usare appositi strumenti di test e monitoraggio della sicurezza delle API.

La sicurezza delle API è fondamentale per il DevSecOps

Akamai ha acquisito Noname Security a giugno 2024. Il prodotto Noname Security è ora parte di Akamai API Security, tuttavia questo blog di archivio, originariamente pubblicato il 29 settembre 2022, riporta il nome del prodotto e delle funzioni come risultava alla data originale della pubblicazione.

Il DevSecOps è una variante del DevOps (abbreviativo dei termini "sviluppo" e "operazioni") che aggiunge la sicurezza al workflow di sviluppo dei software. La sicurezza delle API (Application Programming Interface) deve far parte del DevSecOps.

Questo blog esamina come funziona il DevSecOps e il ruolo svolto dalla sicurezza delle API nel rendere totalmente sicure le applicazioni sviluppate dai processi DevSecOps.

Che cos'è il DevSecOps?

Per comprendere che cos'è il DevSecOps, è necessario innanzitutto chiarire che cos'è il DevOps, il paradigma originale da cui si è originato il DevSecOps. Il DevOps si riferisce alla combinazione di due processi in precedenza separati: lo sviluppo del software (Dev) e le operazioni IT (Ops). Tradizionalmente, gli sviluppatori scrivevano il codice e lo trasmettevano ai team addetti alle operazioni IT per farlo implementare in fase di produzione. Questo processo ha funzionato bene nell'epoca dello sviluppo "a cascata", in cui erano richiesti mesi, o persino anni, per completare una nuova versione di un'applicazione.

Con l'avvento delle metodologie di sviluppo agile e i processi di integrazione/implementazione continua (CI/CD) del codice, la vecchia suddivisione tra sviluppo (Dev) e operazioni (Ops) non era più adeguata. Il nuovo codice veniva distribuito al team Ops ogni giorno, se non ogni ora, in base alla sua data di rilascio.

L'unico modo per completare tutto il processo senza causare disastri era unificare i workflow dedicati allo sviluppo e alle operazioni. Questi due processi combinati hanno richiesto un team combinato.

Nel nuovo panorama del DevOps, gli sviluppatori e gli addetti alle operazioni collaborano per rilasciare rapidamente il codice in fase di produzione. Si è trattato di una naturale conseguenza, se non altro, il rapporto tra i team Dev e Ops tendeva ad essere teso con una visione (tradizionale) di "buttarsi alle spalle" ciò che andava in fase di produzione. Il DevOps ha cambiato questa dinamica introducendo un modello di responsabilità condivisa.

Man mano che le minacce informatiche sono diventate più gravi, è sembrato opportuno far diventare la sicurezza parte del workflow DevOps. Ecco come dal DevOps si è passati al DevSecOps. Questo passaggio ha agevolato un rapporto a volte teso, in cui la sicurezza è stata spesso considerata come un "vigile" che ha rallentato il processo di sviluppo. Il DevSecOps rappresenta un nuovo modo di collaborare. La sicurezza ora accelera i cicli di sviluppo, rendendoli anche più sicuri.

I principali fattori di successo del DevSecOps

Raggiungere il successo nel DevSecOps non è semplice poiché richiede la collaborazione di più team e workflow, ciascuno con propri obiettivi da realizzare. Far funzionare il complesso sistema di persone e processi che costituiscono il DevSecOps richiede un'accurata miscela di strumenti e processi. La tecnologia deve supportare entrambi gli aspetti e cercare un compromesso sui processi, inclusi i dirigenti.

Per il successo del  DevSecOps, il team addetto alla sicurezza deve adattare la modalità dei test in base ai processi di CI/CD. A loro volta, i team DevOps devono trattare i problemi di sicurezza almeno con lo stesso rigore con cui trattano i problemi funzionali. Infatti, programmi meno rigorosi presentano problemi di sicurezza che crescono e muoiono nel backlog. Il successo richiede, inoltre, una strategia Shift-Left che posiziona la sicurezza quanto più possibile nelle prime fasi del workflow DevOps.

La protezione delle API nei workflow DevOps

La protezione delle API nei workflow DevSecOps richiede test di sicurezza delle API durante il processo di sviluppo e monitoraggio delle API nella loro fase di produzione. I test sulla sicurezza delle API sono paragonabili ad altre forme di test di sicurezza nel DevSecOps, ma con alcune differenze significative. Ad esempio, mentre i test statici possono risultare utili per rilevare le vulnerabilità nel codice, non sono efficaci per identificare tutte le vulnerabilità delle API.

Al contrario, i test di sicurezza delle API per il DevSecOps devono focalizzarsi sull'esecuzione di test a scatola nera utilizzando la logica aziendale. Questo approccio rivela come le API funzioneranno effettivamente una volta implementata l'applicazione.

Gli strumenti di test sulla sicurezza delle API come Noname Active Testing possono eseguire test di questo tipo, quindi possono rilevare le vulnerabilità riportate nell'elenco OWASP (Open Web Application Security Project) con i 10 principali rischi per la sicurezza delle API, l'utilizzo delle risorse illimitato, errori di configurazione della sicurezza, una gestione dell'inventario inadeguata e molto altro Se queste vulnerabilità sono presenti e non vengono mitigate, un criminale che attacca le API può guadagnare un accesso non autorizzato ai dati riservati.

Noname Active Testing si integra nella pipeline CI/CD grazie al suo supporto di serie di test altamente configurabili. Inoltre, consente di eseguire test di tipo Shift-Left con integrazioni incorporate per più sistemi CI/CD. Tra questi due fattori, lo strumento inserisce la sicurezza delle API nel DevSecOps. L'integrazione CI/CD è essenziale perché consente di eseguire i test sulla sicurezza delle API continui e rapidi che sono necessari per mantenere sicure le moderne applicazioni.

La sicurezza delle API per il DevSecOps non si ferma con lo sviluppo. La best practice è quella di continuare il processo di sicurezza delle API con la fase di produzione. Monitorando le API in fase di produzione, la parte del DevSecOps dedicata alla sicurezza riesce a rilevare le API che sono "scivolate" in uno stato di vulnerabilità, ad esempio, per una riconfigurazione o un errore di configurazione da parte di un amministratore durante la produzione. Una volta rilevata, la vulnerabilità delle API può essere mitigata come parte del workflow DevSecOps.

Conclusione

Il DevSecOps può risultare difficile da implementare perché richiede un notevole numero di persone e processi da allineare perfettamente in modo da consentire a tutti di muoversi ad un ritmo serrato. La sicurezza delle API ha la capacità di complicare il DevSecOps e interrompere le sue perfette operazioni. Tuttavia, i test di sicurezza delle API sono fondamentali per lo sviluppo di applicazioni sicure. Per rendere la sicurezza delle API perfettamente compatibile con il DevSecOps, è necessario usare appositi strumenti di test e monitoraggio della sicurezza delle API.



Stas Neyman

scritto da

Stas Neyman

September 29, 2022

Stas Neyman

scritto da

Stas Neyman

Stas Neyman ricopre il ruolo di direttore del reparto Product Marketing di Akamai, nell'ambito del quale si occupa della supervisione delle soluzioni per la sicurezza delle API.