Midt i påskeuken mens resten av Norges befolkning befant seg på påskefjellet, ble et sofistikert leverandørkjedeangrep mot et open source-kodebibliotek som benyttes av en rekke ulike Linux distribusjoner, rullet opp. Bakdøren i xz/liblzma ble avdekket ved en tilfeldighet av Andres Freund, som ble oppmerksom på unormalt høy prosessor bruk. Etter en oppdatering av maskinen hans som benyttet Linux-distribusjonen Debian, brukte den nemlig unormalt mye CPU-kraft for pålogging via SSH. Dette vekket mistanke hos ingeniøren, som utførte videre undersøkelser noe som førte til at bakdøren ble avdekket i xz-biblioteket.
Flere sikkerhetsanalytikere og ildsjeler i det internasjonale informasjonssikkerhetsmiljøet har etter avdekkingen gravd etter detaljer, for å finne ut av hvordan bakdøren ble plassert inn i xz-biblioteket og hvem som tilsynelatende har utført det sofistikerte leverandørkjedeangrepet.
Målet
Hendelsen er å anse som et leverandørkjedeangrep ettersom trusselaktøren kompromitterte et open-source-kodebibliotek, som igjen benyttes av en rekke populære Linux distribusjoner, herunder RedHat, Ubuntu, Fedora, Debian, med flere. Målet for trusselaktøren ser ikke ut til å ha vært xz-biblioteket i seg selv, men Linux-distribusjonene som benyttet det aktuelle biblioteket. Dette gir trusselaktøren en skjult angrepsvektor inn mot brukerne av de aktuelle systemene, verden over, som for eksempel bedrifter og institusjoner som forvalter sensitiv informasjon.
I likhet med open-source java-biblioteket Log4j, som satt hele internett i brann for drøyt to år siden, ble også xz/liblzma vedlikeholdt av én enkelt person, ubetalt, på fritiden. Da kunne det vært greit å bruke påskeferien til å reflektere litt over hvordan multimillion-bedriften din kan bidra til å støtte open souce-utviklere som lager produkter som du er avhengig av.
Avanserte trusselaktører?
Men til forskjell fra Log4j, som var en utilsiktet sårbarhet i kode, er det her flere indikasjoner på at avanserte trusselaktører, bevisst og målrettet, har plantet en teknisk sofistikert bakdør i xz-biblioteket. Anerkjente eksperter innen cybersikkerhet har satt likhetstrekk med metodebruk som benyttes av etterretningstjenester. Fordi operasjonen i tillegg til å være teknisk avansert, også har benyttet utspekulerte metoder for å manipulere personen som vedlikeholdt koden. Trusselaktøren kom på den måten i posisjon til å plante den sofistikerte bakdøren, noe som likner en menneskebasert etterretningsoperasjon, såkalt HUMINT (human intelligence).
Mulig å ettergå
Det kompromitterte kodebiblioteket var frem til nylig tilgjengelig for nedlasting på Github. Det har derfor vært mulig å ettergå deler av trusselaktørens aktivitet og identifisere tidspunktet for når bakdøren ble plassert inn i koden.
Antakeligvis har det vært en lang rekognoserings- og etterretningsjobb i forkant for å identifisere målet for operasjonen, nemlig xz-biblioteket og personen som vedlikeholdt det, Lasse Collin.
Så langt er det avdekket at kontoen JiaT75 (Jia Tan), brukeren som pushet bakdøren inn i det aktuelle xz-biblioteket, ble opprettet på Github i 2021. Etter en liten stund klaget to andre brukerkontoer, under pseudonymene Jigar Kumar og Dennis Ens, til Lasse Collin over fremdriften på oppdateringer av kodebiblioteket. På grunn av begrenset kapasitet til å vedlikeholde og forbedre koden, gav Lasse Collin gradvis oppgavene over til Jia Tan, som fra 2023 overtok hovedansvaret for oppdateringene. Trusselaktøren var dermed i en unik posisjon til å plassere en skjult og teknisk avansert bakdør inn i et open source-bibliotek som benyttes av en rekke populære Linux versjoner.
Plasserer egne på innsiden
Leverandørkjedeangrepet er spesielt interessant fordi det illustrerer at avanserte trusselaktører, muligens her tilknyttet en fremmed stat, kontinuerlig forsøker å komme i posisjon til å legge inn bakdører i open source-kode, tilgjengelig på Github, som benyttes av mange sentrale virksomheter verden over – også her i Norge. De benytter et bredt spekter av både tekniske og menneskebaserte metoder, slik som for eksempel manipulasjon, med hensikt å plassere en av deres egne, i dette tilfellet Jia Tan, på «innsiden». På den måten kunne de introdusere en teknisk sofistikert bakdør i et mye brukt kodebibliotek.
Dette kan de gjøre fordi vi legger (litt for) stor tillit til at koden som vi bygger våre systemer på, ikke er manipulert av ondsinnede aktører. Bakdøren som Jia Tan fikk lagt inn i xz-bilbioteket bør få oss til å revurdere den forutsetningen. På tide at vi innfører en Zero-Trust modell, også her?