Da un articolo scritto da Mirko Boehm, Community Development Senior Director della Linux Foundation Europe, pubblicato sul blog della fondazione
La fondamentale importanza del software open source nel panorama dei prodotti digitali moderni, che ce ne sia coscienza o meno, sottolinea quanto le decisioni normative ad esso correlate abbiano un impatto pervasivo. Tale impatto non si limita solo agli attori direttamente coinvolti, come i produttori di software, le aziende tecnologiche, gli sviluppatori e i fornitori, ma si estende anche alle imprese e ai cittadini europei in generale. Questo rende il Cybersecurity Act (CRA), integrante della strategia dell'Unione Europea per la sicurezza informatica, di vitale importanza in questo momento storico.
La mancanza di sicurezza informatica causa danni reali a tutta la filiera e alla sua economia:
La comunità open source ha identificato questi problemi per tempo e, ad esempio, ha agito istituendo la Core Infrastructure Initiative, che si è poi evoluta nella Open Source Security Foundation (OpenSSF).
Con la proposta di regolamento sulla ciberresilienza, la Commissione europea intende da una parte migliorare la sicurezza informatica dei prodotti digitali e dall’altra consentire ai consumatori di fare scelte più informate nella scelta e nell'utilizzo dei prodotti digitali, che si intenda hardware o software. Ovviamente il fatto che la sicurezza informatica diventi una priorità dell'UE è stato accolto con favore da una moltitudine di parti interessate, tra cui la Linux Foundation e la Linux Foundation Europe. Il modo in cui il CRA intende aumentare il livello di sicurezza informatica, tuttavia, continua a suscitare grandi preoccupazioni.
LEGGI ANCHE: Il Cyber Resiliency Act e le Preoccupazioni per l'Open Source
Gli obiettivi principali del CRA sono ridurre le vulnerabilità dei prodotti digitali, garantire il mantenimento della cibersicurezza durante l'intero ciclo di vita di un prodotto e consentire agli utenti di prendere decisioni informate quando lo scelgono e lo utilizzano. A tal fine crea condizioni che si applicano a qualsiasi prodotto in rete immesso nel mercato dell'UE, sia esso fornito da un'azienda dell'UE o da un'azienda esterna, e ai prodotti non conformi al CRA sarà precluso l'accesso al mercato dell'UE.
Il CRA distingue tra prodotti non critici e prodotti critici. Questi ultimi sono suddivisi in classe I e II. La classe II (router, firewall o processori di crittografia, ad esempio) è soggetta ai requisiti di sicurezza informatica più severi. Le tecnologie open source fondamentali, come i sistemi operativi per server, desktop e dispositivi mobili, gli hypervisor o i runtime dei container, sono esplicitamente incluse nella classe II dei prodotti critici.
Ogni prodotto di consumo nasce come componente che attraversa la catena di fornitura in un processo di ulteriore integrazione.
Tecnicamente, il processo inizia con l'estrazione delle materie prime dal terreno e la fornitura di energia elettrica da una fonte di energia come una rete o un pannello solare. Per i prodotti con elementi digitali, le fasi rilevanti iniziano con l'assemblaggio dei moduli di livello più basso a partire da componenti software e hardware di uso generale. Si tratta delle materie prime equivalenti dell'ecosistema ICT, librerie software generiche e componenti elettrici di base. I componenti generici sono adatti a potenzialmente molte applicazioni, ma non ancora integrati per un uso specifico prevedibile. I prodotti pronti per il consumatore, invece, sono realizzati per un'applicazione concreta, dove il produttore promette l'idoneità allo scopo per cui il consumatore paga. Il processo di integrazione può essere seguito lungo la catena di fornitura, in quanto i prodotti intermedi vengono sempre più perfezionati fino a quando non sono pronti per il consumatore per lo scopo previsto.
Il software in quanto tale, sia esso in codice sorgente o in forma eseguibile, non descrive completamente un prodotto digitale. Facendo riferimento a Turing, per esaminare il comportamento di un prodotto digitale è necessario conoscere il software, l'ambiente hardware e la configurazione attuale del sistema. Questo aspetto è particolarmente importante nel contesto della sicurezza informatica: una vulnerabilità si concretizza solo quando una falla del software viene esposta dalla configurazione di uno specifico sistema in esecuzione. Il sistema concreto è necessario per riprodurre il problema. La correzione della vulnerabilità può essere verificata solo sul sistema concreto. In pratica, l'ambiente hardware spesso non è disponibile per la comunità di sviluppo del software a monte. Uno dei motivi è l'uso pervasivo di componenti open source in un numero spropositato di casi d'uso, da dispositivi banali a satelliti. Un altro motivo è la protezione della proprietà intellettuale: un produttore a valle non ha bisogno di divulgare i propri progetti hardware per poter utilizzare il software a monte.
La decisione di utilizzare o meno un componente open source a monte viene presa dai produttori di prodotti lungo la Supply Chain. Nel progettare i loro sistemi, i produttori devono assicurarsi che il loro prodotto soddisfi i requisiti qualitativi e normativi, compresa la sicurezza informatica, per l'uso prevedibile da parte dell'attore successivo nella catena di fornitura. Il produttore del prodotto finale garantisce che il prodotto è sicuro per l'uso da parte del consumatore e soddisfa il suo scopo. Questa responsabilità end-to-end è supportata da accordi contrattuali tra i produttori di prodotti di consumo e i loro fornitori che gestiscono le garanzie e le responsabilità per i prodotti intermedi. Il consumatore può essere certo che il produttore del prodotto garantisce il sistema nel suo complesso e spesso non è a conoscenza dei componenti che lo compongono.
Le comunità open source a monte rilasciano software di uso generale con licenze che consentono l'uso, la modifica e la ridistribuzione da parte di chiunque, per qualsiasi scopo, ma senza alcun tipo di garanzia. Ciò pone queste comunità in una posizione speciale nella catena di fornitura del software: in quanto fornitori dei componenti più generici e riutilizzabili, l'utilizzo del software non richiede ai produttori a valle di impegnarsi con le comunità a monte. Il "prelievo" di software dai progetti open source è una transazione unilaterale da parte degli utenti a valle. Le comunità a monte, nella maggior parte dei casi, non conoscono a fondo gli utenti del loro software. A volte questo concetto è oscurato dalle aziende che rilasciano software open source e forniscono servizi commerciali intorno ad esso.
La cartina di tornasole, tuttavia, è semplice: se un consumatore può usare, modificare e ridistribuire il software senza impegnarsi con l'azienda, queste due attività sono separate e disgiunte. Questo vale per tutte le licenze open source accettate. I servizi sono un'attività commerciale, mentre i contributi a monte diventano parte del pool di software open source disponibile (il "global open source commons"). I contributori open source possono essere ovunque nel mondo e i loro contributi sono integrati a monte.
Nella bozza attuale, il CRA ignora queste realtà. Tratta tutto lo sviluppo e la distribuzione di prodotti digitali allo stesso modo. Non distingue tra i prodotti venduti nel mercato dell'UE e il rilascio di software con licenza open source.
Definisce invece un'esclusione per il software open source "sviluppato o fornito al di fuori del corso di un'attività commerciale" per non ostacolare l'innovazione o la ricerca. Purtroppo, questo è completamente fuori strada: la stragrande maggioranza del software open source è sviluppata nel corso di attività commerciali da sviluppatori nel loro lavoro quotidiano.
La stessa azienda o lo stesso sviluppatore possono lavorare su prodotti o fornire servizi commerciali mentre forniscono contributi all'open source. È la natura dell'attività che conta, non la persona che la svolge. Il CRA, inoltre, non tiene conto dell'uso previsto dal produttore nel definire le responsabilità per la sicurezza informatica.
Ciò significa che il fornitore di qualsiasi modulo software, open source o meno, può diventare responsabile delle vulnerabilità quando il software viene utilizzato per controllare una centrale nucleare, anche se il software è stato realizzato per i giocattoli.
Questo scollamento artificiale tra le decisioni sui prodotti, come il consumo di open source per immettere un prodotto sul mercato, e le loro conseguenze (le capacità di sicurezza informatica di questi ultimi) rappresenta una drastica deviazione dalle norme altrimenti consolidate nel mercato unico dell'UE e in altre parti del mondo. Pervertirà gli incentivi per i produttori, che cercheranno di scaricare la sicurezza informatica sui loro fornitori e sulle comunità a monte. Inoltre, comprometterà la capacità delle comunità di rendere disponibile il software nell'UE mantenendo in vita il loro modello di sviluppo open source.
Il modello di sviluppo open source ha molte varianti e il modo in cui il codice open source fluisce non è facile da capire per una persona esterna.
Se il CRA entrerà in vigore senza che queste preoccupazioni vengano affrontate, imporrà costi all'uso e ai contributi open source che sono principalmente a carico delle imprese e delle comunità europee. Le imprese al di fuori dell'UE dovranno conformarsi al CRA quando i loro prodotti saranno introdotti nel mercato unico dell'UE. In confronto, tutte le fasi della catena di approvvigionamento delle imprese con sede nell'UE devono implementare le normative comunitarie. Questo svantaggio competitivo scoraggerà i contributi commerciali open source provenienti dall'UE. Gli obblighi aggiuntivi demotivano i singoli contributori e maintainer. Le piccole comunità e i progetti a singolo maintainer, che sono i focolai dell'innovazione software nell'UE, potrebbero abbandonare del tutto l'Europa. In questo modo, il potenziale creativo che alimenta la formazione di startup europee verrà affamato. Inoltre, svantaggerà soprattutto le piccole e medie imprese (PMI), che si affidano all'innovazione open source a ritmo serrato per contrastare i grandi operatori storici che hanno le capacità finanziarie e amministrative per gestire gli obblighi aggiuntivi.
La bozza del CRA riconosce persino questo aspetto, invocando un fondo di sostegno alle PMI dell'UE. Ma anche un fondo di sostegno massiccio non può contrastare l'incapacità degli innovatori di iniziare a lavorare nell'UE a causa dell'accesso regolamentato al software open source con cui il resto del mondo è libero di innovare e competere rapidamente. In sintesi, il Cyber Resilience Act impone un ostacolo all'innovazione open source che sarà sopportato principalmente dalle PMI dell'UE e che arresta le capacità di innovazione dei prodotti digitali dell'UE.
Il recente studio sull'impatto economico dell'open source in Europa evidenzia che l'innovazione del software europeo è in gran parte guidata dalle PMI e dalle comunità open source. La maggior parte delle aziende software "big-tech" ha sede al di fuori dell'UE. Un risultato potenzialmente disastroso del CRA potrebbe essere il rifiuto delle comunità open source di rendere disponibile il software nell'UE. Il software open source sarebbe quindi disponibile in Europa solo attraverso intermediari commerciali. La maggior parte delle aziende destinate ad assumere questo ruolo - principalmente i distributori di Linux e i produttori di kit di sviluppo per dispositivi - non hanno sede nell'UE. Sebbene questo comportamento (rilasciare il software con una licenza libera e lasciare la distribuzione a valle) sia chiaramente in linea con il modello di sviluppo open source, significa che il costo del CRA dell'UE potrebbe essere pagato anche a grandi aziende tecnologiche al di fuori dell'UE.
In questo modo, il CRA rischia di andare contro il modo in cui l'UE intende adottare l'open source per sostenere i suoi obiettivi strategici. La strategia dell'UE sull'open source, ad esempio, afferma che "l'open source è indipendente dalle aziende e dai Paesi" e sottolinea che l'open source ha un impatto sull'autonomia digitale dell'Europa. L'UE investe molto in iniziative come Next Generation Internet, Gaia-X o SovereignEdge che sviluppano o dipendono fortemente dalle tecnologie open source per ottenere la sovranità digitale ed evolvere le tecnologie internet essenziali. Non dovrebbe minare la sovranità digitale togliendo il tappeto da sotto i piedi alla sua stessa comunità open source.
Gli obiettivi politici del CRA sono sostenuti da molte parti interessate e il problema non sta nei suoi obiettivi, ma nella forma in cui li si vogliono perseguire. Le preoccupazioni relative ai singoli obblighi imposti dal CRA possono essere affrontate attraverso la moderazione e il perfezionamento. Ad esempio, l'obbligo per i produttori di segnalare le vulnerabilità attivamente sfruttate (articolo 11 del CRA) alimenta il timore che si possa abusare di queste informazioni o che la divulgazione venga imposta prima che sia pronta una correzione. Tali preoccupazioni possono essere affrontate con processi che garantiscano la riservatezza e la riduzione dei problemi. Il timore che i fornitori di piattaforme di sviluppo possano diventare responsabili delle vulnerabilità del software che ospitano per conto di altri può essere affrontato attraverso un chiarimento (e di fatto viene affrontato, ad esempio, negli emendamenti proposti dal Consiglio dell'UE).
Per far funzionare il CRA è necessario affrontare due questioni importanti:
Affrontare questi due problemi di rottura con il CRA lo renderà più in linea con le relative normative dell'UE, come la Direttiva sulla Responsabilità sul Prodotto. Inoltre, risponderà a molte delle preoccupazioni sollevate dall'industria europea e dalle parti interessate della comunità open source.
La Linux Foundation Europe continuerà a sostenere l'UE nel miglioramento del CRA e della cyber resilienza nel mercato unico dell'UE in generale. Ci auguriamo che ci sia ancora la possibilità di contribuire a meglio direzionare questo atto legislativo. Chiediamo a tutte le parti interessate di impegnarsi nel processo e di farsi sentire. Ci appelliamo ai responsabili politici, evidenziando loro che nella sua forma attuale, il CRA potrebbe essere dannoso nei confronti delle imprese europe e renderle meno competitive. Per rimanere aggiornati sui recenti sviluppi del CRA o per sostenere l'impegno di Linux Foundation Europe, sottoscrivete il vostro impegno alla pagina web dedicata al Cyber Resilience Act.