Avvärjda cybersäkerhetshot: Attacken mot leveranskedjan under påskhelgen
IT-säkerhetsbranschen hade en intressant påskhelg. Någon mycket smart person var nära att hacka 20 miljoner internetservrar, men de upptäcktes i sista stund av en kille från San Francisco som heter Andres Freund. Du skulle inte ens kunna tänka dig det som handlingen i en film.
Händelsen utspelar sig
Situationen startade på långfredagen med ett oroande inlägg på Mastodon av Andres Freund, en Microsoft-ingenjör som specialiserat sig på PostgreSQL-databasen med öppen källkod. Freund hade lagt märke till ett ovanligt tidsbeteende på en av sina testservrar: SSH-tjänsten, som används för fjärrinloggning till Linux, använde mycket mer resurser än normalt.
![](https://securance.com/wp-content/uploads/2024/04/Tweet.png)
Som expert på systemprestanda ville han veta varför, och han visste hur man kunde spåra sådana problem. Han märkte att boven i dramat var ett vanligt programvarubibliotek som heter XZ. Det används av många program för datakomprimering.
Anledningen till att det gick långsammare var att en bakdörr hade lagts till i XZ, specifikt riktad mot SSH för att göra det möjligt för en angripare att komma åt system med sin egen privata inloggningsnyckel, utan att systemets ägare visste om det.
Den potentiella effekten
Genomsökningar av internet visar 20 miljoner IP-adresser med SSH-tjänsten som lyssnar efter anslutningar. Webbservrar, e-postservrar, infrastrukturservrar, databasservrar, alla typer av servrar. Om programvaran hade spridits till alla servrar skulle angriparna ha kunnat fjärrstyra servrarna för att göra vad de ville. Radera dem, i tysthet stjäla information som de hanterar, ändra data… allt möjligt. Det är ingen överdrift att säga att de skulle ha kunnat kontrollera en stor del av internet och avlyssna en stor del av den konfidentiella kommunikationen.
Som tur är kör Andres system med mycket nyare programvara än 99% av oss. Detta hade alltså precis hänt och fanns ännu inte med i några vanliga Linux-utgåvor. En stor suck av lättnad överallt. Väldigt tur i oturen.
Hur kunde det här hända?
Bakdörren var mycket skickligt dold. Den går inte att hitta genom att titta på källkoden för XZ. Någon hade lagt till det i ett release script, ett litet program som bygger programvaran, packar ihop den och skickar iväg den ”nedströms” för att inkluderas i Linux operativsystem. Först efter att XZ har byggts upp från källkoden injiceras bakdörrskoden i de filer som skickas för att köras på andra system.
Bakdörren är också konstruerad så att den inte kan upptäckas från nätverket. Om XZ ingår i SSH fungerar det bara när en inloggningsbegäran tas emot från någon som har en specifik, hemlig nyckel. Då, och endast då, kommer bakdörren att utföra ett kommando åt sin ägare. Om du inte har den hemliga nyckeln finns det inget sätt att veta att en server är sårbar. Det är bara serverägaren som kan hitta den, förutsatt att han eller hon känner till problemet och vet var man ska leta.
Om Andres inte hade lagt märke till det lilla tidsfelet skulle det ha tagit mycket, mycket lång tid att upptäcka detta.
Vem gjorde det?
XZ-versionen med bakdörren släpptes av någon som kallar sig Jia Tan. Man tror inte att detta är en verklig person.
Lasse Collin är ägare och uppfinnare av XZ. Han underhöll programvaran gratis i många år. Efter att ha blivit pressad att arbeta hårdare med sitt projekt[1] och drabbats av sjukdom gav han en mycket vänlig ny volontär vid namn Jia Tan tillgång till att redigera programvaran och göra releaser, och tog lite välförtjänt semester. Vi tror nu att påtryckningskampanjen, som inleddes 2022, iscensattes så att ”Jia Tan” skulle kunna bli underhållare av XZ och därmed kunna släppa skadlig programvara i det större ekosystemet på internet.
Det måste ha krävts stora investeringar för att få kontroll över ett projekt som används av många, för att sedan utveckla en komplicerad bakdörr och dölja den. Vissa säger att några av de stora kriminella hackargrupperna har råd att bygga något sådant här, men den huvudmisstänkte skulle vara en nationell underrättelsetjänst. Vi kan naturligtvis inte vara säkra, men vem annars skulle ägna år åt att bygga detta och få det inkluderat i en viktig del av internetinfrastrukturen genom att hitta ett allmänt använt projekt som bara underhålls av en överarbetad person?
[1] Titta på den här e-postkonversationen från 2022, exempelvis: https://www.mail-archive.com/[email protected]/msg00566.html – “Jigar Kumar” och “Dennis Ens” kräver att Lasse ska ge andra kontroll till sitt projekt, och väl till pass är “Jia Tan” frivillig
Vad ska jag göra?
Vi hade tur som upptäckte det i tid. ”Jia Tan” var upptagen förra veckan med att uppmana Linux-underhållare att snabbt införa den senaste versionen av XZ i sina huvudversioner, men detta hade ännu inte hänt. Så om du inte kör ”bleeding edge”, instabila testversioner av Linux, går det troligen bra. Men uppdatera ändå, för att vara extra säker: uppdateringar har nu släppts som rullar tillbaka de senaste, infekterade versionerna av XZ (5.6.0 och 5.6.1).
En rekommendation som vi på Securance alltid ger till våra kunder är också att inte exponera tjänster som SSH, som endast är avsedda att användas av ett fåtal IT-medarbetare, på det öppna internet. Begränsa alltid åtkomsten i brandväggen till interna IP-adresser och kanske några hemadresser för betrodd personal. Om en ny sårbarhet i tjänsten upptäcks kommer angripare på så sätt inte att kunna ansluta till dina servrar för att utnyttja den.
Lärdomar för framtiden
Attacker mot leveranskedjor är här för att stanna, eftersom komplicerade leveranskedjor kommer att fortsätta att existera. En välkänd tecknad serie uttrycker det så här:
Vi (internetanvändare) måste stödja dessa ”enskilda personer” lite mer och vara medvetna om deras betydelse för vår säkerhet. Lasse Collins byggde och underhöll denna kritiska programvara åt oss på sin fritid, helt gratis. Och det finns många fler som Lasse där ute.
Vi på Securance stöder några projekt med öppen källkod vars utmärkta programvara vi använder gratis. Vi kommer att undersöka möjligheten att stödja fler av dem med en månatlig donation. Oavsett hur små donationerna är kan de verkligen göra skillnad.