I difetti nascosti nel codice open source possono portare a un nuovo heartbleed

I difetti nascosti nel codice open source possono portare a un nuovo heartbleed

Il fornitore di test di sicurezza delle applicazioni Veracode ha scoperto che dopo una scansione iniziale, sette applicazioni su dieci contengono una vulnerabilità di sicurezza in una libreria open source. La nuova ricerca dell'azienda mostra come l'uso dell'open source possa introdurre scappatoie, aumentare il rischio e aumentare il debito di sicurezza. Per compilare il suo nuovo report State of Software Security (SOSS): Open Source Edition, Veracode ha analizzato le librerie di componenti open source nel suo database di 85,000 applicazioni, che rappresentano 351,000 librerie esterne univoche. Quasi tutte le applicazioni moderne e anche quelle vendute commercialmente sono realizzate utilizzando determinati componenti open source. Tuttavia, un singolo difetto in una libreria si ripercuoterà su tutte le applicazioni che utilizzano questo codice. In un comunicato stampa, Chris Eng, direttore della ricerca di Veracode, ha spiegato come l'uso di librerie open source possa estendere la superficie di attacco di un'applicazione, affermando: “Il software open source presenta una sorprendente varietà di carenze. La superficie di attacco di un'applicazione non è limitata al proprio codice e al codice delle librerie incluse in modo esplicito, poiché queste librerie hanno le proprie dipendenze. In realtà, gli sviluppatori introducono molto più codice, ma conoscendo e applicando correttamente le correzioni, possono ridurre l'esposizione al rischio. "

Librerie open source

Secondo Veracode, le librerie comunemente incluse sono presenti in oltre il 75% delle applicazioni per ogni linguaggio di programmazione. La ricerca dell'azienda ha anche rivelato che le librerie difettose si trovano indirettamente nel codice, poiché il 47% di esse trovate nelle app sono transitorie e non mirate direttamente agli sviluppatori, ma alle librerie a monte. Fortunatamente, tuttavia, i difetti introdotti dalla libreria nella maggior parte delle applicazioni possono essere risolti solo con un aggiornamento minore della versione, poiché in genere non sono richiesti aggiornamenti importanti della libreria. Tuttavia, gli sviluppatori non possono fare affidamento su vulnerabilità ed esposizioni comuni (CVE) per comprendere i difetti delle librerie perché non tutte le librerie li hanno. Ad esempio, oltre il 61% delle librerie JavaScript difettose non dispone di CVE corrispondenti. Il rapporto ha anche scoperto che alcuni ecosistemi di linguaggi di programmazione tendono ad attrarre dipendenze molto più transitive rispetto ad altri. In oltre l'80% delle applicazioni JavaScript, Ruby e PHP, la maggior parte delle librerie sono dipendenze transitive. Anche la selezione del linguaggio di programmazione gioca un ruolo sia in termini di dimensioni dell'ecosistema che di prevalenza di guasti in questi ecosistemi. Ad esempio, includere una determinata libreria PHP ha più del 50% di possibilità di creare un buco di sicurezza. Tra i primi dieci fallimenti di OWASP, i punti deboli del controllo degli accessi sono i più comuni, rappresentando oltre il 25% di tutti i fallimenti. Cross-Site Scripting (XSS) è la categoria di vulnerabilità più comune nelle librerie open source (30%), seguita dalla deserializzazione non sicura (23.5%) e dal controllo degli accessi interrotto (20%, 3%).