Il codice open source è ovunque. Ma va tenuto aggiornato.

La quasi totalità dei software si basa su componenti open source, la cui gestione però è carente e pone diversi problemi

Sicurezza
Il successo del modello open source non sta solo nel fatto che le piattaforme "libere" sono alla base del computing moderno. Lo si vede anche nella dipendenza che quasi tutti i prodotti software oggi hanno da uno o più componenti open source. Che siano database, librerie o framework di sviluppo. Per capire meglio questo scenario, Synopsys ha condotto un'analisi approfondita sul codice - o meglio la codebase, quindi il complesso di codice dei vari moduli di un prodotto software - di 1.253 software commerciali.

Il risultato è che il 99% delle codebase conteneva componenti open source. Anzi, il codice "libero" rappresenta il 70% circa del codice complessivo esaminato. Nel 2015, l'anno in cui Synopsys eseguì per la prima volta una analisi simile, questa percentuale era del 36%. Nel 2018, era del 60%. I componenti open source coinvolti sono davvero molti: in media ben 445 per codebase. Con cinque in particolare evidenza come diffusione. In ordine di popolarità: jQuery (presente in ben il 55% dei prodotti), Bootstrap (40%), Font Awesome (31%), Lodash (30%), jQuery UI (29%).

Fin qui tutto bene. Il problema, sottolinea Synopsys, è che le software house e gli sviluppatori fanno fatica a tenere traccia dei componenti open source che usano. Realizzano di fatto un prodotto commerciale "composito" in cui idealmente ogni componente andrebbe controllato ed aggiornato periodicamente. Ma questo non viene fatto. Con centinaia di componenti coinvolti in ciascun prodotto, è un processo manuale troppo impegnativo.
sviluppo softwareIl risultato è che la maggioranza dei prodotti commerciali basati su open source non è allineata con lo sviluppo dei componenti stessi. Gli sviluppatori cioè continuano ad usare componenti "free" senza aggiornarli alle nuove versioni. Con risultati anche spiazzanti. Nell'analisi di Synopsys, l'82% delle codebase aveva componenti open source vecchie di oltre quattro anni. E l'88% conteneva componenti che non avevano visto sviluppi negli ultimi due anni. Componenti che quindi fanno capo a progetti di fatto defunti.

Niente aggiornamenti, niente sicurezza

Mantenere aggiornate le proprie "basi" software non è un dettaglio. O solo una ricerca di nuove funzioni di cui magari si può fare a meno. È anche e soprattutto una questione di cyber security. Uno dei motivi principali per cui i componenti software vengono aggiornati è "tappare" eventuali loro falle di sicurezza. Continuare a usare versioni datate dei componenti software significa mantenere aperte quelle falle. E creare quindi un prodotto commerciale non sicuro.
Il webinar che ImpresaCity e Red Hat hanno realizzato sul tema dello sviluppo per team distribuiti
Synopsys segnala che il problema va aggravandosi. Il 75% delle codebase esaminate conteneva almeno un componente open source con generiche vulnerabilità già note. Una percentuale che l'anno precedente si era fermata al 60%. Il 49% delle codebase aveva almeno una vulnerabilità ad alto rischio (un anno fa la percentuale era del 40%).

La poca attenzione ai componenti open source si vede dalla "età" media delle vulnerabilità trovate nelle codebase: quattro anni e mezzo circa. Il 19% delle falle rilevate è stato risolto oltre dieci anni fa. La vulnerabilità individuata più "vecchia" è stata resa pubblica ben 22 anni fa.
Se questo articolo ti è piaciuto e vuoi rimanere sempre informato con le notizie di ImpresaCity.it iscriviti alla nostra Newsletter gratuita.

Notizie correlate

Iscriviti alla nostra newsletter

Soluzioni B2B per il Mercato delle Imprese e per la Pubblica Amministrazione

Iscriviti alla newsletter

contatori