Nedavno je vijest razbila to backdoor je identifikovan u paketu XZ Utils to omogućava napadačima presretnuti i modificirati obrađene podatke od strane aplikacija povezanih s bibliotekom liblzma. Glavna ranjivost (već katalogizirana pod CVE-2024-3094) Nalazi se na OpenSSH serveru, koja u nekim distribucijama koristi biblioteku libsystemd, koja zauzvrat zavisi od liblzma. Povezivanjem sshd-a sa ranjivom verzijom liblzma-e, napadači mogu pristupiti SSH serveru bez autentifikacije.
Otkriće sa stražnjih vrata u projektu XZ Utils dogodio se nakon otkrivanja problema kao što je prekomjerna potrošnja CPU-a i greške koje generira valgrind pri povezivanju na Debian sid bazirane sisteme putem SSH-a. Ovi problemi su doveli do dublje istrage koja je otkrila prisustvo backdoor-a.
Navodni Backdoor autor Jia Tan bio je aktivan i cijenjen programer na xz projektu, sa višegodišnjim statusom “suodržavaoca” i značajnim doprinosom razvoju nekoliko verzija. Pored xz projekta, on je takođe doprineo drugim srodnim paketima kao što su xz-java i xz-embedded. Čak je nedavno bio uključen među održavaoce XZ Embedded projekta koji se koristi u Linux kernelu.
Zlonamjerna promjena je otkrivena nakon pritužbi na probleme s verzijom xz 5.6.0, koja je uključivala backdoor, kao što su usporavanje i rušenje sshd-a. Sledeća verzija, xz 5.6.1, uključivala je promene koje je pripremio Jia Tan kao odgovor na ove žalbe, što je verovatno bio način da se prikrije prisustvo backdoor-a.
Nadalje, to se spominje Jia Tan je napravio nekompatibilne promjene sa režimom inspekcije “-fsanitize=address” prošle godine, koji je ldovelo do onemogućavanja fuzz testiranja u to vrijeme. Ovi detalji upućuju na to da je uvođenje backdoor-a bila planirana i skrivena akcija u okviru razvoja projekta, koja je mogla ugroziti nepoznat broj korisnika i projekata koji koriste XZ Utils.
Iako ovo ranjivost utiče na x86_64 sisteme bazirane na Linux kernelu i Glibc C biblioteci koji uključuje sshd sa libsystemd za podršku mehanizmu sd_notify, Nekoliko faktora je ublažilo uticaj. Na primjer, verzija liblzma sa backdoor-om nije bila uključena u stabilna izdanja velikih distribucija, a neke distribucije kao što su Arch Linux i Gentoo koristile su ranjivu verziju xz-a, ali nisu podložne napadima zbog određenih konfiguracija.
Spominje se da je aktivacija backdoor-a bila skrivena u m4 makroima u datoteci build-to-host.m4 koristi se tokom kompilacije, omogućavajući umetanje zlonamjernog koda u biblioteku liblzma. Ovaj zlonamjerni kod je modificirao operacijsku logiku nekih funkcija u biblioteci, omogućavajući neovlašteni pristup SSH serveru na pogođenim sistemima.
Proces implementacije backdoor-a u paketu XZ Utils To je uključivalo nekoliko koraka i tehnika za skrivanje njegovog prisustva i aktivacije. m4 makroi su korišteni u datoteci build-to-host.m4 tokom kompilacije kako bi se zlonamjerni kod uveo u biblioteku liblzma. Ovi makroi su bili prisutni u izdanju tar fajlova, ali ne i u Git spremištu, i dodani su u .gitignore. Dodatno, zlonamjerne testne datoteke su uključene u spremište, što sugerira privilegirani pristup procesu generiranja izdanja.
Backdoor je aktiviran izvršavanjem naredbe /usr/sbin/sshd i bio je skriven u neotklonjenim ili proizvodnim okruženjima, izbjegavajući otkrivanje na normalnim terminalima. Funkcija RSA_public_decrypt je krivotvorena da zaobiđe proces sshd autentifikacije, omogućavajući napadačima da dobiju neovlašteni pristup SSH serveru.
Da bi se dodatno sakrilo prisustvo backdoor-a, uključeni su mehanizmi zaštite od otkrivanja i izvršenje je verifikovano u okruženjima za otklanjanje grešaka. Sve ovo pokazuje napredni nivo planiranja i tehničkog znanja od strane onih koji su odgovorni za backdoor kako bi se izbjeglo otkrivanje i izveli uspješni napadi na pogođene sisteme.
Ako ste zainteresovani da saznate više o tome, možete pogledati detalje Na sledećem linku.