JavaScript is currently disabled.Please enable it for a better experience of Jumi. Härskarteknik hackarnas nya taktik?

Den omskrivna bakdörren i komprimeringsbiblioteket XZ Utils har startat diskussioner i öppenkodsvärlden: hur skyddar man mot sig mot kodare med en dold agenda? Elektroniktidningen pratar med Daniel Stenberg, ett stort namn inom öppen källkod.

Pseudonymen ”Jia Tan” spenderade hela tre år på att bygga upp ett förtroende i utvecklingsprojektet för XZ, innan han till sist fick auktoritet att kunna godkänna ny kod. Då planterade ”han” en skickligt dold bakdörr. 

”Han” kan på riktigt snarare vara ”de”. En säkerhetsforskare tycker sig känna igen den ryska statliga aktören APT29 i operationen.

Sabotaget upptäcktes innan det fick stor spridning. Men nu efteråt tittar sig andra kodprojekt oroligt över axeln efter  infiltratörer och diskuterar hur de ska kunna skydda sig.

Detaljer om attacken i sig finns i den här tidslinjen (länk). Den kategoriseras som en supply-chain-attack – det som hackas är inte tekniken i sig utan organisationen.

Elektroniktidningen har mejlväxlat med Daniel Stenberg, ansvarig av ett av världens mest spridda öppenkodsprojekt, Curl (cURL) som används för filöverföring.

Daniel Stenberg

– Debatten är verkligen igång. Det finns många olika åsikter om vad som egentligen är problemet som möjliggjorde attacken, och det finns oräkneliga förslag på mitigeringar för att försvåra detta framöver. 

– Det har också varit en ganska stor debatt runt huruvida det bara var blind tur att den här attacken upptäcktes, eller om det tvärtom är ett tydligt bevis på att open source-modellen fungerar som den ska.

Hur stor är risken för infiltration av det här slaget?

– Jag tror de flesta är överens om att kvaliteten och det visade tålamodet på attacken gör det troligt att det inte var den enda korgen för deras ägg. Det pågår kanske minst en attack till i något annat projekt just nu.

För att hamna i en position där han kunde plantera bakdörren satte Jia Tan hård press på projektets ansvarige att få bli medansvarig. Han påhejades av andra – nya – projektmedlemmar.

I tisdags rapporterade den ansvarige för ett annat projekt, F-Droid, att han tyckte sig känna igen detta mönster från en episod i sitt eget projekt för tre år sedan. En ny medlem satte hård press på honom, med stöd från andra medlemmar, för att få sin kod snabbt inkluderad i den officiella releasen.

När koden till sist togs upp för granskning visade den sig vara sårbar på ett naivt sätt. Medlemmen raderade sitt konto när koden granskades.

Känner du själv igen mönstret? Har du blivit pressad att introducera fulkod via härskarteknik, eller hur man ska beskriva det?

– Det är ju lätt att med nya glasögon helt plötsligt tycka att alla möjliga gamla kommentarer från folk som vill se saker mergade kunnat vara påtryckningskampanjer från onda människor. 

– Men nej, jag har aldrig sett eller upplevt såna i något projekt jag leder eller deltagit i.

Daniel Stenberg tror att ”Jia Tan” hade kunnat lyckats bra även utan härskarteknik.

– XZ gjordes möjlig av att en person var duktig och erbjöd sig att hjälpa till i projektet – och gjorde det också – men samtidigt hade en dold agenda som han arbetade på och utförde under flera år. 

– Att han använde ”tjat” för att bli maintainer tror jag bara snabbade upp och förenklade processen. Han hade säkert kunna bli det ändå. Alla projekt vill ha folk i projektet som är duktiga och gör saker, och Jia var just en sån.

Hur kan man förhindra infiltration?

– Det är extremt svårt för projekt att skydda sig mot en betrodd ansvarig som landar elaka saker med flit. Det finns ingen enstaka silver bullet som stoppar elaka maintainers från att göra såhär. Vi kan mest bara strama upp processer överallt för att åtminstone försvåra dem och för att öka sannolikheten att vi snabbt upptäcker dem när de sker.

Är öppenkodsprojekt mer utsatta än slutna kodprojekt?

– Egentligen är det samma problem. Proprietära projekt har kanske oftare en mer rigorös kontroll av vem den anställde är, så det är kanske svårare att få in någon från en kriminell organisation där. Samtidigt med outsourcing i flera led och konsulter överallt, så lär det inte heller vara så komplicerat i många fall.

– Men även om man vet säkert vem personen är, så är det väldigt svårt att skydda sig mot den som en dag bestämmer sig för att göra något dumt – om personen är betrodd och har fått en roll med ansvar och viss makt.

Jia Tans identitet är okänd trots det förtroende han hade?

– Det är inget ovanligt i Open Source. Både ”vanligt folk” och folk anställda på storbolag bidrar ofta pseudonymt. En del för att undvika trakasserier, för att undvika sexism – främst om man är kvinna. 

– Eller för att undvika legala problem ifall någon i framtiden hittar en bugg i din kod. Och väldigt ofta för att helt enkelt mörka att en person från företaget XYZ bidrar till projektet. Det senare ofta dessutom med företagets godkännande

Kan det börja ställas krav på identifiering?

– Det finns nog inte en chans. Många vill bidra anonymt. Av diverse olika skäl.

– Det underlättar förstås för skumraskaffärer. Men Open Source har fördelen att allt är öppet, så fuffens kan upptäckas mycket lättare och kan forskas och spåras upp tillsammans i öppenhet. 

– Samma attack på closed source är mycket svårare att upptäcka. Att spåra är i princip bara möjligt för organisationen som fick problemet – som dessutom inte har något incitament att prata om det öppet.

MER LÄSNING:
 
KOMMENTARER
Kommentarer via Disqus

Anne-Charlotte Lantz

Anne-Charlotte
Lantz

+46(0)734-171099 ac@etn.se
(sälj och marknads­föring)
Per Henricsson

Per
Henricsson
+46(0)734-171303 per@etn.se
(redaktion)

Jan Tångring

Jan
Tångring
+46(0)734-171309 jan@etn.se
(redaktion)