Hvordan et universitet fikk seg utestengt fra Linux-kjernen

University of Minnesota sin vei til forvisning var lang, turbulent og full av følelser

På kvelden 6. april, en studentmaileten oppdatering til en liste over utviklere. Femten dager senere var University of Minnesota detutestengtfra å bidra til Linux-kjernen.



Jeg foreslår at du finner et annet fellesskap å gjøre eksperimenter på, skrev Linux Foundation-stipendiat Greg Kroah-Hartman i en livlig e-post. Du er ikke velkommen her.



Hvordan førte en e-post til et universitetsforbud? Jeg har brukt den siste uken på å grave i denne verdenen - spillerne, sjargongen, universitetets turbulente historie med programvare med åpen kildekode, det hengivne og prinsipielle Linux-kjernefellesskapet. Ingen av University of Minnesota-forskerne ville snakke med meg om denne historien. Men blant de andre hovedkarakterene - Linux-utviklerne - var det ingen slik nøl. Dette var et samfunn som var ivrig etter å snakke; det var et forrådt samfunn.


Historien begynner i 2017, da en systemsikkerhetsforsker ved navn Kangjie Lu ble assisterende professor ved University of Minnesota.



Lu’s research, per hisnettsted, gjelder skjæringspunktet mellom sikkerhet, operativsystemer, programanalyse og kompilatorer. Men Lu hadde øye med Linux - de fleste av papirene hans involverer Linux-kjernen på en eller annen måte.

Linux-kjernen er, på et grunnleggende nivå, kjernen i ethvert Linux-operativsystem. Det er forbindelsen mellom operativsystemet og enheten den kjører på. En Linux-bruker samhandler ikke med kjernen, men det er viktig for å få ting gjort - det administrerer minnebruk, skriver ting til harddisken og bestemmer hvilke oppgaver som kan bruke CPU når. Kjernen er åpen kildekode, noe som betyr at dens millioner av kodelinjer er offentlig tilgjengelig for alle å se og bidra til.

Å få en oppdatering på folks datamaskiner er ingen enkel oppgave

Vel, hvem som helst. Å få en lapp på folks datamaskiner er ingen enkel oppgave. En innsending må gå gjennom et stort nett av utviklere og vedlikeholdere (tusenvisav frivillige, som hver har ansvar for vedlikehold av forskjellige deler av kjernen) før den til slutt havner i hovedregisteret. En gang der går den gjennom en lang testperiode før den til slutt blir innlemmet i den stabile utgivelsen, som vil gå ut til vanlige operativsystemer. Det er et strengt system designet for å luke ut både ondsinnede og inkompetente aktører. Men -som alltid er tilfelle med massesourced operasjoner- det er rom for menneskelige feil.

Noen av Lus nylige arbeider har dreid seg om å studere potensialet for menneskelige feil og redusere dens innflytelse. Han erforeslått systemerfor automatisk å oppdage ulike typer feil i åpen kildekode, ved å bruke Linux-kjernen som en testtilfelle. Disse eksperimentene har en tendens til å involvere rapportering av feil, sende inn oppdateringer til Linux-kjerneansvarlige og rapportere deres akseptfrekvenser. Iet papir fra 2019, for eksempel, presenterte Lu og to av hans doktorgradsstudenter, Aditya Pakki og Qiushi Wu, et system (Crix) for å oppdage en viss klasse av feil i OS-kjerner. Trioen fant 278 av disse feilene med Crix og sendte inn oppdateringer for dem alle - det faktum at vedlikeholdere godtok 151 betydde at verktøyet var lovende.

I det hele tatt var det et nyttig arbeid. Sen, i fjor, tok Lu ikke sikte på selve kjernen, men på samfunnet.


