Proteggere le applicazioni è sempre stato un compito fondamentale per la sicurezza e continuerà a esserlo in futuro. In Italia, come testimoniano di dati dell’ultimo rapporto Clusit, gli attacchi informatici hanno causato perdite per 10 miliardi di euro (una cifra dieci volte superiore a quella degli investimenti attuali in sicurezza informatica, che sfiorano oggi il miliardo di euro).
Si tratta di un numero di attacchi gravi perpetrati ai danni di un target disomogeneo e diffuso geograficamente su scala globale con l’obiettivo di massimizzare il risultato economico: in questo contesto le applicazioni web con la loro sempre maggiore diffusione rappresentano la porta ideale verso le informazioni più sensibili delle aziende e dei loro clienti.
Come l’ecosistema della barriera corallina, che brulica di una varietà enorme di vita, le applicazioni web sono “creature che vivono in colonie”. Sono costituite da una moltitudine di componenti indipendenti, in esecuzione in ambienti separati con requisiti operativi e infrastrutture di supporto differenti (sia nel cloud che on premise), connesse tra loro tramite le reti. Esistono tutta una serie di livelli interattivi – servizi applicativi, accesso alle applicazioni, transport layer services (TLS), domain name services (DNS), e la rete stessa – e ognuno è un potenziale un bersaglio da attaccare.
Per ottenere un punto di vista oggettivo su come le applicazioni vengono attaccate, tramite i nostri F5 Labs, i laboratori di analisi e ricerca di F5 Networks, abbiamo esaminato i dati provenienti da una varietà di fonti, inclusi i set di dati interni, le vulnerabilità di WhiteHat Security, i dati di attacco di Loryka e abbiamo realizzato un’indagine sulla sicurezza che abbiamo commissionato all’istituto di ricerca Ponemon dando vita all’edizione 2018 del Application Protection Report.
Secondo i dati raccolti, su 301 violazioni segnalate nel corso del 2017 e nel primo trimestre del 2018 le violazioni hanno riguardato le applicazioni Web nel 30% dei casi. Ulteriori ricerche degli F5 Labs che hanno presso in esame 433 casi di violazioni di alto profilo avvenute nell’arco di 12 anni e in 26 Paesi hanno rilevato che le applicazioni rappresentavano gli obiettivi iniziali dell’attacco in oltre la metà delle violazioni registrate (53%).
Le tecniche e le vulnerabilità più sfruttate
Analizzando nel dettaglio le violazioni alle applicazioni abbiamo scoperto che la maggior parte ha riguardato il furto dei dati delle carte di pagamento dei clienti tramite web injection (70%), hacking di siti web (26%) e hacking di database di app (4%).
Gli attacchi di web injection consentono a un utente malintenzionato di inserire comandi o nuovo codice direttamente in un’applicazione in esecuzione (processo noto anche come manomissione di un’app) per attivare uno schema dannoso. Negli ultimi dieci anni, il 23% delle violazioni registrate ha coinvolto attacchi con SQL injection, il tipo più subdolo di questa tipologia di attacco.
L’analisi delle violazioni ha rilevato, inoltre, come il 13% di tutte le violazioni delle app Web nel 2017 e il primo trimestre 2018 sia legato all’accesso. In particolare, al furto delle credenziali tramite email (34,29%), all’errata configurazione del controllo degli accessi (22,86%), agli attacchi brute force per crackare le password (5,71%), al credential stuffing per sottrarre le password (8,57%) e al furto tramite tecniche di social engineering (2,76%).
Questo dato non stupisce se consideriamo, come evidenziano di dati di Ponemon Institute, che il 75% degli intervistati utilizzava solo nome utente e password per l’autenticazione dell’applicazione anche se si trattava di applicazioni Web critiche.
4 mosse per proteggere le applicazioni
Alla luce dei risultati del report, vorrei condividere 4 spunti di riflessione sul tema della sicurezza delle applicazioni:
Il primo riguarda la “Comprensione dell’ambiente”: sapere quali applicazioni si possiedono e a quali repository di dati hanno accesso non è semplice ma è indispensabile. La conoscenza è potere, è necessario sapere quali sono le app di cui la propria organizzazione ha bisogno e quelle da cui i propri clienti dipendono.
Al secondo posto, ma a pari merito per importanza, metterei la necessità di ridurre la superficie di attacco perché qualsiasi aspetto di un servizio applicativo visibile su Internet, direttamente o indirettamente, sarà analizzato dagli hacker alla ricerca di possibili vulnerabilità da sfruttare. Oggi abbiamo a che fare con superfici sempre più ampie, a causa dei livelli multipli di un’app e l’utilizzo sempre crescente delle API (Application Programming Interface) per la condivisione dei dati con terze parti. Tutto quello che viene esposto tramite Internet deve essere controllato dal punto di vista dell’accesso, deve essere aggiornato e rinforzato in vista di possibili attacchi.
Il terzo passaggio è quello di assegnare la priorità alle difese in base al rischio. Una volta stabilito quali applicazioni sono importanti e aver ridotto al minimo la superficie di attacco, si devono identificare le applicazioni che richiedono risorse aggiuntive. Anche un’analisi del rischio non perfetta è comunque migliore di ipotesi casuali o di un processo decisionale distorto.
La scelta della tecnologia, con l’adozione di strumenti di difesa flessibili e integrati, resta, infine, fondamentale per il rilevamento e ripristino da minacce esistenti ed emergenti. La protezione deve estendersi a tutti i livelli da cui dipende un’applicazione.
In questo contesto la formazione deve essere continua perché, oltre a essere coerenti, le soluzioni di sicurezza dovrebbero essere ben comprese da chi si occupa di sicurezza in aziende; spesso purtroppo le violazioni si verificano nonostante vi siano delle soluzioni implementate, semplicemente a causa di un malinteso o di una errata configurazione di un prodotto. I dati della ricerca confermano che la mancanza di personale qualificato o esperto è la principale barriera principale per la sicurezza applicativa.
In sintesi, credo che dalle nostre ricerche emerga la sempre maggiore necessità di proteggere tutte le applicazioni, come veicolo fondamentale di accesso al patrimonio delle aziende.
Proteggere le applicazioni ovunque si trovino significa, infatti, proteggere la propria identità e riuscire ad adattarsi rapidamente a un ambiente digitale in continua trasformazione.