Credito:Alexander Sinn/Unsplash
Nel marzo 2022, l'autore di node-ipc, una libreria di software con oltre un milione di download settimanali, ha violato deliberatamente il proprio codice. Se il codice scopre che è in esecuzione in Russia o Bielorussia, tenta di sostituire il contenuto di ogni file sul computer dell'utente con un'emoji del cuore.
Una libreria software è una raccolta di codice che altri programmatori possono utilizzare per i loro scopi. La libreria node-ipc è utilizzata da Vue.js, un framework che alimenta milioni di siti Web per aziende come Google, Facebook e Netflix.
Questa vulnerabilità critica della sicurezza è solo un esempio di una tendenza crescente di programmatori che auto-sabotano il proprio codice per scopi politici. Quando i programmatori protestano attraverso il loro codice, un fenomeno noto come "protestware", può avere conseguenze per le persone e le aziende che fanno affidamento sul codice che creano.
Diverse forme di protesta
La mia collega Raula Gaikovina Kula ed io abbiamo identificato tre tipi principali di protestware.
I moderni sistemi software sono soggetti a vulnerabilità perché si basano su librerie di terze parti. Queste librerie sono costituite da codice che svolge funzioni particolari, create da qualcun altro. L'utilizzo di questo codice consente ai programmatori di aggiungere funzioni esistenti al proprio software senza dover "reinventare la ruota".
L'uso di librerie di terze parti è comune tra i programmatori:accelera il processo di sviluppo e riduce i costi. Ad esempio, le biblioteche elencate nel popolare registro NPM, che contiene più di 1 milione di biblioteche, si basano in media su cinque o sei altre biblioteche dello stesso ecosistema. È come una casa automobilistica che utilizza parti di altri produttori per completare i propri veicoli.
Queste librerie sono generalmente gestite da uno o pochi volontari e messe a disposizione di altri programmatori gratuitamente con una licenza software open source.
Il successo di una libreria di terze parti si basa sulla sua reputazione tra i programmatori. Una libreria costruisce la sua reputazione nel tempo, poiché i programmatori acquisiscono fiducia nelle sue capacità e nella reattività dei suoi manutentori ai difetti segnalati e alle richieste di funzionalità.
Se vengono sfruttate le debolezze delle librerie di terze parti, potrebbero consentire agli aggressori di accedere a un sistema software. Ad esempio, è stata recentemente scoperta una vulnerabilità di sicurezza critica nella popolare libreria Log4j. Questo difetto potrebbe consentire a un utente malintenzionato remoto di accedere alle informazioni riservate registrate dalle applicazioni che utilizzano Log4j, come password o altri dati sensibili.
E se le vulnerabilità non venissero create da un utente malintenzionato alla ricerca di password, ma dal programmatore stesso con l'intenzione di rendere gli utenti della propria libreria consapevoli di un'opinione politica? L'emergere del protestware sta sollevando tali domande e le risposte sono contrastanti.
Le domande etiche abbondano
Un post sul blog sul sito dell'Open Source Initiative risponde all'aumento del protestware affermando che "la protesta è un elemento importante della libertà di parola che dovrebbe essere protetto", ma si conclude con un avvertimento:"Gli aspetti negativi di vandalizzare i progetti open source superano di gran lunga qualsiasi possibile beneficio, e il contraccolpo alla fine danneggerà i progetti e i contributori responsabili."
Qual è la principale questione etica dietro il protestware? È etico fare qualcosa di peggio per fare un punto? La risposta a questa domanda dipende in gran parte dalle convinzioni etiche personali dell'individuo.
Alcune persone potrebbero vedere l'impatto del software sui suoi utenti e sostenere che il protestware non è etico se è progettato per rendere loro la vita più difficile. Altri potrebbero obiettare che se il software è progettato per fare un punto o aumentare la consapevolezza su un problema, potrebbe essere considerato eticamente più accettabile.
Da una prospettiva utilitaristica, si potrebbe sostenere che se una forma di protestware è efficace nel realizzare un bene più grande (come un cambiamento politico), allora può essere moralmente giustificata.
Da un punto di vista tecnico, stiamo sviluppando modi per rilevare e contrastare automaticamente i protestware. Protestware sarebbe un evento insolito o sorprendente nella cronologia delle modifiche di una libreria di terze parti. La mitigazione è possibile tramite ridondanze, ad esempio codice simile o identico ad altro codice nella stessa libreria o in librerie diverse.
L'ascesa del protestware è un sintomo di un problema sociale più ampio. Quando le persone sentono di non essere ascoltate, possono ricorrere a misure diverse per trasmettere il loro messaggio. Nel caso dei programmatori, hanno la capacità unica di protestare attraverso il loro codice.
Sebbene il protestware possa essere un fenomeno nuovo, è probabile che rimanga qui. Dobbiamo essere consapevoli delle implicazioni etiche di questa tendenza e adottare misure per garantire che lo sviluppo del software rimanga un campo stabile e sicuro.
Facciamo affidamento sul software per gestire le nostre attività e le nostre vite. Ma ogni volta che utilizziamo un software, riponiamo la nostra fiducia nelle persone che lo hanno scritto. L'emergere del protestware minaccia di destabilizzare questa fiducia se non agiamo. + Esplora ulteriormente
Questo articolo è stato ripubblicato da The Conversation con licenza Creative Commons. Leggi l'articolo originale.