Wetenschap
Krediet:Alexander Sinn/Unsplash
In maart 2022 brak de auteur van node-ipc, een softwarebibliotheek met meer dan een miljoen wekelijkse downloads, opzettelijk hun code. Als de code ontdekt dat het in Rusland of Wit-Rusland wordt uitgevoerd, probeert het de inhoud van elk bestand op de computer van de gebruiker te vervangen door een hart-emoji.
Een softwarebibliotheek is een verzameling code die andere programmeurs voor hun doeleinden kunnen gebruiken. De bibliotheeknode-ipc wordt gebruikt door Vue.js, een framework dat miljoenen websites aanstuurt voor bedrijven zoals Google, Facebook en Netflix.
Dit kritieke beveiligingslek is slechts één voorbeeld van een groeiende trend van programmeurs die hun eigen code voor politieke doeleinden saboteren. Wanneer programmeurs via hun code protesteren - een fenomeen dat bekend staat als 'protestware' - kan dit gevolgen hebben voor de mensen en bedrijven die vertrouwen op de code die ze maken.
Verschillende vormen van protest
Mijn collega Raula Gaikovina Kula en ik hebben drie hoofdtypen protestware geïdentificeerd.
Moderne softwaresystemen zijn gevoelig voor kwetsbaarheden omdat ze afhankelijk zijn van bibliotheken van derden. Deze bibliotheken zijn gemaakt van code die bepaalde functies uitvoert, gemaakt door iemand anders. Met behulp van deze code kunnen programmeurs bestaande functies aan hun eigen software toevoegen zonder "het wiel opnieuw uit te vinden".
Het gebruik van bibliotheken van derden is gebruikelijk onder programmeurs - het versnelt het ontwikkelingsproces en verlaagt de kosten. Bibliotheken die zijn opgenomen in het populaire NPM-register, dat meer dan 1 miljoen bibliotheken bevat, vertrouwen bijvoorbeeld op gemiddeld vijf tot zes andere bibliotheken uit hetzelfde ecosysteem. Het is als een autofabrikant die onderdelen van andere fabrikanten gebruikt om hun voertuigen af te werken.
Deze bibliotheken worden meestal onderhouden door een of een handvol vrijwilligers en gratis ter beschikking gesteld aan andere programmeurs onder een open-source softwarelicentie.
Het succes van een externe bibliotheek is gebaseerd op zijn reputatie onder programmeurs. Een bibliotheek bouwt in de loop van de tijd een reputatie op, omdat programmeurs meer vertrouwen krijgen in haar capaciteiten en het reactievermogen van haar beheerders op gemelde defecten en functieverzoeken.
Als misbruik wordt gemaakt van zwakke plekken in de bibliotheek van derden, kan dit aanvallers toegang geven tot een softwaresysteem. Zo is onlangs een kritieke beveiligingskwetsbaarheid ontdekt in de populaire Log4j-bibliotheek. Door deze fout kan een aanvaller op afstand toegang krijgen tot gevoelige informatie die is vastgelegd door toepassingen die Log4j gebruiken, zoals wachtwoorden of andere gevoelige gegevens.
Wat als kwetsbaarheden niet worden gecreëerd door een aanvaller die op zoek is naar wachtwoorden, maar door de programmeur zelf met de bedoeling gebruikers van hun bibliotheek bewust te maken van een politieke mening? De opkomst van protestware roept dergelijke vragen op en de reacties zijn gemengd.
Ethische vragen in overvloed
Een blogpost op de Open Source Initiative-site reageert op de opkomst van protestware waarin staat "protest is een belangrijk element van de vrijheid van meningsuiting dat moet worden beschermd", maar besluit met een waarschuwing:"De nadelen van het vernielen van open source-projecten wegen veel zwaarder dan de mogelijke voordelen, en de terugslag zal uiteindelijk de verantwoordelijke projecten en bijdragers schaden."
Wat is de belangrijkste ethische vraag achter protestware? Is het ethisch om iets ergers te maken om een punt te maken? Het antwoord op deze vraag hangt grotendeels af van de persoonlijke ethische overtuigingen van het individu.
Sommige mensen zien misschien de impact van de software op de gebruikers en beweren dat protestware onethisch is als het is ontworpen om het leven moeilijker voor hen te maken. Anderen kunnen beweren dat als de software is ontworpen om een punt te maken of om het bewustzijn over een probleem te vergroten, het als ethisch aanvaardbaarder kan worden beschouwd.
Vanuit een utilitair perspectief zou je kunnen stellen dat als een vorm van protestware effectief is in het tot stand brengen van een groter goed (zoals politieke verandering), het moreel gerechtvaardigd kan zijn.
Vanuit technisch oogpunt ontwikkelen we manieren om protestware automatisch te detecteren en tegen te gaan. Protestware zou een ongebruikelijke of verrassende gebeurtenis zijn in de wijzigingsgeschiedenis van een bibliotheek van derden. Beperking is mogelijk door redundanties, bijvoorbeeld code die vergelijkbaar of identiek is aan andere code in dezelfde of verschillende bibliotheken.
De opkomst van protestware is een symptoom van een groter maatschappelijk probleem. Wanneer mensen het gevoel hebben niet gehoord te worden, kunnen ze hun toevlucht nemen tot verschillende maatregelen om hun boodschap over te brengen. In het geval van programmeurs hebben ze de unieke mogelijkheid om te protesteren via hun code.
Hoewel protestware een nieuw fenomeen is, zal het waarschijnlijk blijven. We moeten ons bewust zijn van de ethische implicaties van deze trend en stappen ondernemen om ervoor te zorgen dat softwareontwikkeling een stabiel en veilig gebied blijft.
We vertrouwen op software om onze bedrijven en ons leven te runnen. Maar elke keer dat we software gebruiken, stellen we ons vertrouwen in de mensen die het hebben geschreven. De opkomst van protestware dreigt dit vertrouwen te destabiliseren als we niets doen. + Verder verkennen
Dit artikel is opnieuw gepubliceerd vanuit The Conversation onder een Creative Commons-licentie. Lees het originele artikel.
Wetenschap © https://nl.scienceaq.com