di Ashley Ward, Technical Director, Office of the CTO, Palo Alto Networks
Si parla spesso di tensione tra sviluppatori e responsabili della sicurezza e la collaborazione tra i due team potrebbe sembrare strana. In realtà, spostare la sicurezza dalla fine del ciclo di vita dello sviluppo software a un punto precedente del processo può davvero fare la differenza. Integrare strumenti di protezione nella pipeline di sviluppo può mettere fine all’incubo di tentare di risolvere falle di sicurezza una volta terminato il processo.
Il potenziale per migliorare la consapevolezza e le attività di sicurezza in ambito DevOps è evidente quando si considera come semplici, ma gravi falle nella sicurezza cloud continuano a essere un problema. Ad esempio, il recente Cloud Threat Report del team di threat intelligence Unit 42, ha rivelato scarsa sicurezza nel software e nelle infrastrutture basate su cloud: il 74% delle installazioni cloud esaminate stavano eseguendo workload in Google Cloud con privilegi di amministrazione non sufficientemente sicuri.
“DevSecOps” è il termine che riassume il cambiamento culturale che deve avvenire per porre fine a queste e altre mancanze. Con questo approccio, i team che creano applicazioni non dovrebbero solo essere consapevoli di come il codice venga sviluppato e distribuito nel cloud e altrove, ma anche di come viene protetto. DevSecOps significa integrare la sicurezza ovunque, in modo che tutti i punti di contatto nel ciclo di vita dello sviluppo del software ne contengano un elemento.
L’obiettivo di DevSecOps è di rendere DevOps e i processi di sicurezza molto più efficienti e consentire di individuare eventuali problemi in anticipo.
Aprire le linee di comunicazione
Quindi, quali sono gli elementi fondamentali per il successo? Uno ovvio è abbattere le barriere che esistono tra i team di sviluppo e di sicurezza. Gli approcci sono diversi, si potrebbe inserire una persona di sicurezza in un team di sviluppo o formare gli sviluppatori sulle best practice di protezione. Qualunque sia il prescelto, un passo fondamentale è il superamento delle barriere di comunicazione. Un malinteso comune è che security significhi solo dire no a qualsiasi richiesta, in nome della riduzione del rischio. Dal punto di vista della sicurezza, invece, si pensa che gli sviluppatori si preoccupino solo di consegnare il codice, senza prendere in considerazioni eventuali rischi. Nessuno dei due punti di vista è fondamentalmente vero.
Linee di comunicazione aperte e comprensione reciproca sono fondamentali, ma è altrettanto importante che i team DevSecOps abbiano un set di strumenti integrato e capace di tracciare e affrontare le modifiche che potrebbero avvenire in azienda. Che si tratti di cambiamenti nei fornitori di cloud, nello stack di distribuzione o altro, c’è una chiara necessità di disporre di una piattaforma che funzioni ovunque ci si trovi – nel cloud o on-premise.
Approcci di sviluppo nativi del cloud scatenano nuovi modi di fornire sicurezza. La tecnologia oggi consente di ricercarne i problemi dalla schermata del codice dello sviluppatore, fino alla scansione automatica e la protezione degli ambienti di produzione. Inoltre, fondamento di una buona consapevolezza e visibilità della sicurezza è l’entità dell’utente e l’analisi comportamentale che può ridurre il rischio ulteriormente.
Gli strumenti sono un elemento essenziale per abilitare DevSecOps, ma rimangono altre sfide da risolvere che includono le “incognite sconosciute” affrontate dalle organizzazioni quando accelerano la loro trasformazione digitale.
Forse la più grande difficoltà che le aziende devono affrontare quando cercano di integrare la sicurezza nello sviluppo è spesso il desiderare una soluzione facile. In altre parole, “abbastanza sicurezza”, ma non è mai una grande idea.
Spostarsi a sinistra e coltivare un approccio DevSecOps richiederà tempo e sarà necessario investire in strumenti che permettano a sviluppatori e team di sicurezza di lavorare insieme e impegnarsi realmente per eliminare le barriere di comunicazione, sviluppare la giusta cultura e stabilire processi che consentano loro di collaborare per uno scopo comune.