Zephyrnet-logotyp

XZ Utils Scare avslöjar hårda sanningar inom mjukvarusäkerhet

Datum:

Den senaste upptäckten av en bakdörr i XZ Utils datakomprimeringsverktyg – som finns i nästan alla större Linux-distributioner – är en skarp påminnelse om att organisationer som konsumerar komponenter med öppen källkod i slutändan har ansvaret för att säkra programvaran.

XZ Utils, liksom tusentals andra projekt med öppen källkod, drivs av frivilliga och, i dess fall, har en enda underhållare som hanterar det. Sådana projekt har ofta små eller inga resurser för att hantera säkerhetsproblem, vilket innebär att organisationer använder programvaran på egen risk. Det betyder att säkerhets- och utvecklingsteam måste implementera åtgärder för att hantera risker med öppen källkod på samma sätt som de gör med internt utvecklad kod, säger säkerhetsexperter.

"Även om det är osannolikt att en organisation effektivt kan förhindra [all] exponering för risker i försörjningskedjan, kan organisationer absolut fokusera på en strategi för att minska sannolikheten för att en attack i försörjningskedjan är framgångsrik", säger Jamie Scott, grundande produktchef på Endor Labs.

Öppen källkod är inte detsamma som outsourcing: ”Open source-underhållare av programvara är frivilliga. På branschnivå måste vi behandla dem som sådana. Vi äger vår programvara; vi är ansvariga för programvaran vi återanvänder."

Välmenande, under-resurser

Oro över öppen källkodssäkerhet är inte på något sätt nya. Men det krävs ofta upptäckter som Log4Shell sårbarhet och bakdörr i XZ Utils att verkligen driva hem hur sårbara organisationer är för komponenter i sin kod. Och ofta kommer koden från välmenande men ändå hopplöst underresurser med öppen källkodsprojekt som underhålls minimalt.

XZ Utils, till exempel, är i huvudsak ett enmansprojekt. En annan individ lyckades smyga in bakdörren i verktyget under en nästan treårsperiod, genom att gradvis få tillräckligt med förtroende från projektansvarig. Om en Microsoft-utvecklare inte hade råkat ut för det i slutet av mars när han undersökte konstigt beteende i samband med en Debianinstallation, kan bakdörren mycket väl ha hamnat på miljontals enheter globalt – inklusive de som tillhör stora företag och statliga myndigheter. Som det visade sig hade bakdörren minimal inverkan eftersom den påverkade versioner av XZ Utils som bara fanns i instabila och betaversioner av Debian, Fedora, Kali, open SUSE och Arch Linux.

Nästa kompromiss med öppen källkod kan vara mycket värre. "Det läskigaste för företagsorganisationer är att deras applikationer är byggda ovanpå projekt med öppen källkod precis som XZ Utils", säger Donald Fischer, medgrundare och VD för Tidelift. "XZ Utils är ett paket med tiotusentals som används varje dag av typiska företagsorganisationer", säger han.

De flesta av dessa organisationer saknar tillräcklig insyn i säkerheten och motståndskraften i denna del av deras mjukvaruförsörjningskedja för att kunna utvärdera risker, konstaterar han.

En nyligen Harvard Business School studie uppskattade värdet på efterfrågesidan av programvara med öppen källkod till häpnadsväckande 8.8 biljoner dollar. Underhållare är kärnan i detta ekosystem och många av dem flyger solo, säger Fischer. En undersökning gjord av Tidelift förra året visade att 44 % av projektunderhållare med öppen källkod beskriver sig själva som de enda underhållarna av sina projekt. Sextio procent identifierade sig som oavlönade hobbyister, och samma andel sa att de antingen har slutat eller har övervägt att sluta med sina roller som projektunderhållare. Många underhållare beskrev sina ansträngningar som stressigt, ensamt och ekonomiskt olönsamt arbete, säger Fischer.

"XZ utils-hacket gör att riskerna för underinvesteringar i hälsan och motståndskraften hos leveranskedjan för programvara med öppen källkod [som] företagsorganisationer förlitar sig på är en stark lättnad", säger Fischer. "Företagsorganisationer måste inse att majoriteten av de mest förlitade paketen med öppen källkod underhålls av volontärer som beskriver sig själva som oavlönade hobbyister. Dessa underhållare är inte företagsleverantörer utan förväntas arbeta och leverera som dem.”

Fara: Transitiva beroenden

A studie som Endor genomförde 2022 fann att 95 % av sårbarheterna med öppen källkod finns i så kallade transitiva beroenden, eller sekundära paket med öppen källkod eller bibliotek som ett primärt paket med öppen källkod kan vara beroende av. Ofta är dessa paket som utvecklare inte direkt väljer själva utan som automatiskt används av ett paket med öppen källkod i sitt utvecklingsprojekt.

"Till exempel, när du litar på ett Maven-paket, finns det i genomsnitt ytterligare 14 beroenden som du implicit litar på som ett resultat", säger Scott. "Detta antal är ännu större i vissa mjukvaruekosystem som NPM där du i genomsnitt importerar 77 andra programvarukomponenter för var och en du litar på."

Ett sätt att börja minska riskerna med öppen källkod är att vara uppmärksam på dessa beroenden och vara selektiv med vilka projekt du väljer, säger han.

Organisationer bör veterinärberoende, särskilt de mindre, enstaka paketen, bemannade av en- och tvåmanslag, tillägger Dimitri Stiliadis, Endors CTO och medgrundare. De bör avgöra om beroenden i deras miljö har korrekta säkerhetskontroller eller om en enskild individ begår all kod; om de har binära filer i sina arkiv som ingen känner till; eller till och med om någon aktivt underhåller projektet överhuvudtaget, säger Stiliadis.

"Koncentrera dina ansträngningar på att förbättra ditt svarseffektivitet - grundläggande kontroller som att upprätthålla ett moget programvarulager är fortfarande ett av de mest värdefulla programmen du kan ha på plats för att snabbt identifiera, omfånga och reagera på programvarurisker när de väl har identifierats," Scott råder.

Analysverktyg för programsammansättning, sårbarhetsskannrar, EDR/XDR-system och SBOM:er kan också hjälpa organisationer att snabbt identifiera sårbara och komprometterade komponenter med öppen källkod.

Erkänner hotet

"Att mildra exponeringen börjar med delad förståelse och erkännande i C-suiten och till och med på styrelsenivå att ungefär 70 % av ingredienserna i den genomsnittliga mjukvaruprodukten är öppen källkodsprogramvara som historiskt skapats av mestadels okompenserade bidragsgivare", säger Tidelifts Fischer.  

Nya regler och riktlinjer inom finansbranschen, FDA och NIST kommer att forma hur mjukvara utvecklas under de kommande åren och organisationer måste förbereda sig för dem nu. "Vinnare här kommer snabbt att anpassa sig från en reaktiv strategi till en proaktiv strategi för att hantera risker relaterad till öppen källkod", säger han.

Fischer rekommenderar att organisationer får sina säkerhets- och teknikteam att identifiera hur nya komponenter med öppen källkod kommer in i deras miljö. De bör också definiera roller för att övervaka dessa komponenter och proaktivt ta bort sådana som inte passar företagets riskaptit. "Att reagera på problem i sena skeden har blivit ett ineffektivt sätt att hantera omfattningen av risken för verksamheten under de senaste åren, och USA:s regering signalerar den eran går mot sitt slut, säger han.

plats_img

Senaste intelligens

plats_img