La velocità di sviluppo del software sta accelerando, e purtroppo lo stesso avviene per i rischi di “scarsa” sicurezza applicativa. Se una volta i progetti di sviluppo richiedevano anni per il completamento, oggi gli sviluppatori sono in grado di rilasciare il software nel giro di qualche settimana.
I team DevOps, oltre alla velocità e alla capacità di operare attraverso strutture funzionali diverse, riescono anche a portare le modifiche del software direttamente in produzione, in alcuni casi centinaia o migliaia di volte al giorno. L’adozione di piattaforme cloud e di servizi on-demand, di software container, portano ad un’accelerazione dei tempi di delivery e a una contrazione dei costi, ma richiedono anche un’attenzione specifica agli aspetti di sicurezza e gestione dei rischi.
L’analisi del SANS Institute, “2017 State of Application Security: Balancing Speed and Risk”, arrivata alla sua quinta edizione sui temi dell’Application Security[1], ha messo in luce come le minacce e i rischi associati alla sicurezza applicativa sono in costante trasformazione. Secondo quanto emerge dall’indagine (che si rivolge a un campione molto ampio di aziende, dei diversi settori e dimensioni, per un 72% con sede negli USA), circa un 15% dei rispondenti dichiara che la propria organizzazione ha subito negli ultimi 2 anni un Breach collegato alle applicazioni. I maggiori “contributori” agli incidenti di sicurezza continuano ad essere le applicazioni web e gli ambienti operativi Windows, seguiti dalle applicazioni legacy. Inoltre, la ricerca ha osservato un incremento degli attacchi che hanno avuto successo contro applicazioni in cloud, ora anche contro i software container.
Quali sono gli ambienti applicativi che hanno i livelli più alti di protezione?
L’indagine rileva che proprio le applicazioni web pubbliche e le applicazioni custom sviluppate in house sono il software più protetto. Come mostra la figura successiva, oggi anche le applicazioni in cloud (soprattutto quelle in cloud privato, ma anche in cloud pubblico, seppure in misura minore) e le App mobile sono diventate un’area di focus importante per la sicurezza. Le applicazioni legacy vanno spesso incluse nel programma di Application Security, in quanto, richiedendo effort e costi per le modifiche, sono più difficilmente aggiornate e ricevono quindi meno patches delle altre, per cui possono presentare numerose vulnerabilità.
Le API (Application Programming Interface) sono anche considerate nei programmi di sicurezza dal 42% delle aziende, mentre un 28% di aziende dichiara di tener presenti anche le applicazioni hosted in container come Docker. Un 20% di aziende infine si preoccupa del firmware e del software embedded (ambito che preoccupa soprattutto per quanto riguarda gli sviluppi dell’IoT).
La classifica è simile a quella osservata con l’indagine SANS del 2016, con percentuali però più alte (una quota superiore in media del 10%) nell’attenzione a questi temi.
Quali ambienti applicativi contribuiscono maggiormente ad incidenti cyber?
Un 15% dei rispondenti afferma di aver subito incidenti direttamente collegati a problemi con le applicazioni: chiedendo quali di questi ambienti avevano causato il breach, al primo posto compaiono di nuovo le applicazioni web esposte pubblicamente e gli ambienti Windows OS, seguiti da applicazioni legacy, applicazioni custom e API.
Come mostra la figura successiva, non mancano in classifica neanche il software in cloud, le App mobile e molti altri ambiti, segnale che le vulnerabilità riguardano oggi veramente qualsiasi ambiente e la superfice di attacco si è molto ampliata rispetto al passato, via via che il codice ha fatto la sua presenza sul cloud, su nuovi device dell’IoT, sul Mobile e quant’altro. E’ evidente che oggi un programma di sicurezza applicativa deve tener ben presente il panorama complessivo delle vulnerabilità e dell’evoluzione delle minacce se vuole evitare gravi ripercussioni per l’azienda.
I nuovi rischi collegati al cloud
Le piattaforme in cloud e, più di recente, i software container, sono oggi sempre più un aspetto importante all’interno dei programmi dell’IT volti a ridurre i costi ed aumentare l’agilità degli sviluppi applicativi e la dinamicità del business. Sempre di più le aziende si avvantaggiano di capacità elaborativa in grado di scalare, standardizzata e fornita on-demand. La semplificazione e l’astrazione delle attività, la trasparenza con cui questi servizi sono offerti agli sviluppatori, la possibilità offerta in più dai container di maggiore portabilità e più veloce deployment, tutte queste innovazioni fanno sì che le attività di sviluppo applicativo diventino sempre più rapide e facili – ma questa velocità naturalmente può determinare maggiori rischi di sicurezza ed affidabilità della soluzione. In aggiunta, incrementa i rischi associati a un “attivo” controllo su identità ed accessi, sull’uso di componenti non sicure, su aspetti come la security orchestration, i container “breakouts” e altro.
Come mostra la tabella successiva, che sintetizza i risultati della survey, al momento soltanto un 21% dei rispondenti ha posizionato le applicazioni del business in cloud pubblico, ma considerando i prossimi 2 anni la quota sale al 31%. È evidente quindi che i team di sviluppo devono comprendere come vadano mantenute in sicurezza anche queste architetture. In particolar modo, il passaggio al cloud richiederà ai team di sicurezza di analizzare il flusso dei dati che vanno dalle applicazioni in cloud al proprio datacenter, per essere in grado di identificare eventuali anomalie, minacce, e per verificare in modo continuativo di aver posto in essere le corrette misure e i migliori controlli.
Mitigare i rischi del cloud
Quali sono ad oggi le principali misure previste dalle aziende per la sicurezza del cloud?
Tipicamente, le stesse misure utilizzate tradizionalmente: dai risultati della survey si osserva una prevalenza di misure per la protezione del network (IDS/IPS, firewall), e naturalmente controlli e policy centralizzate sugli accessi, come mostra la figura. Una quota significativa di aziende assegna importanza anche ad aspetti specifici di Data Protection in cloud (con misure come encryption e data governance). Importanti anche gli aspetti di audit, compliance e reporting, segnale che i più sono consapevoli della necessità di estendere questi controlli (richiesti dalle norme) anche al cloud in aggiunta alle infrastrutture tradizionali. Solo una minoranza di aziende invece sfrutta i nuovi servizi di sicurezza offerti in cloud, come micro-segmentation e cloud access security brokers (CASBs).
Quali sono ad oggi le principali problematiche legate alla sicurezza applicativa?
In ultima analisi, ancora oggi, come mostra la figura successiva, le maggiori problematiche della sicurezza applicativa non risiedono tanto nella mancanza di competenze e strumenti, quanto nella difficoltà di superare barriere organizzative, differenze che frenano la diffusione di una maggiore cultura della sicurezza, silos tra diversi dipartimenti (in particolar modo tra la sicurezza, lo sviluppo e il business). Inoltre servirebbe, per diffondere una maggiore sicurezza nel mondo dello sviluppo, oltre a più fondi anche il supporto del management, che dovrebbe essere più coinvolto su queste problematiche.
A cura di: Elena Vaciago, @evaciago
A questi temi sarà dedicato il Webinar “LA SICUREZZA NELL’ERA DEL WEB APPLICATION 2.0”, che si terrà il prossimo 25 settembre dalle 10.30 alle 11.30, organizzato da Hitachi Systems CBT in collaborazione con The Innovation Group vedrà gli interventi di Michele Onorato, Security Office Manager, Hitachi Systems CBT e la presentazione dell’esperienza di Marcello David, Responsabile Sicurezza e Compliance IT, HBG Gaming.
Obiettivo del webinar è fare luce sui seguenti aspetti chiave della Sicurezza Applicativa:
- I principali rischi per le applicazioni web
- Riconoscere ed evitare le vulnerabilità più comuni del software
- Ottimizzare la sicurezza lungo l’intero ciclo di vita del software
- Impostare un Security-by-design a norma di legge
- Componenti open-source o di terze parti: come sceglierli e verificarli
- Sviluppo sicuro In-house o In Outsourcing: gli accorgimenti da tenere in conto.
ISCRIVITI QUI