I om muligheten for å snike introdusere sårbarheter i åpen kildekode-programvare via hyklerforpliktelser, Lu og Wuforklartat de hadde vært i stand til å introdusere sårbarheter i Linux-kjernen ved å sende inn oppdateringer som så ut til å fikse virkelige feil, men også innførte alvorlige problemer. Gruppen kalte disse innleggene for hykler forplikter. (Wu svarte ikke på en forespørsel om kommentar til denne historien; Lu henviste meg til Mats Heimdahl, leder for universitetets institutt for informatikk og ingeniørfag, som henviste meg tilavdelingens nettsted.)

Det eksplisitte målet med dette eksperimentet, som forskerne siden har understreket, var å forbedre sikkerheten til Linux-kjernen ved å demonstrere for utviklere hvordan en ondsinnet aktør kan gli gjennom nettet deres. Man kan argumentere for at prosessen deres i utgangspunktet var lik prosessen medwhite-hat hacking: lek med programvare, finn feil, la utviklerne få vite det.

Men den høyeste reaksjonen papiret mottok, på Twitter og i hele Linux-samfunnet, var ikke takknemlighet - det var skrik.

Det papiret, det er bare mye dritt, sierGreg Scott, en IT-profesjonell som har jobbet med programvare med åpen kildekode i over 20 år.

Etter mitt personlige syn var det helt uetisk, sier sikkerhetsforsker Kenneth White, som er meddirektør for Open Crypto Audit Project.

Frustrasjonen hadde lite med hyklerens forpliktelser å gjøre. I avisen hevdet Lu og Wu at ingen av deres feil faktisk hadde kommet til Linux-kjernen - i alle testtilfellene hadde de til slutt trukket sine dårlige oppdateringer og gitt virkelige. Kroah-Hartman, fra Linux Foundation, bestrider dette - fortalte hanThe Vergeat en lapp fra studien gjorde det til arkiver, selv om han bemerker at det ikke endte med å skade.

lizalfos
Etter mitt personlige syn var det helt uetisk.

Likevel traff papiret en rekke nerver blant et veldig lidenskapelig (og veldig online) samfunn da Lu først delte sitt abstrakt på Twitter. Noen utviklere var sinte for at universitetet med vilje hadde kastet bort vedlikeholdstiden - noe som er en nøkkelforskjell mellom Minnesota sitt arbeid og en hvit hatthacker som pokker rundt Starbucks-appen for en bugpremie. Forskerne krysset en linje de ikke burde ha krysset, sier Scott. Ingen ansatte denne gruppen. De valgte bare å gjøre det. Og mange mennesker brukte mye tid på å evaluere oppdateringene sine.

Hvis jeg var en frivillig som satte min personlige tid i å forplikte meg og teste, og da fant jeg ut at noen eksperimenterte, ville jeg være ulykkelig, legger Scott til.

Så er det det vanskeligere problemet med om et eksperiment som dette tilsvarer menneskelig eksperimentering. Det gjør det ikke, ifølge University of Minnesota's Institutional Review Board. Lu og Wu søkte om godkjenning som svar på ramaskriket, og de fikk et formelt fritaksbrev.

Samfunnsmedlemmene jeg snakket med, kjøpte den ikke. Forskerne forsøkte å få godkjenning med tilbakevirkende kraft fra Institutional Review Board for sine handlinger som i beste fall var veldig uvitende om leietakerne av grunnleggende menneskers beskyttelse, som vanligvis undervises av seniorår på lavere institusjoner, sier White.

Det blir generelt ikke ansett som noe hyggelig å prøve å gjøre ‘research’ på mennesker som ikke vet at du forsker, sier Kroah-Hartman. Ingen spurte oss om det var akseptabelt.

Det papiret, det er bare mye dritt.

Den tråden løp gjennom mange av svarene jeg fikk fra utviklere - at uansett skadene eller fordelene som forskningen resulterte i, rotet universitetet seg ikke bare med samfunnets medlemmer, men med samfunnets underliggende filosofi. Alle som bruker et operativsystem, setter en viss grad av tillit til menneskene som bidrar til og vedlikeholder det systemet. Det gjelder spesielt for folk som bruker programvare med åpen kildekode, og det er et prinsipp som noen Linux-brukere tar veldig seriøst.

