Il software open-source può essere sicuro?

Storia successiva

Chi fa uscire i bugs?

Il software open-source permette a chiunque - nel bene e nel male - di dare un'occhiata sotto il cofano e, si spera, di risolvere i problemi di sicurezza o di funzionalità. Ma potrebbero anche introdurre backdoor che potrebbero passare inosservate, a volte per anni, secondo uno studio del 2022 pubblicato al 31° USENIX Security Symposium.

Il software closed-source, invece, si affida alla segretezza del suo codice sorgente e all'esperienza dei suoi sviluppatori, una sorta di salsa segreta interna che si spera venga mantenuta da esperti con una solida reputazione in materia di sicurezza, dove il loro mestiere è almeno sufficientemente buono per fidelizzare i clienti e rimanere in attività. Indipendentemente dal fatto che rendano o meno disponibile il proprio codice sorgente, gli sviluppatori possono trarre vantaggio da documenti come la OWASP Top Ten e i SEI CERT Coding Standards, che promuovono lo sviluppo di pratiche di codifica sicure.Sebbene il software open-source affondi le sue radici negli anni Cinquanta, solo all'inizio degli anni Ottanta negli Stati Uniti il software è stato considerato soggetto a copyright. Uno dei risultati fu che molti fornitori che in precedenza fornivano il codice sorgente come parte dei loro prodotti smisero di farlo. Negli anni Ottanta e negli anni Duemila, alcune aziende di software come Microsoft hanno visto il software open-source come una sorta di minaccia esistenziale per la loro attività, prima di abbracciarlo nel 2010.Oggi, le Big Tech promuovono sempre più la collaborazione pubblico-privata sulla sicurezza del software open-source, al punto che la Casa Bianca ha organizzato un summit sulla sicurezza nel 2022, forse a causa del diffuso sfruttamento delle vulnerabilità del software open-source. Durante la stesura di questo articolo, il CISA ha annunciato la pubblicazione della sua roadmap di sicurezza per il software open-source, sottolineando il riconoscimento dell'importanza del software open-source nell'ecosistema tecnologico e l'impegno a contribuire alla sua sicurezza.

Le aziende produttrici di software a codice chiuso hanno anche la possibilità di affidare a qualcuno il compito di aggiornare il software in base ai problemi che si presentano. L'open source si affida generalmente a folle di volontari che intervengono e risolvono i problemi non appena si presentano, una proprietà nota come legge di Linus: "se ci sono abbastanza occhi, tutti i bug sono superficiali". Ma dato che i volontari sono difficili da catturare, è più difficile costringerli a fare il lavoro quotidiano di correzione tempestiva dei bug - la parte della sicurezza che non è affascinante - e gli aggiornamenti possono ritardare. Questo potrebbe però cambiare: i programmi di bug bounty offerti da Google e Huntr sono un modo per monetizzare la scoperta e la correzione delle vulnerabilità nel software open-source. La realtà del software moderno è una via di mezzo, dato che molti progetti closed-source spesso si affidano pesantemente a una serie di software open-source "impalcature" per svolgere le attività di base prima di aggiungere la loro salsa segreta. Ad esempio, ha senso non costruire da zero un'applicazione di posta elettronica per le notifiche amministrative: ci sono progetti open-source ben collaudati che possono gestirla facilmente.Alcune aziende più orientate all'open-source, invece, contribuiscono attivamente ai progetti di software open-source che ritengono importanti e, poiché hanno clienti commerciali, le loro entrate commerciali consentono loro di assumere qualcuno il cui compito è quello di correggere i bug. Ma questa strana confluenza di forze può ancora consentire problemi come le vulnerabilità di Log4j, che possono minare l'infrastruttura e forse fornire una backdoor, indipendentemente dal fatto che l'intero stack utilizzato come prodotto sia aperto, chiuso o molto probabilmente una via di mezzo.Un effetto secondario del software open-source è che aiuta a dare il via a intere comunità di cose come il software di comunicazione che vogliono agire in modo  sicuro, poiché non devono costruire l'intera cosa da zero per cercare di ottenere la crittografia giusta. Questo è ciò che fanno alcuni dei progetti software di protezione della privacy più popolari al mondo, come Proton e Signal, ognuno dei quali ha una solida reputazione e una storia di mantenimento della privacy e della sicurezza.

Gli autori di Signal invitano chiunque a rivedere il loro codice e, dal momento che la messaggistica personale è una funzione così importante per la società, frotte di addetti alla sicurezza si concentrano proprio su questo aspetto, perché una vulnerabilità, o una debolezza crittografica, può avere conseguenze di vasta portata.

Proton, con sede in Svizzera, ha iniziato a occuparsi di e-mail super-sicure, per poi espandersi in una serie di altri servizi per la protezione dell'identità degli utenti, un'altra funzione estremamente importante per la società e che ha conseguenze se si sbaglia.

Per evitare di pensare che il closed source abbia un curriculum migliore, anche il software closed source più utilizzato al mondo può contenere vulnerabilità per anni, se non decenni. Considerate CVE-2019-0859. Scoperta da Kaspersky Lab, è una vulnerabilità use-after-free riscontrata in dieci anni di sistemi operativi Microsoft Windows, da Windows 7 a Windows 8, da Windows 8.1 a Windows 10 sul lato desktop, e nelle versioni di Windows Server 2008 R2, 2012, 2012 R2, 2016 e 2019.

Il diavolo si nasconde nei dettagli

La verità è che né il software open-source né quello closed-source sono intrinsecamente più sicuri dell'altro. Ciò che conta è il processo attraverso il quale il software viene sviluppato e vengono implementate le correzioni per le vulnerabilità. L'affidabilità di tali correzioni e la velocità con cui possono essere implementate sono gli elementi su cui le aziende dovrebbero concentrarsi per determinare una postura di sicurezza, non il tipo di licenza software.

Alla fine si tratta di capire quanto l'organizzazione ospitante sia reattiva nei confronti della più ampia comunità di sicurezza. ESET, ad esempio, contribuisce in modo significativo al framework MITRE ATT&CK® e fornisce molti altri strumenti di sicurezza che spesso sono gratuiti o open source.

Nel mondo ibrido del software, quasi sempre un mix di software open e closed source, questo diventa la cartina di tornasole: se l'azienda o l'organizzazione è aperta a suggerimenti e contributi e se reinveste nella comunità della sicurezza. C'è un detto che dice che la compagnia è buona: assicuratevi che i vostri software siano in buona compagnia e che la marea crescente della sicurezza sollevi tutte le navi digitali. E anche se la sicurezza perfetta rimarrà inafferrabile, i grandi team con una buona reputazione possono certamente aiutare.