Implementare la metodologia DevSecOps può sembrare un approccio lento e graduale nei confronti di una dinamica, quella dell’integrazione fra sviluppo e sicurezza, che spesso ha bisogno di decisioni nette e soprattutto rapide. Eppure, applicare i dettami del DevSecOps è l’unico modo in cui le organizzazioni possono effettivamente evitare i rischi per la sicurezza intrinsechi nell’utilizzo del metodo convenzionale di sviluppo applicativo.
Nel caso di un cliente di Sorint.lab il percorso di implementazione del DevSecOps ha avuto origine da una compromissione dei propri sistemi a causa di una falla in un’applicazione web. L’azienda ha innanzitutto richiesto di risolvere nell’immediato il problema, e poi, su suggerimento di Sorint.lab, di provvedere a effettuare un’estesa code review per minimizzare le probabilità che succedesse ancora.
Sorint.lab ha soddisfatto le aspettative del cliente, sistemando le vulnerabilità più gravi e indicando i passi successivi da compiere. L’analisi effettuata ha evidenziato le problematiche dell’applicativo e le modalità per mitigarle al meglio, indicando le attività da implementare subito e quelle ulteriori per accrescere la sicurezza in attesa di un percorso più approfondito verso l’implementazione del DevSecOps.
Attacco ai sistemi
L’assenza di una fase di risk assessment e di un threat model nei primi step del ciclo di sviluppo del software, che sono invece intrinsechi nel DevSecOps, può portare a problemi di sicurezza gravi e critici quando l’applicativo viene rilasciato.
Nel caso in esame l’azienda, che sviluppa applicazioni custom che poi rivende ai suoi clienti, dopo aver identificato l’intrusione nei propri sistemi si è messa in contatto con Sorint.lab anche per identificare cosa avesse esattamente permesso a una terza parte non autorizzata di entrare nei sistemi dell’organizzazione.
Perciò, oltre a una verifica puntuale, era necessario che l’impresa prendesse in seria considerazione una serie di mitigazioni e di integrazioni per evitare simili situazioni in futuro e rendere più sicura la rete aziendale e gli applicativi usati.
Verso DevSecOps: come mitigare le vulnerabilità
Un’analisi estesa, di Sorint.lab è giunta alla conclusione che il problema risiedeva in un’applicazione web. Fra le criticità riscontrate durante l’indagine, è emerso che la pagina di login era vulnerabile a un attacco di SQL injection: chiunque poteva entrare senza essere autenticato.
Inoltre, l’analisi ha messo in luce decine di vulnerabilità, di media criticità, che permettevano a un malintenzionato di estrapolare i dati dall’applicazione e che mancavano significative protezioni a livello di codice. Di fatto, è stato chiaro che rendere pienamente sicura l’applicazione avrebbe richiesto un totale redesign dell’applicativo approcciandolo seguendo i dettami del DevSecOps, che l’azienda però non era ancora pronta a implementare.
Perciò, a seguito dell’indagine, Sorint.lab ha fornito una serie di indicazioni utili a salvaguardare l’applicativo e ad aumentarne la sicurezza, fra cui la correzione di alcune delle vulnerabilità e l’inclusione di un Web Application Firewall, che filtra il traffico prima che arrivi all’applicativo: in questo modo, è meno vulnerabile agli attacchi. Nel frattempo, l’azienda ha colto l’occasione anche per aggiornare gli apparati fisici passando a dispositivi più evoluti.
Solo con DevSecOps un vero redesign del software
L’azienda ha sicuramente aumentato il grado di sicurezza attorno all’applicativo. Da questo punto di vista, Sorint.lab ha risposto all’immediata esigenza del cliente ma al contempo ha suggerito un approccio a lungo termine che prevede l’adozione del metodo DevSecOps per integrare la sicurezza informatica allo sviluppo: altrimenti, il grado di vulnerabilità dell’applicazione web resterà sempre non all’altezza degli standard moderni.
Il DevSecOps garantisce che i rischi per la sicurezza vengano preventivati già in fase di design; quando ciò non viene fatto, è più difficile – e a volte non è possibile – agire sulle vulnerabilità perché significherebbe concretamente rifare da zero l’applicativo. Il ciclo di sviluppo del software deve abbracciare la sicurezza informatica fin dalla fase uno.
Usando un’analogia medica, l’utilizzo di strumenti e integrazioni è paragonabile a un insieme di cure palliative: allieva il dolore temporaneo dell’azienda, come un applicativo molto vulnerabile, ma non può risolvere il problema fino alla radice. Per un trattamento completo, capace di risanare i problemi di sicurezza, serve che le organizzazioni comprendano l’importanza di passare a un modello DevSecOps: è questa l’unica e vera cura.