Per definisjon avhenger åpen kildekode av et livlig samfunn, sier Scott. Det må være mennesker i det samfunnet for å sende inn ting, folk i samfunnet for å dokumentere ting, og folk for å bruke det og for å sette opp hele denne tilbakemeldingsløkken for å stadig gjøre den sterkere. Den sløyfen avhenger av mange mennesker, og du må ha et nivå av tillit til systemet ... Hvis noen bryter den tilliten, ødelegger det ting.

Etter utgivelsen av papiret var det tydelig for mange Linux-kjerneutviklere at noe måtte gjøres med University of Minnesota - tidligere innleveringer fra universitetet måtte gjennomgås. Mange av oss satte et element på vår oppgaveliste som sa: ‘Gå og kontroller alle innlegg fra umn.edu,’ sa Kroah-Hartman, som fremfor alt var irritert over at eksperimentet hadde lagt en annen oppgave på hans plate. Men mange kjerneholdere er frivillige med dagjobber, og en omfattende gjennomgangsprosess ble ikke noe. I det minste ikke i 2020.


6. april 2021 sendte Aditya Pakki, ved hjelp av sin egen e-postadresse, en oppdatering.

Det var noen korte diskusjoner fra andre utviklere på e-postkjeden, som fizzled ut i løpet av få dager. Så tok Kroah-Hartman en titt. Han var allerede i beredskap for dårlig kode fra University of Minnesota, og Pakkis e-postadresse ga alarmklokker. Dessuten virket ikke oppdateringen Pakki sendte ut. Det tar mye krefter å skape en endring som ser riktig ut, men som gjør noe galt, sa Kroah-Hartman til meg. Disse innleveringene passer alle til det mønsteret.

Så 20. april satte Kroah-Hartman foten ned.

Slutt å sende inn kjent ugyldige oppdateringer, skrev han til Pakki. Professoren din leker med gjennomgangsprosessen for å oppnå et papir på en merkelig og bisarr måte.

Vedlikeholder Leon Romanovsky ringte da inn: han hadde sett på fire tidligere aksepterte oppdateringer fra Pakki og fant at tre av dem la til forskjellige sikkerhetsproblemer i alvorlighetsgraden.

Det er det vanskeligere spørsmålet om et eksperiment som dette utgjør menneskelig eksperimentering

Kroah-Hartman håpet at hans forespørsel ville være slutten på saken. Men så pisket Pakki tilbake. Jeg ber deg respektfullt om å slutte og la være å komme med ville anklager som grenser til baktalelse, skrev han til Kroah-Hartman i det som ser ut til å være en privat melding.

Kroah-Hartman svarte. Du og gruppen din har offentlig innrømmet å sende kjent buggy-oppdateringer for å se hvordan kjernefellesskapet ville reagere på dem, og publiserte et papir basert på det arbeidet. Nå sender du inn en serie åpenbart feil feilrettinger igjen, så hva skal jeg tenke på en slik ting? skrev han om morgenen 21. april.

Senere den dagen gjorde Kroah-Hartman det offisielt. Fremtidige innleveringer fra alle som har en umn.edu-adresse, bør avvises som standard, med mindre annet er bestemt å være en gyldig løsning, skrev han i ene-posttil en rekke vedlikeholdere, samt Lu, Pakki og Wu. Kroah-Hartman tilbakeførte 190 innleveringer fra tilknyttede selskaper i Minnesota - 68 kunne ikke tilbakestilles, men trengte fortsatt manuell gjennomgang.

Det er ikke klart hvilket eksperiment den nye oppdateringen var en del av, og Pakki nektet å kommentere denne historien.Lu’s nettstedinneholder en kort referanse til overflødige oppdateringer fra Aditya Pakki for et nytt bug-finding-prosjekt.

