Backdoor pronađen u XZ Utils za Linux

Backdoor pronađen u XZ Utils za Linux stoji u objavi kompanije Red Hat. Riječ je o dvije verzije popularne biblioteke za kompresiju podataka pod nazivom XZ Utils (ranije poznata kao LZMA Utils) u koje je bio ubačen zlonamjerni kôd dizajniran da omogući neovlašteni daljinski pristup. Ranjivost je označena kao CVE-2024-3094 sa maksimalnom CVSS ocjenom 10.

XZ UTILS

Backdoor pronađen u XZ Utils za Linux; Source: Bing Image Creator

XZ UTILS ZLOUPOTREBA

Zlonamjerni akter je bio u mogućnosti da 23. februara 2024. godine unese kôd u XZ Utils uslužni program na Github platformi koji je izmijenio proces izgradnje. Izmijenjeni proces izgradnje uslužnog programa je tada obuhvatao zlonamjernu datoteku tokom kompilacije liblzma biblioteke. Primarni cilj ovog napada su distribucije Linux operativnog sistema koje koriste Secure Shell DaemonSSH daemon ili SSHD, što će dovesti do uticaja na mnoge korisnike.

Jednom kada SSHD učita zlonamjernu biblioteku, tok autentifikacije se preusmjerava tokom provjere RSA ključa. Kada ima kontrolu toka autentifikacije, biblioteka može da odobri pristup na osnovu kriterijuma koje je postavio napadač. Ovo su najvjerovatnije RSA ključevi napadača ili neki drugi podaci koje samo napadač zna. U ovom scenariju, niti jedna autentifikacija zasnovana na lozinki ili javnom ključu (eng. public key infrastructure – PKI) ne bi bila efikasna u ovom trenutku.

 

KOMPROMITOVANJE

Intrigantan je aspekt ove prijetnje je metod koji je korišten za kompromitovanje. Zlonamjerni akteri su dodali zamagljene .m4 datoteke u XZ arhive koje su maskirane da bi se sakrile njihove prave namjene. Ovdje se postavlja očigledno pitanje bezbjednosnih praksi koje su vezane za XZ projekat, odnosno kako je aktivni saradnik u ovom projektu dodao ove datoteke, a da nije bio otkriven?

Kako god, posljedice ovog čina su dalekosežne, jer izmijenjene kompresione biblioteke liblzma utiču na Linux distribucije koje uključuju libsystemd, koji zavisi od liblzma biblioteke. To u suštini znači da bi SSH usluge u Linux distribucijama koje koriste ovu biblioteku, mogle biti izložene neovlaštenom pristupu. Sama mogućnost SSH kompromitovanja izaziva ozbiljnu zabrinutost kod sigurnosnih istraživača i bezbjednosnih timova, jer je SSH osnovni alat koji se koristi za daljinski pristup sistemima i upravljanje njima.

 

“Backdoor pokušaj bio je veoma ozbiljan, sa veoma visokim stepenom znanja, istraživanja, razvoja i poznavanja da se dopire ovako daleko u Linux ekosistem. Pored toga, promjene koje je izvršio zlonamjerni akter na Github-u obuhvataju više godina i uključuju stvari kao što su uvođenje funkcija koje nisu kompatibilne sa OSS Fuzzer-om zbog otvorenih malih problema od 2015. godine, zatim traženje OSS Fuzzer-a da isključi XZ Utils iz skeniranja prošle godine. Sam backdoor je super sastavljen, pa čak uključuje i mogućnost daljinskog deaktiviranja i backdoor uklanjanja putem kill komande. Nekoliko dana, uprkos globalnom fokusu, nisam video nikoga ko je završio reverzni inženjering.”

 Kevin Beaumont, researcher

 

Pogođene verzije su XZ 5.6.0 i 5.6.1 alata za kompresiju XZ i i biblioteke za kompresiju jezgra liblzma sa kojima se povezuju.

 

Kompromitovane distribucije

 

Napad je uticao na sljedeće distribucije:

 

Distribucija Pogođena verzija Pogođene verzije Ublažavanje Napomena
Fedora 40, 41, Rawhide (aktivni razvoj) xz-5.6.0-*

xz-5.6.1-*

Fedora 40 – Ažurirati na zadnju verziju (5.4.x).

Fedora 41 & Rawhide – Odmah prestati koristiti

Debian test, nestabilna (sid), eksperimentalna xz-utils 5.5.1alpha-0.1

(otpremljeno 2024-02-01), do i uključujući 5.6.1-1

Ažurirati na zadnju verziju (5.6.1+really5.4.5-1) Nijedna stabilna verzija nije pogođena.
Alpine Edge (aktivni razvoj) xz 5.6.1-r0, 5.6.1-r1 Ažurirati na zadnju verziju (5.6.1-r2) Nijedna stabilna verzija nije pogođena.
Kali Nije dostupno. xz-utils 5.6.0-0.2

(Kali instalacije ažurirane između 26. i 29. marta)

Ažurirati na zadnju verziju (5.6.1+really5.4.5-1)
OpenSUSE Tumbleweed xz-5.6.0, xz-5.6.1 Ažurirati na zadnju verziju (5.6.1.revertto5.4)
Arch Linux Nije dostupno. xz 5.6.0-1 Ažurirati na zadnju verziju (5.6.1-2)

 

