Videnskab
 science >> Videnskab >  >> Elektronik

Protestware er i fremmarch, hvor programmører selvsaboterer deres egen kode. Skal vi være bekymrede?

Kredit:Alexander Sinn/Unsplash

I marts 2022 brød forfatteren af ​​node-ipc, et softwarebibliotek med over en million ugentlige downloads, bevidst deres kode. Hvis koden opdager, at den kører i Rusland eller Hviderusland, forsøger den at erstatte indholdet af hver fil på brugerens computer med en hjerte-emoji.

Et softwarebibliotek er en samling kode, som andre programmører kan bruge til deres formål. Bibliotekets node-ipc bruges af Vue.js, en ramme, der driver millioner af websteder for virksomheder som Google, Facebook og Netflix.

Denne kritiske sikkerhedssårbarhed er blot et eksempel på en voksende tendens til, at programmører selvsaboterer deres egen kode til politiske formål. Når programmører protesterer gennem deres kode – et fænomen kendt som "protestware" – kan det få konsekvenser for de mennesker og virksomheder, der stoler på den kode, de skaber.

Forskellige former for protest

Min kollega Raula Gaikovina Kula og jeg har identificeret tre hovedtyper af protestware.

  • Malignt protestware er software, der bevidst beskadiger eller tager kontrol over en brugers enhed uden deres viden eller samtykke.
  • Godt protestware er software, der er skabt for at øge bevidstheden om et socialt eller politisk spørgsmål, men ikke beskadiger eller tager kontrol over en brugers enhed.
  • Udviklersanktioner er tilfælde af, at programmørers konti er blevet suspenderet af internet-hosting-tjenesten, der giver dem plads til at gemme deres kode og samarbejde med andre.

Moderne softwaresystemer er tilbøjelige til sårbarheder, fordi de er afhængige af tredjepartsbiblioteker. Disse biblioteker er lavet af kode, der udfører bestemte funktioner, skabt af en anden. Ved at bruge denne kode kan programmører tilføje eksisterende funktioner til deres egen software uden at skulle "genopfinde hjulet."

Brugen af ​​tredjepartsbiblioteker er almindelig blandt programmører - det fremskynder udviklingsprocessen og reducerer omkostningerne. For eksempel er biblioteker opført i det populære NPM-register, som indeholder mere end 1 million biblioteker, i gennemsnit afhængige af fem til seks andre biblioteker fra det samme økosystem. Det er ligesom en bilproducent, der bruger dele fra andre producenter til at færdiggøre deres køretøjer.

Disse biblioteker vedligeholdes typisk af en eller en håndfuld frivillige og stilles gratis til rådighed for andre programmører under en open source-softwarelicens.

Et tredjepartsbiblioteks succes er baseret på dets omdømme blandt programmører. Et bibliotek opbygger sit omdømme over tid, efterhånden som programmører får tillid til dets evner og dets vedligeholderes lydhørhed over for rapporterede defekter og funktionsanmodninger.

Hvis svagheder i tredjepartsbiblioteket udnyttes, kan det give angribere adgang til et softwaresystem. For eksempel blev en kritisk sikkerhedssårbarhed for nylig opdaget i det populære Log4j-bibliotek. Denne fejl kunne give en fjernangriber mulighed for at få adgang til følsomme oplysninger, der blev logget af programmer, der bruger Log4j – såsom adgangskoder eller andre følsomme data.

Hvad hvis sårbarheder ikke skabes af en angriber, der leder efter adgangskoder, men af ​​programmøren selv med det formål at gøre brugere af deres bibliotek opmærksomme på en politisk holdning? Fremkomsten af ​​protestware giver anledning til sådanne spørgsmål, og svarene er blandede.

Etiske spørgsmål er der mange af

Et blogindlæg på Open Source Initiative-webstedet reagerer på stigningen i protestware, der siger "protest er et vigtigt element i ytringsfriheden, der bør beskyttes", men afsluttes med en advarsel:"Udelsiderne ved at vandalisere open source-projekter opvejer langt enhver mulig fordel, og tilbageslaget vil i sidste ende skade de ansvarlige projekter og bidragydere."

Hvad er det vigtigste etiske spørgsmål bag protestware? Er det etisk at gøre noget værre for at komme med en pointe? Svaret på dette spørgsmål afhænger i høj grad af individets personlige etiske overbevisning.

Nogle mennesker kan se softwarens indvirkning på dens brugere og hævde, at protestware er uetisk, hvis det er designet til at gøre livet sværere for dem. Andre vil måske hævde, at hvis softwaren er designet til at gøre en pointe eller øge bevidstheden om et problem, kan det ses som mere etisk acceptabelt.

Fra et utilitaristisk perspektiv kan man hævde, at hvis en form for protestware er effektiv til at skabe et større gode (såsom politisk forandring), så kan det være moralsk retfærdigt.

Fra et teknisk synspunkt udvikler vi måder til automatisk at detektere og modvirke protestware. Protestware ville være en usædvanlig eller overraskende begivenhed i ændringshistorien for et tredjepartsbibliotek. Afbødning er mulig gennem redundans – for eksempel kode, der ligner eller er identisk med anden kode i samme eller forskellige biblioteker.

Fremkomsten af ​​protestware er et symptom på et større socialt problem. Når folk føler, at de ikke bliver hørt, kan de ty til forskellige foranstaltninger for at få deres budskab igennem. I tilfælde af programmører har de den unikke evne til at protestere gennem deres kode.

Selvom protestware kan være et nyt fænomen, er det sandsynligvis kommet for at blive. Vi skal være opmærksomme på de etiske implikationer af denne tendens og tage skridt til at sikre, at softwareudvikling forbliver et stabilt og sikkert område.

Vi er afhængige af software til at drive vores forretninger og vores liv. Men hver gang vi bruger software, sætter vi vores lid til de mennesker, der har skrevet det. Fremkomsten af ​​protestware truer med at destabilisere denne tillid, hvis vi ikke griber ind. + Udforsk yderligere

Undersøgelse finder, at auto-fix-værktøj får flere programmører til at opgradere kode

Denne artikel er genudgivet fra The Conversation under en Creative Commons-licens. Læs den originale artikel.




Varme artikler