Det som er klart er at Pakkis krumspring endelig har satt den forsinkede gjennomgangsprosessen i gang; Linux-utviklere begynte å grave gjennom alle oppdateringer som tilknyttede selskaper hadde sendt inn tidligere. Jonathan Corbet, grunnleggeren og sjefredaktøren for LWN.net ,nylig levert en oppdatering om gjennomgangsprosessen. Etter hans vurdering har de fleste mistenkte lappene vist seg å være akseptable, om ikke gode. Av over 200 lapper som ble flagget, er 42 fortsatt satt til å bli fjernet fra kjernen.


Uansett om reaksjonen deres var berettiget, får Linux-samfunnet bestemme om tilknyttede selskaper ved University of Minnesota kan bidra til kjernen igjen. Og det samfunnet har gjort sine krav tydelige: skolen må overbevise dem om at dens fremtidige oppdateringer ikke vil være bortkastet noens tid.

Hva skal til for å gjøre det? I en uttalelse som ble utgitt samme dag som forbudet, stanset universitetets informatikkavdeling sin forskning på Linux-kjernesikkerhet ogkunngjortat den ville undersøke Lu og Wus forskningsmetode.

Men det var ikke nok for Linux Foundation. Mike Dolan, Linux Foundation SVP og GM for prosjekter, skrev et brev til universitetet 23. april, somThe Vergehar sett på. Dolan stilte fire krav. Han ba om at skolen skulle gi all informasjon som er nødvendig for å identifisere alle forslag fra kjent sårbar kode fra ethvert U-MN-eksperiment for å hjelpe til med revisjonsprosessen. Han ba om at papiret om hyklerforpliktelser ble trukket ut av publiseringen. Han ba om at skolen sørget for at fremtidige eksperimenter gjennomgikk IRB-gjennomgang før de begynte, og at fremtidige IRB-gjennomgang sørger for at forsøkspersonene gir samtykke, i henhold til vanlige forskningsnormer og lover.

Skolen må overbevise dem om at fremtidige oppdateringer ikke vil være bortkastet tid til noen

To av kravene har siden blitt oppfylt. Wu og Lu hartrukket tilbakepapiret og harløslattalle detaljene i studien.

Universitetets status på tredje og fjerde telle er uklar. I enbrevsendt til Linux Foundation 27. april, Heimdahl og Loren Terveen (informatikk- og ingeniøravdelingens tilknyttede avdelingsleder) hevder at universitetets IRB handlet skikkelig, og argumenterer for at forskning på mennesker har en presis teknisk definisjon i henhold til amerikanske føderale forskrifter. .. og denne tekniske definisjonen stemmer kanskje ikke overens med intuitiv forståelse av begreper som 'eksperimenter' eller til og med 'eksperimenter på mennesker.' De forplikter seg imidlertid til å gi mer etikkopplæring for fakultetet. Nådd for kommentar, henviste universitetstalsmann Dan Gilchrist meg til datavitenskap og ingeniøravdelingens nettside.

I mellomtiden beklaget Lu, Wu og Pakki Linux-samfunnet denne lørdagen i enåpent brevtil kjernepostlisten, som inneholdt noe unnskyldning og noe forsvar. Vi gjorde en feil ved ikke å finne en måte å konsultere samfunnet på og få tillatelse før vi kjørte denne studien; vi gjorde det fordi vi visste at vi ikke kunne be Linux-vedlikeholdere om tillatelse, ellers ville de være på utkikk etter hyklerlige lapper, skrev forskerne, før de fortsatte å gjenta at de ikke hadde satt noen sårbarheter i Linux-kjernen, og at de andre lappene deres ikke var relatert til hykleren, forsker.

Kroah-Hartman hadde det ikke. Linux Foundation og Linux Foundation's Technical Advisory Board sendte et brev på fredag ​​til universitetet ditt, svarte han. Inntil disse handlingene er tatt, har vi ikke noe mer å diskutere.

