Java, sviluppatori .NET inclini a vulnerabilità più frequenti

Java, sviluppatori .NET inclini a vulnerabilità più frequenti

Nodo di origine: 1901108

Più di tre quarti delle applicazioni scritte in Java e .NET presentano almeno una vulnerabilità inclusa nella OWASP Top 10, un elenco di punti deboli del software che gli sviluppatori in genere utilizzano come base per la sicurezza delle applicazioni.

Questo secondo la società di test software Veracode, che ha rilevato in un'analisi di quasi 760,000 applicazioni che circa un'applicazione su cinque che utilizza questi due ecosistemi di programmazione presentava almeno una vulnerabilità di gravità elevata o di gravità critica.

Nel complesso, l'applicazione media aveva una probabilità del 27% di avere almeno una vulnerabilità introdotta ogni mese, con app scritte male e app scansionate raramente che probabilmente erano più difettose, mentre le applicazioni con una storia più lunga di processi di sicurezza e scritte da personale ben addestrato gli sviluppatori hanno meno probabilità di introdurre nuove falle, hanno mostrato i dati.

L'analisi evidenzia l'importanza di integrare la sicurezza nella pipeline di sviluppo, afferma Tim Jarrett, vicepresidente della gestione strategica dei prodotti presso Veracode.

"I dati mostrano costantemente che se si introduce l'abitudine alla sicurezza nel proprio processo, si ottengono risultati migliori, sia in termini di correzione dei difetti generali, sia... si rallenta anche il flusso di cose in arrivo, e questo fa una grande differenza, " lui dice.

Nel frattempo, le società di software e i team di sviluppo continuano a lottare per eliminare difetti e vulnerabilità dal codice delle applicazioni. Mentre gli sviluppatori e i progetti open source lo sono correggere i difetti del software più rapidamente, secondo il rapporto "State of Software Security" di Veracode, pubblicato l'11 gennaio, il tempo di dimezzamento della vulnerabilità media continua a essere misurato in mesi, non in giorni o settimane. 

Ad esempio, le applicazioni Java e .NET, che rappresentavano il 71% del totale delle applicazioni analizzate dallo studio, hanno riscontrato che la metà dei difetti continuavano a incidere sulle applicazioni rispettivamente dopo 243 giorni e 158 giorni.

Emivita delle vulnerabilità in base al linguaggio di programmazione

Fonte: rapporto “State of Software Security” di Veracode

Il volume e l'età delle applicazioni hanno avuto entrambi un impatto negativo significativo sulla loro sicurezza. L'applicazione media ha accumulato circa il 40% di codice in più ed è più probabile che presenti vulnerabilità. Circa il 54% delle domande risalenti a due anni fa presenta difetti, mentre il 69% delle domande risalenti a cinque anni fa presenta difetti. l'analisi ha rilevato.

La sorprendente sicurezza di JavaScript

Sorprendentemente, le applicazioni scritte in JavaScript o che utilizzano uno dei framework JavaScript tendevano a ottenere risultati migliori nelle scansioni di vulnerabilità. Mentre circa l'80% delle applicazioni Java e .NET presentava una vulnerabilità, solo il 56% delle applicazioni JavaScript la presentava. E mentre circa il 20% delle applicazioni Java e .NET presentava una vulnerabilità di elevata gravità, meno del 10% delle applicazioni JavaScript la presentava.

I framework JavaScript sono più recenti, hanno maggiore sicurezza e offrono i vantaggi di un ecosistema open source, di cui Java ha beneficiato solo relativamente di recente, afferma Jarret.

"JavaScript è un linguaggio più recente, quindi le applicazioni scritte in esso [sono] più recenti, ed esiste una correlazione che abbiamo stabilito nei rapporti precedenti tra l'età dell'applicazione e il tempo di risoluzione dei difetti", afferma. "Molti degli strumenti per JavaScript [sono] maturi ed è un linguaggio ben supportato."

Inoltre, laddove una vulnerabilità in un'applicazione Java è un problema di prima parte, lasciando allo sviluppatore il compito di risolvere i problemi, in JavaScript e nel framework Node.js, le vulnerabilità sono spesso un problema di terze parti, perché la vulnerabilità si è verificata in un componente da cui dipende il software.

"Il modo in cui si risolve un problema di sicurezza in un'applicazione Java è ancora in gran parte [dove] si apporta una modifica a un file di classe e lo si compila", afferma. “In un'applicazione JavaScript si tratta più di un problema di gestione dei pacchetti. E questa è una cosa diversa da imparare per uno sviluppatore, il che potrebbe essere più semplice.

Nuovi linguaggi di programmazione languono

I dati del report evidenziano anche la differenza tra i linguaggi di programmazione che gli sviluppatori stanno imparando e quelli effettivamente utilizzati nella maggior parte delle aziende. I principali linguaggi ed ecosistemi (Java, .NET e JavaScript) visti da Veracode non rappresentano la tecnologia di programmazione scelta dagli sviluppatori.

Mentre i framework basati su JavaScript e JS, come Node.js, React.js e Angular, dominano l'elenco delle tecnologie preferite dagli sviluppatori, Java è uno dei linguaggi di programmazione meno apprezzati, con il 54% degli intervistati che teme il linguaggio, rispetto a Java. con il 46% che lo ha adorato, secondo Stack Overflow Sondaggio per sviluppatori 2022

Eppure Java ha dominato la quota di applicazioni scansionate dai client Veracode (44%) rispetto al 14% di JavaScript. 

Inoltre, il linguaggio di programmazione più amato, Rust, non compare nemmeno nei dati di Veracode, mentre il numero 6 degli sviluppatori, Python, rappresenta solo meno del 4% delle applicazioni scansionate.

Parte del motivo della disconnessione è che le applicazioni consolidate sono scritte in linguaggi di programmazione consolidati, afferma Jarrett di Veracode.

"C'è l'intero universo di tutto il codice che è là fuori, e poi c'è il tipo di schiuma sulla cresta dell'onda del nuovo sviluppo che sta accadendo, ed è lì che vedi le persone che raccolgono Go, Rust e Dart e Flutter”, dice.

A causa dei codici base aggregati delle applicazioni scritte in quei linguaggi, la situazione probabilmente non cambierà.

"Le vecchie applicazioni non muoiono mai, sfortunatamente, quindi c'è molta massa critica nelle aziende con queste grandi basi di codice Java e basi di codice .NET", afferma.

Timestamp:

Di più da Lettura oscura