I progetti gestiti da volontari come Log4J mantengono la rete in funzione, ma lo stress per chi è impegnato in questo lavoro è insostenibile e rappresenta un rischio, ancora oggi sottovalutato, per la sicurezza nazionale.
di Patrick Howell O’Neill
In questo momento, Volkan Yazici, un partecipante al progetto Log4J, uno strumento open source ampiamente utilizzato per registrare l’attività all’interno di vari tipi di software, sta lavorando 22 ore al giorno gratuitamente. Aiuta a gestire vaste aree di Internet, comprese applicazioni che vanno da iCloud a Twitter, e lui e i suoi colleghi stanno ora sono alle prese con un’enorme vulnerabilità che ha messo a rischio miliardi di macchine.
Gli hacker sfruttano facilmente questi punti deboli. Dopo aver inviato una stringa di caratteri dannosi a una macchina vulnerabile, i malintenzionati possono eseguire qualsiasi codice desiderino. Alcuni dei primi attacchi riguardavano i bambini che incollavano il codice dannoso nei server di Minecraft. Gli hacker, inclusi alcuni legati alla Cina e all’Iran, stanno ora cercando di sfruttare la vulnerabilità in qualsiasi macchina che esegue il codice difettoso.
Il problema di Log4J rappresenta una crisi del sistema di sicurezza a lungo termine e la soluzione sembra ancora lontana. Jen Easterly, direttore della US Cybersecurity and Infrastructure Security Agency, ha affermato che “siamo di fronte a uno delle crisi più serie che abbia mai visto”. Per qualcosa di così importante, ci si potrebbe aspettare che le più grandi aziende tecnologiche e i governi del mondo abbiano assunto centinaia di esperti ben pagati per correggere rapidamente il difetto.
La verità è un’altra: Log4J, un tool parte fondamentale dell’infrastruttura Internet di base, è partito come progetto di volontariato ed è ancora gestito in gran parte gratuitamente, anche se molte aziende da milioni e miliardi di dollari fanno affidamento su di esso e ne traggono profitto ogni singolo giorno. Yazici e il suo team stanno cercando di porre rimedio ai suoi difetti per poco o niente.
Questa strana situazione è di routine nel mondo dei software open source, programmi che consentono a chiunque di ispezionare, modificare e utilizzare il proprio codice. È un’idea vecchia di decenni che è diventata fondamentale per il funzionamento di Internet. Quando va bene, l’open source è un trionfo collaborativo. Quando va male, è un pericolo di vasta portata.
“L’open source gestisce Internet e, per estensione, l’economia”, afferma Filippo Valsorda, uno sviluppatore che lavora su progetti open source presso Google. Eppure, spiega, “è estremamente comune anche per i progetti di infrastrutture di base avere un piccolo team di manutentori, o anche un singolo manutentore che non è pagato per lavorare su quel progetto”.
Nessun riconoscimento
“Il team sta lavorando 24 ore su 24”, mi ha detto Yazici via e-mail quando l’ho contattato per la prima volta. “E il mio turno dalle 6:00 alle 4:00 (no, non c’è nessun errore di battitura) è appena terminato”. Nel bel mezzo delle sue lunghe giornate, Yazici si è preso del tempo per puntare il dito contro i critici, twittando che “i manutentori di Log4j hanno lavorato senza sosta sulle misure di mitigazione: correzioni, documenti, CVE, risposte alle domande e altro. Eppure veniamo subissati di critiche per un lavoro per cui non siamo pagati, per una funzionalità che anche a noi non piace, ma siamo stati costretti a mantenere a causa di problemi di compatibilità con le versioni precedenti”.
Prima della scoperta della vulnerabilità di Log4J, il responsabile del progetto Ralph Goers aveva un totale di tre sponsor minori a sostegno del suo lavoro. Oltre a un altro incarico a tempo pieno, Goers si occupa di riparare il codice difettoso e spegnere l’incendio che sta causando milioni di dollari di danni.
Il sottofinanziamento del software open source è “un rischio sistemico per gli Stati Uniti, per le infrastrutture critiche, per le banche, per i sistemi di finanziamento”, afferma Chris Wysopal, chief technology officer della società di sicurezza Veracode. “L’ecosistema open source è di importanza per l’infrastruttura critica con Linux, Windows e i protocolli Internet fondamentali. Questi sono i principali rischi sistemici per Internet”.
Come si è arrivati a questo punto? La risposta arriva sotto forma di un’altra domanda: perché le aziende tecnologiche dovrebbero pagare per qualcosa che ottengono
gratuitamente? Ma l’immensa importanza del software open source significa che lo status quo è sempre più visto come insostenibile.
“Il problema per le infrastrutture critiche è che i volontari si impegnano solo sulle parti divertenti o interessanti del ‘lavoro’, dice Valsorda. “Un progetto open source necessita anche di test accurati, ingegneria del rilascio, valutazione dei problemi, revisioni della sicurezza, revisione del codice dei contributi e un manutentore potrebbe non avere interesse per questi aspetti”.
Mentre la pressione e le critiche si accumulano sul team di Log4J, vengono riproposte vecchie domande di equità sul mondo open source. “La correttezza è un problema”, afferma Ceki Gülcü, fondatore di Log4. “C’è questo strano squilibrio, in cui si trae profitto da qualcosa, ma non si offre nulla in cambio”. Il pubblico è quasi completamente all’oscuro dell’immenso ruolo – e del rischio – del software open source basato sul lavoro gratuito che gestisce Internet. OpenSSL supporta la crittografia, per esempio, e Linux è alla base dei sistemi operativi più utilizzati al mondo, incluso Android.
Gülcü sottolinea i problemi di reclutamento e mantenimento dei progetti open-source. Non è facile attrarre e trattenere talenti anche su grandi progetti quando il compenso varia da zero a una frazione di quello che un’azienda potrebbe pagare. E questo fenomeno può avere effetti a catena per la sicurezza nazionale. Nel 2018, lo sviluppatore dietro un popolare progetto open source chiamato ua-parser-js ha smesso, non essendo più disposto a lavorare gratuitamente. Il software è utilizzato da grandi aziende tecnologiche tra cui Google, Amazon e Facebook.
La persona che ha preso il controllo di ua-parser-js ha aggiunto codice dannoso al progetto per rubare criptovaluta. Il Dipartimento della sicurezza interna degli Stati Uniti alla fine ha emesso un avvertimento agli utenti riguardo all’hacker al lavoro. Nonostante le molte migliaia di sviluppatori che utilizzavano il software, quel progetto raccolse solo 41,61 dollari in fondi. Lo sviluppatore originale, che aveva liberamente ceduto il controllo all’anonimo successore, definì la situazione “folle”.
Tuttavia, non è che gli sviluppatori di software di alto livello dedichino sempre anni di lavoro gratuito e non ottengano nulla in cambio. Gülcü, per esempio, ha sfruttato il suo lavoro gratuito su Log4J per svolgere lavori più redditizi di sviluppo software nel settore finanziario. In realtà è abbastanza tipico per il lavoro open source aiutare a costruire un portfolio che poi porta a lavori retribuiti.
In un certo senso la struttura ricorda gli stage non retribuiti in altri settori, un sistema sempre più visto come non etico, schiavista e ingiustamente vantaggioso per le persone che possono permettersi di svolgere una gran mole di lavoro non retribuito a spese di coloro che non possono.
Come cambiare lo status quo
“Le aziende tecnologiche, le imprese, chiunque scriva software dipende dall’open source”, afferma Wysopal. “Ora c’è un riconoscimento ai più alti livelli di governo che questo è un grosso rischio”. Easterly e altri esperti affermano che le aziende tecnologiche devono migliorare la ttrasparenza. L’adozione di una distinta base del software, come richiesto da un ordine esecutivo del 2021 sulla sicurezza informatica del presidente americano Joe Biden, aiuterebbe sviluppatori e utenti a capire meglio cosa è effettivamente vulnerabile all’hacking quando vengono scoperti difetti del software.
Valsorda, che è riuscito a trasformare il proprio lavoro open source in una carriera di alto profilo, afferma che formalizzare e professionalizzare la relazione tra gli sviluppatori e le grandi aziende che utilizzano il loro lavoro potrebbe aiutare. Egli sostiene che le aziende dovrebbero sviluppare sistemi per pagare le persone che mantengono progetti open source il loro giusto valore di mercato.
Alcune aziende hanno già riconosciuto questa necessità. Google ha recentemente destinato 100 milioni di dollari per supportare lo sviluppo open source e correggere le vulnerabilità.
Wysopal afferma che è necessario fare di più per comprendere lo stato di salute dei progetti open source e per supportare sistematicamente i buoni progetti, eliminando quelli che non possono essere protetti. Un altro progetto di Google, l’Open Source Technology Improvement Fund, mira a verificare e migliorare i progetti open source critici.
Tuttavia, le ricadute delle vulnerabilità di Log4J sono un perfetto esempio di un problema più ampio. I difetti sono nel design del software e solo un esperto è in grado di individuarli. Gli attuali modelli di “bug bounty”, che pagano gli estranei per visionare il software e trovare i difetti, non sono sufficienti in questo caso, perché l’esterno semplicemente non riceve un sufficiente incentivo finanziario per sviluppare quel tipo di comprensione profonda.
“Siamo di fronte a un fallimento del mercato”, afferma Wysopal. “Stiamo prendendo la parte buona del codice condiviso e stiamo facendo in modo che qualcun altro si prenda la colpa della parte cattiva. Sono necessarie nuove risorse per trovare chi è in grado di intervenire su questi problemi.
(rp)