Coronavirus i Minnesota Foto av Glen Stubbe / Star Tribune via Getty Images

Fra forskerne fra University of Minnesota, siktet de seg ikke mot å troll noen - de prøvde å påpeke et problem med kjernevedarbeidernes gjennomgangsprosess. Nå må Linux-samfunnet regne med nedfallet av eksperimentet og hva det betyr om sikkerheten til programvare med åpen kildekode.

Noenutviklereavviste University of Minnesota forskernes perspektiv direkte og hevdet at det er mulig å lure vedlikeholdere, burde være åpenbar for alle som er kjent med programvare med åpen kildekode. Hvis en tilstrekkelig motivert, skruppelløs person kan sette seg i en pålitelig posisjon for oppdatering av kritisk programvare, er det ærlig talt lite som kan gjøres for å stoppe dem, sier White, sikkerhetsforsker.

På den annen side er det helt klart viktig å være årvåken om potensielle sårbarheter i ethvert operativsystem. Og for andre i Linux-samfunnet, så mye ire som eksperimentet trakk, ser det ut til at poenget om hyklerforpliktelser har vært godt tatt. Hendelsen har antent samtaler om retningslinjer for aksept av oppdateringer og hvordan vedlikeholdere skal håndtere innsendinger fra nye bidragsytere, på tvers av Twitter,e-postlisterog fora. Å demonstrere denne typen ‘angrep’ har lenge vært forsinket, og startet en veldig viktig diskusjon, skrev vedlikeholder Christoph Hellwig i en e-posttråd med andre vedlikeholdere. Jeg synes de fortjener en æresmedalje.

Denne undersøkelsen var tydelig uetisk, men det gjorde det klart at OSS-utviklingsmodellen er sårbar for dårlig trosforpliktelser, skrev en bruker i endiskusjonsinnlegg. Det virker nå sannsynlig at Linux har noen ødeleggende bakdører.

Corbet ba også om mer gransking rundt nye endringer i hanspostom hendelsen. Hvis vi ikke kan institusjonalisere en mer forsiktig prosess, vil vi fortsette å se mange feil, og det vil egentlig ikke ha noe å si om de ble satt inn med vilje eller ikke, skrev han.

Denne metoden fungerer.

Og selv for noen av papirets ivrigste kritikere, viste prosessen seg et poeng - om enn kanskje det motsatte av det Wu, Lu og Pakki prøvde å komme med. Det demonstrerte at systemet fungerte.

Eric Mintz, som administrerer 25 Linux-servere, sier dette forbudet har gjort ham mye mer trygg på operativsystemets sikkerhet. Jeg har mer tillit til prosessen fordi dette ble fanget opp, sier han. Det kan være kompromisser vi ikke vet om. Men fordi vi fikk denne, er det mindre sannsynlig at vi ikke vet om de andre. Fordi vi har noe på plass for å fange det.

For Scott er det faktum at forskerne ble fanget og utestengt et eksempel på Linux-systemet som fungerer akkurat slik det skal. Denne metoden virket, insisterer han. DeSolarWindsmetode, der det er et stort selskap bak, fungerte det systemet ikke. Dette systemet fungerte.

Kernelutviklere er glade for å se nye verktøy opprettet og - hvis verktøyene gir gode resultater - bruk dem. De vil også hjelpe til med testing av disse verktøyene, men de er mindre glade for å være mottakere av verktøyinspirerte oppdateringer som mangler riktig gjennomgang, skriver Corbet. Samfunnet ser ut til å være åpent for tilbakemeldinger fra University of Minnesota - men som Foundation har gjort klart, er det på skolen å gjøre opp for seg.

Universitetet kunne reparere den tilliten ved oppriktig beklagelse, og ikke falsk unnskyldning, og ved å sende mye øl til de rette menneskene, sier Scott. Det vil ta litt arbeid for å gjenopprette tilliten. Så forhåpentligvis er de klar over det.