Security managementSicurezzaVirus

App Java? Quasi nove su dieci contengono almeno un componente vulnerabile

Nel 1998 inizia la sua esperienza nel mondo IT in Mondadori e partecipa alla nascita di Web Marketing Tools di cui coordina la redazione. Redattore esperto di software per PC Magazine, e caporedattore di ComputerIdea, segue da circa 20 anni l’evoluzione del mondo hardware, software e dei servizi IT in un confronto continuo con le aziende leader del settore

Nel suo ultimo report, 2017 State of Software Security, CA Veracode evidenzia come l’88 percento delle applicazioni Java contenga almeno un componente vulnerabile in grado di esporre ad attacchi di vaste proporzioni

CA Technologies ha acquisito a marzo del 2017 Veracode, azienda che opera nell’ambito della sicurezza del software e vanta un portafoglio di diverse soluzioni per il controllo delle caratteristiche di “solidità” delle applicazioni tradizionali e web, con la CA Veracode Platform che nel complesso ha ispezionato sei migliaia di miliardi di righe di codice aiutando le aziende a risolvere oltre 27 milioni di difetti in ambito di sicurezza. 

Infografica CA Veracode
Infografica CA Veracode

Nel suo ultimo report, 2017 State of Software Security, Veracode propone un’analisi relativa ai dati dei test sulla sicurezza delle applicazioni, dati ottenuti proprio dagli scanning eseguiti su un campione di oltre 1400 clienti che utilizzano i prodotti CA Veracode. Sono il frutto della scansione di quasi 250 miliardi di righe di codice nel corso di 400mila assessment svolti nei dodici mesi dal 1 aprile 2016 al 31 marzo 2017.

Lo studio mette in evidenza un dato tanto noto agli addetti ai lavori quanto comunque preoccupante per cui l’88 percento delle applicazioni Java contiene almeno un componente vulnerabile in grado di rendere l’applicazione suscettibile agli attacchi di vaste proporzioni. Un dato che emerge e poggia sul fatto che il 28 percento delle aziende esegue di routine analisi per comprendere quali sono i componenti presenti all’interno delle loro applicazioni.

Un esempio di vulnerabilità di vaste proporzioni a livello di componenti, portata come esempio è  Struts-Shock, scoperto praticamente nei giorni proprio dell’acquisizione di Veracode da parte di CA. La reazione tardiva di patching è spesso tra le cause delle infezioni e il 68 percento delle applicazioni Java che utilizzavano la libreria Apache Struts 2 usava ancora una versione vulnerabile del componente nelle settimane successive ai primi attacchi.

Grazie alla vulnerabilità nella libreria Apache Struts 2 sono stati resi possibili diversi attacchi RCE, e sono stati quantificati in 35 milioni i siti sensibili tra cui l’Agenzia Canadese delle Entrate e l’Università del Delaware.
Il CTO di CA Veracode, Chris Wysopal ha voluto sottolineare e confermare: “L’impiego universale di componenti per lo sviluppo applicativo implica che, quando emerge una vulnerabilità a carico di un componente, essa può potenzialmente interessare migliaia di applicazioni – rendendone molte passibili di violazione con un unico exploit”. 

II dati allarmanti del Report non riguardano solo Apache Struts. Oltre la metà delle applicazioni Java infatti si baserebbe su una versione vulnerabile dei componenti Common Collections, anche in questo caso è ancora in uso lo stesso numero di applicazioni con la versione vulnerabile che era in uso nel 2016.

Il riutilizzo del codice funzionale a blocchi per sviluppare in modo più veloce le applicazioni non è la causa di tutti i mali, ma trascurare il fattore tempo quando compare un exploit è poi invece molto pericoloso, e perdere cognizione o il controllo sulle diverse versioni utilizzate per ogni componente espone poi l’applicazione a rischi importanti sui quali sfugge del tutto il controllo.

Fino al 75 percento del codice di una applicazione è costituito da componenti open source ma non è questa la causa diretta del gap in sicurezza. Piuttosto, l’utilizzo di componenti vulnerabili non più verificati perché le aziende, per esempio, si concentrano sulla soluzione di infezioni ritenute più pericolose o proprio sui difetti del software che hanno un impatto immediato anche sull’esperienza del cliente.
Anche in questi casi tuttavia ecco che dal report emerge come pure per gli errori gravi il tempo di risoluzione sia superiore ai 30 giorni (solo il 22 percento dei difetti è eliminato in meno di un mese), mentre sappiamo che il tempo di reazione degli hacker è spesso di poche ore. Infine, vulnerabilità importanti continuano ad emergere a tassi allarmanti nel software non testato con il 77 percento delle app rivela vulnerabilità alla prima scansione.

L’ultima evidenza per cui le organizzazioni governative mostrano risultati di sicurezza inferiori alle industries in altri ambiti non conforta. Esse registrano la più alta prevalenza di vulnerabilità altamente sfruttabili quali cross-site scripting (49 percento) e SQL injection (32 percento).