Efter upptäckten av bakdörr i XZ Utils – hur säker är öppen källkod?

I slutet av mars upptäcktes att de senaste versionerna av XZ Utils innehöll en bakdörr vilket upptäcktes mer eller mindre av en slump av en vaken utvecklare. Återigen aktualiseras frågan – är öppen källkod mer eller mindre säker än stängd?

Och precis som vanligt finns det inget riktigt bra svar på frågan. Här och nu är det naturligtvis lockande att svara ”mindre säker”, av uppenbara skäl. Inte minst eftersom just XZ Utils (eller egentligen biblioteket liblzma vilket är det som är drabbat) är installerat default i så gott som de flesta Linux-distributioner som finns därute i det vilda. Med andra ord – installationsbasen är enorm. Den mediala uppmärksamheten gör i nuläget gällande att konsekvenserna kunde ha blivit av närmast bibliska proportioner om det inte upptäckts i tid.

Och ja, det är en allvarlig situation – även om man måste sätta sårbarheten i perspektiv. På lite sikt skulle, om bakdörren inte upptäckts, den sårbara versionen ha letat sig in i Linux-distributionernas och MacOS-installationers paketlistor för stabila paket och därmed installerats i en kommande uppdatering. Men, som designen i nuläget såg ut, skulle bakdörren bara kunnat utnyttjas om en sårbar installation haft SSH exponerat mot Internet och därmed en potentiell angripare.

Jag sticker ut hakan och påstår att ingen (eller åtminstone extremt få) som ansvarar för kritiska system exponerar vare sig SSH eller andra kritiska portar mot Internet men vi måste komma ihåg att sårbarhet som är beroende av SSH-exponering är vad som gäller här och nu. Hur det skulle sett ut om ett år, två år eller mer vet vi inte. Kanske har aktörerna bakom kapacitet att förfina sin metod och kod till den grad att det räcker med någon form av exponering för att lyckas. Då är vi illa ute på riktigt.

I just det här fallet blev det dock inte så, till synes tack vare en vaken utvecklare på Microsoft som mycket föredömligt reagerade på att ett anrop tog typ en halv sekund längre tid än förväntat. Många skulle nog ha ryckt på axlarna.

Tillbaka till grundfrågan – mer eller mindre säkert?

Vi har inom säkerhetsvärlden haft ett kluvet förhållande till säkerheten i öppen versus sluten källkod under en väldigt lång tid. Argumenten för att det är mer säkert med öppen källkod har alltid varit och är fortfarande att det är fritt fram för alla att (säkerhets)granska koden för att upptäcka oegentligheter. I just det här fallet var bekymret inte att källkoden var öppen utan snarare att en illvillig aktör lyckades ta sig in i utvecklingen och med tålamod över lång tid lyckas smyga in bakdörren. Men det ska sägas att den typen av utvecklarsamarbeten är mycket vanligare inom öppen källkod än inom sluten.

Personligen tror jag risker återfinns i såväl sluten som öppen källkod. Vi har sett ett antal lyckade attacker under de senaste åren med ursprung i sluten källkod – särskilt kan man kanske peka på angreppet mot Kaseya som i Sverige drabbade Coop särskilt hårt. Inom öppen källkod lyckades två forskare (på ett måhända något osnyggt vis) bevisa att det är fullt möjligt att smyga in illvillig kod. Ingen fara på taket den gången, men nu är det alltså bevisat att det går att lyckas på riktigt.

Svaret är i vanlig god ordning att det beror på. Att det inte går att säkert säga att det ena eller andra är mer säkert. Klart är att illvilliga aktörer med statlig backning inte ligger på latsidan och inte kommer göra det fortsättningsvis heller. Vi har inte sett bakdörrar i öppen källkod för sista gången. Inte heller supply chain-attacker likt Kaseya heller. Det är nu också bevisat att aktörerna inte är främmande för att låta sina projekt få ta sin tid. Att man lyckats nästla sig in i utvecklingen av XZ Utils genom tålamod och envishet torde vara en fingervisning om vad som pågår inom såväl öppen som sluten källkod.

Svaret är snarare, som alltid

Förvänta dig inte annat än att sårbarheter och bakdörrar kan komma att smyga sig in i programvaror oavsett om de baseras på öppen eller sluten källkod. Gör riskanalysen utifrån det. Publicera till exempel inga tjänster och funktioner direkt mot Internet utan att ha adekvata skyddsmekanismer på plats beroende på dess känslighet, så som VPN, reverse proxy, WAF eller dylikt. Vi har tjatat om Zero Trust ett bra tag nu, och även denna händelse är ett bra exempel på att det inte kan vara mer aktuellt än det är nu. Fortfarande.

Läs mer:

The Register – Malicious SSH backdoor sneaks into xz, Linux world’s data compression library
NY Times – Did One Guy Just Stop a Huge Cyberattack?

Mattias Sjödin

Jag arbetar till vardags som CISO inom finansvärlden med bakgrund både som CISO inom IT-branchen och som konsult inom informations- och cybersäkerhet, med bevisad kompetens och erfarenhet i ryggen genom bland annat CISA- och CISSP-certifieringar. Privat grottar jag gärna ner mig i hemautomation och allt som hör till. Jag kör Home Assistant (supervised), och blandar friskt mellan enheter som kör Zigbee, Z-Wave, 433MHz och Wi-Fi. Att leka med microcontrollers som kör ESPhome och Tasmota är hur kul som helst.

Kommentarer, frågor, funderingar?

Denna webbplats använder Akismet för att minska skräppost. Lär dig hur din kommentardata bearbetas.