Protezione App CyberArk, come funziona l’approccio “Shift Left”?

Protezione App CyberArk

Massimo Carlotti, Presales Team Leader di CyberArk, ci spiega l’efficacia dell’approccio “Shift Left” per proteggere le applicazioni.

“Shift Left” è un concetto molto noto ai team di sicurezza che lavorano con gli sviluppatori di software e significa introdurre la sicurezza nel ciclo di vita dello sviluppo del software (SDLC) il prima possibile (in termini di stadi del ciclo di vita). Per capirne la sua importanza, soprattutto in questo momento, è necessario considerare alcuni elementi chiave.

Protezione App CyberArk – Tutto ha inizio con il processo di sviluppo

Diamo un rapido sguardo all’SDLC. In un ambiente di sviluppo tradizionale, l’SDLC riflette come il codice viene sviluppato e poi messo in produzione. Il ciclo di vita dello sviluppo dell’app inizia con la pianificazione. Essa è seguita da codifica, creazione di una struttura, test, rilascio, deploy ed esecuzione della nuova applicazione in produzione.

Le responsabilità lungo tutto il ciclo di vita sono condivise tra diversi team.
Gli sviluppatori scrivono ed eseguono i test sul codice. DevOps ed Ops sono responsabili della costruzione dei sistemi attraverso i quali il codice passa in produzione. Anche la sicurezza è nel mix, ma troppo spesso non viene inserita fino a quando il codice non è già in produzione.

Protezione App CyberArk

Essendo gli ambienti di sviluppo e di produzione separati, potrebbe sembrare che la sicurezza si focalizzi solo sulla protezione degli ambienti di produzione. Tuttavia, con l’aumento dell’uso delle tecnologie di automazione, questa strategia non è più praticabile. Molti dei processi di sviluppo sono automatizzati da strumenti come Jenkins. Esso gestisce la pipeline CI/CD (Continuous Integration/Continuous Delivery) o Ansible, che automatizza la messa in produzione del codice.

Quindi, non si può più aspettare il deployment per prendere in considerazione la sicurezza, sarebbe troppo tardi. In questo scenario, le decisioni fondamentali in materia di protezione sono già state effettuate senza una guidance precisa e modificarle potrebbe richiedere molto tempo. È necessario adottare l’approccio “Shift Left” ed aggiungere la sicurezza fin dall’inizio del processo di sviluppo per garantire che ogni fase sia protetta da subito.

Protezione App CyberArk – “Shift Left” per includere la sicurezza in tutti i livelli del processo di sviluppo

Come far sì che la sicurezza sia inclusa all’inizio del processo?
Ci sono molti modi per incorporarla, ma uno dei passi più critici da compiere per eliminare le vulnerabilità è di rimuovere le credenziali hardcoded, i segreti e le chiavi di accesso dal codice dell’applicazione, utilizzate per accedere a database, piattaforme cloud e altre risorse sensibili.

Sono noti molteplici episodi terribili legati a sviluppatori che incorporano le credenziali nel codice e utilizzano un repository per il controllo delle versioni senza rendersi conto che è pubblico. Invece di codificare in modo rigido le credenziali privilegiate nell’applicazione, dovrebbero essere protette, amministrate e monitorate da una piattaforma di gestione dei segreti e rese accessibili dalle applicazioni solo quando necessario.

Protezione App CyberArk

I repository di codice sono molto usati. Optando per la gestione dei segreti, anche nel caso in cui il codice venisse inavvertitamente reso pubblico, non si corrono rischi di esposizione di credenziali.

Quando si rimuovono le credenziali hardcoded gli sviluppatori devono codificare le loro applicazioni per recuperare le password e le credenziali necessarie per accedere in modo sicuro a una risorsa. Anche se è relativamente facile sostituire la credenziale codificata con una call API all’inizio del processo di sviluppo, sarà necessario un notevole lavoro di rielaborazione se si attende la codifica delle credenziali nell’applicazione.

Potrebbe essere un’enorme seccatura per gli sviluppatori. Tuttavia, come abbiamo provato a spiegare in breve può essere facilmente risolta se il team di sicurezza collabora con gli sviluppatori all’inizio del ciclo di vita dello sviluppo.