Na sljedeće distribucije ovo nije uticalo:

 

Distribucija Pogođena verzija Pogođene verzije Ublažavanje Napomena
Red Hat Enterprise Linux Nije dostupno. Nije dostupno. Nije dostupno. Niti jedna verzija Red Hat Enterprise Linux (RHEL) nije pogođena.
Ubuntu Nije dostupno. Nije dostupno. Nije dostupno. Pogođena verzija xz-utils je bila samo u prijedlogu noble verzije i uklonjena je prije konačne noble verzije.
Amazon Linux Nije dostupno. Nije dostupno. Nije dostupno.
Wolfi Nije dostupno. Nije dostupno. Nije dostupno. Pogođena verzija liblzma bila je kratko dostupna (sada izbačeno) a but Wolfi OpenSSH ne povezuje sa liblzma, što znači da nema uticaja.
Gentoo Nije dostupno. xz-utils 5.6.0, xz-utils 5.6.1 Ažurirati na zadnju verziju (obnavlja 5.4.2) Iako je Gentoo povukao ranjivu verziju, ona nije pogođena kako njegov OpenSSH ne radi sa systemd-notify, što je preduslov za backdoor.

 

OTKRIĆE

Za backdoor otkriće je zaslužan Andres Freund, programer kompanije Microsoft koji je primijetio neke čudne simptome oko liblzma (dio XZ paketa) kod Debian operativnog sistema. Kada je pokušao da se prijavi korištenjem SSH protokola, primijetio je da neobičan porast opterećenja procesora i bilo je potrebno više vremena za prijavu. Zatim je ispitao u čemu je problem i otkrio je da su XZ skladište kao i XZ arhiva imali backdoor.

Prvobitno je bio posumnjao da je Debian paket kompromitovan, međutim otkrio je da se backdoor nailazi u paketu koji se koristi za pakovanje i isporuku korisnicima.

 

 

ZAKLJUČAK

Ovaj napad na lanac snabdijevanja je veliki udarac za zajednicu softvera otvorenog kôda, pošto je XZ Utils smatran projektom od povjerenja. Napadač je izgradio vjerodostojnu reputaciju programera u zajednici softvera otvorenog kôda tokom više godina i koristio je veoma zamagljen kôd kako bi izbjegao otkrivanje pregledom kôda.

Sada se dolazi do pojave zabrinutosti zbog učešća aktivnog saradnika na XZ projektu tokom dvije godine zbog čega se počinju postavljati pitanja o insajderskim prijetnjama i povjerenju u saradnike na projektima otvorenog kôda. Sve ovo samo naglašava potrebu za snažnim procesima provjere i kontinuiranog praćenja projekata otvorenog kôda, posebno onih koji se široko koriste.

 

“Pošto je backdoor otkriven pre nego što su zlonamjerne verzije XZ Utils dodate proizvodnim verzijama Linux distribucija, to zapravo ne utiče ni na koga u stvarnom svijetu. Ali to je samo zato što je rano otkriveno zbog aljkavosti zlonamjernog aktera. Da nije otkriven, bio bi katastrofalan za svijet.”

 Will Dormann, senior vulnerability analyst; Analygence

 

Ovaj napad je zamalo postao još jedan primjer rizika oslanjanja na volonterski rad da bi se podržala neka od najvažnijih digitalnih infrastruktura na svetu. Ali ovaj slučaj takođe pokazuje prednosti pristupa. Napadi na lanac snabdijevanja nisu jedinstveni za svet otvorenog kôda, a nejasna struktura napada – dobijanje posla na izgradnji nedovoljno istražene komponente kritične infrastrukture i polako i pažljivo raditi na uvođenju tajne slabosti u nju – je nešto što može i dešava se i u normalnim poslovima.

Ono što se ne dešava je mogućnost da se problem u softveru pregleda dio po dio i da se pronađe tačno trenutak kada je uveden zlonamjerni backdoor. Ako napad na lanac snabdijevanja uspije protiv softvera zatvorenog kôda kod poslovnih organizacija kao što su Apple, Google ili Microsoft, trećim stranama je veoma teško čak i otkriti da on uopšte postoji, a popravljanje istog je praktično nemoguće.

 

ZAŠTITA

Korisnicima se preporučuje da odmah svoju xz verziju vrate na stariju (5.4.6 je najnovija verzija koja nije pogođena na većini distribucija). Nakon spuštanja verzije ili ponovo pokrenuti uređaj ili ponovo pokrenuti OpenSSH server da bi se uklonio ažurirani kôd iz memorije:

sudo systemctl restart ssh

Ako nadogradnja nije moguća, drugo moguće rješenje je da se iskoristi prednost backdoor „prekidača za ukidanje“ (eng. kill switch). Dodavanje sljedećeg niza u /etc/environment će onemogućiti zlonamjernu backdoor funkcionalnost (primjenjuje se nakon ponovnog pokretanja SSH i Sistemd):

yolAbejyiejuvnup=Evjtgvsh5okmkAvj

Možda vas interesuje i...

Komentariši

Vaša email adresa neće biti objavljivana. Neophodna polja su označena sa *


The reCAPTCHA verification period has expired. Please reload the page.