Pretraži DiyAudio.rs
Showing results for tags 'xz utils'.
Found 1 result
-
XZ Utils: priča o backdoor-u koji je zamalo kompromitovao Linux
Naslov bloga je objavio/la Mikorist u Od svega po nešto
Postoje trenuci kada shvatiš da je ceo moderni svet zapravo zalepljen selotejpom, kafom i živcima nekoliko ljudi koji nisu spavali kako treba još od 2017. Ovo je priča baš o tome. Ne o AI-u koji će da nas pobije. Ne o nuklearnom ratu. Ne o hakerima u crnim duksevima koji lupaju po tastaturi dok na ekranu leti zeleni Matrix tekst. Nego o jednom čoveku koji je održavao dosadni Linux alat za kompresiju fajlova. I drugom čoveku koji je primetio da mu SSH login traje pola sekunde duže nego što bi trebalo. I između te dve stvari nalazi se možda najopasniji supply-chain napad koji je internet ikada video. Ne „možda“ u fazonu clickbait naslova. Nego ozbiljno. Jer da je prošlo još nekoliko nedelja, vrlo verovatno bismo danas pričali o najvećem kompromitovanju infrastrukture u istoriji računara. I najbolji deo? Većina ljudi nikada nije ni čula za XZ Utils. Ovo je Veritasium video o XZ Utils backdoor-u (CVE-2024-3094) jednom od najozbiljnijih napada na Linux ikada. Linux: sistem koji drže ljudi koje niko ne vidi Ljudi zamišljaju Linux kao neku ogromnu mašinu iza koje stoje milijarde dolara, stotine kompanija, armije inženjera. A realnost je često više: „Brate, je l’ možeš ti ovo da održavaš? Ja više ne mogu.“ Internet danas radi na open source-u. Cloud. Banke. Berze. Bolnice. AWS. Android. Docker. Kubernetes. Pola sveta. I sve to zavisi od gomile malih biblioteka koje održavaju ljudi za koje niko nije čuo. Neki od njih imaju Patreon sa 14 dolara mesečno. Neki rade full-time posao pa noću popravljaju bugove. Neki su pregoreli pre pet godina, ali nema ko da ih zameni. To je kao da saznaš da autoputeve Evrope zapravo održava jedan lik iz Pančeva posle druge smene. I svi to znaju. I svi se prave ludi jer „radi posao“. Dok jednog dana ne prestane da radi. Stallman, idealizam i trenutak kada je nastao moderni svet Da bi razumeo XZ backdoor, moraš prvo da razumeš jednu veoma čudnu stvar: Internet nije nastao iz kapitalizma. Nastao je iz idealizma. 1980-ih u MIT-u sedi Richard Stallman i nervira se jer Xerox štampač baguje, a kompanija mu ne daje source code da ga popravi. Danas to zvuči smešno. „Au brate, lik napravio revoluciju zbog štampača.“ Ali poenta nije bila u štampaču. Poenta je bila: „Ako ne možeš da vidiš kako nešto radi, onda nisi vlasnik svog računara.“ I tako nastaju GNU projekat, GPL licenca i ideja slobodnog softvera. Ne „besplatnog“. Nego slobodnog. Slobodan da ga proučavaš. Menjaš. Kopiraš. Deliš. Posle dolazi Linus Torvalds sa Linux kernelom 1991. I bum. Nastaje operativni sistem koji danas pokreće bukvalno civilizaciju. I tu dolazimo do prve velike ironije cele priče: Linux je napravljen na poverenju. A poverenje je najlakša stvar za zloupotrebu. XZ Utils: najdosadniji projekat na planeti XZ Utils nije seksi projekat. Nije AI. Nije blockchain. Nije cyberpunk terminal sa RGB svetlima. To je alat za kompresiju. Bukvalno ono: „spakuj fajl da bude manji.“ Većina ljudi nikada ga nije direktno koristila. Ali je indirektno bio svuda. Kao vodovodne cevi. Ne razmišljaš o njima dok ne eksplodiraju. XZ i njegova biblioteka liblzma bili su deo ogromnog broja Linux distribucija. I održavao ih je čovek po imenu Lasse Collin. Godinama. Praktično sam. I tu dolazimo do najveće slabosti open source sveta: Burnout. To je ona faza kada ti više nije stalo ni do čega. Kad otvaraš issue tracker i osećaš fizičku mučninu. Kad te ljudi cimaju za bugove kao da su platili premium support, a ti od toga nemaš ni za pljeskavicu. A internet to radi maintainerima stalno. Ljudi se ponašaju prema open source developerima kao prema customer supportu univerzuma. „Brate, zašto ovo ne radi?“ „Kad će fix?“ „Hitno mi treba.“ „Je l’ može feature?“ „Što nisi odgovorio na GitHub issue?“ A sa druge strane sedi jedan lik. Sam. Umoran. Pregoreo. I onda se pojavi neko ko kaže: „Brate, ajde da ti pomognem.“ Jia Tan: čovek koji nije hakovao kod nego ljude I tu počinje horor. pojavljuje se nalog JiaT75. Kasnije poznat kao Jia Tan. Prvo sitnice. Mali patch-evi. Korisni fixovi. Dobar kod. Pristojna komunikacija. Ništa sumnjivo. Naprotiv. Savršen open source contributor. A onda kreće nešto mnogo zanimljivije. Pritisak. Pojavljuju se drugi nalozi. Ljudi koji kukaju da je projekat spor. Da maintainer ne odgovara dovoljno brzo. Da treba više developera. Da Lasse ne stiže sve. I danas se ozbiljno sumnja da su neki od tih naloga bili sockpuppeti. Lažni identiteti. Psihološki pritisak. Zamisli koliko je to bolesno. Ne brute force. Ne zero-day exploit. Nego godinama glumiš finog lika da bi umornog maintainera naterao da ti preda ključeve projekta. To više nije hakovanje. To je obaveštajna operacija. I najjeziviji deo? Upalilo je. Trenutak kada je dobio ključeve Mic po mic, Jia Tan dobija veće privilegije. Commit access. Veće odgovornosti. Na kraju i kontrolu nad release procesom. A release proces je bitan jer većina distroa NE kompajlira direktno Git repo. Koriste release tarball. Tu dolazimo do genijalnog i jezivog dela napada. Git repo je bio čist. Ako pogledaš source kod: ništa. Ali release tarball koji distro maintainers skidaju? Tu je bio payload. To je kao da ti neko pokaže potpuno čist recept za tortu, a onda u kutiji gotove torte sakrije ricin. I niko ne proverava dovoljno detaljno jer: „Pa to je isti projekat.“ „Verujemo maintaineru.“ „Šta može da bude.“ E pa može mnogo. Kako je backdoor zapravo radio I sad dolazimo do dela gde prosečan Windows korisnik kaže: „Aha, znači hakovali su Linux.“ Ne. To je previše jednostavno. Ovo je bilo kao ruska babuška puna drugih babuški. Napad je bio toliko sofisticiran da izgleda kao nešto što bi NSA pisala posle tri energetska pića i četiri godine razvoja. Backdoor je ciljao veoma specifične sisteme: x86-64 Linux glibc GCC buildovi određeni build lanci preko dpkg/rpm systemd okruženja Ako nisi bio prava meta, ništa se nije aktiviralo. To je kao mina koja eksplodira samo ako nosiš određeni broj cipela. Payload je bio sakriven u „test“ fajlovima. Kompresovan. Maskiran. Build skripte su ga izvlačile tokom build procesa. Posebno modifikovan build-to-host.m4 ubacivao je zlonamerni kod u liblzma. A onda dolazi genijalni deo: Backdoor nije direktno napadao OpenSSH. Koristio je činjenicu da sshd preko systemd lanca indirektno učitava liblzma. To je supply-chain pakao. Ako nisi Linux admin, ovo zvuči kao: „Kako bre kompresija ima veze sa SSH-om?“ Pa nema. I baš zato je strašno. Napadač je znao da ljudi ne očekuju da biblioteka za kompresiju postane deo autentifikacionog procesa. Koristeći glibc IFUNC mehanizam, zamenjivao se deo kriptografskog toka. Konkretno funkcije povezane sa RSA autentifikacijom. I onda: ako pošalješ specijalno oblikovan payload sa odgovarajućim ključem… Boom. Remote code execution pre autentifikacije. Root. Gotovo. Server više nije tvoj. I sad zamisli šta je moglo da se desi Ljudi i dalje ne kapiraju koliko je ovo bilo blizu katastrofe. Da je kompromitovana verzija završila u stabilnim izdanjima glavnih distribucija: data centri cloud provajderi enterprise Linux serveri CI/CD sistemi hosting firme VPN infrastrukture državne mreže …sve bi potencijalno bilo kompromitovano. I to ne „možda nekad“. Nego neko bukvalno dobije univerzalna vrata u infrastrukturu planete. Zamisli ransomware na hyperscaler nivou. Gašenje bolničkih sistema. Napade na finansijske mreže. Sabotaže energetike. I najbolji deo? Niko možda mesecima ne bi znao kako su ušli. Jer backdoor nije bio napravljen da pravi haos. Napravljen je da ćuti. To je ono što plaši profesionalce. Kad malware nije bučan. Nego strpljiv. A onda se pojavio jedan čovek kome je SSH bio spor I ovo je deo koji deluje kao scena iz filma. Andres Freund sedi i primećuje: „Čekaj… zašto mi SSH login traje malo duže?“ Ne 10 sekundi. Ne minut. Oko 500 milisekundi. Pola sekunde. To je nivo paranoje koji imaju samo kernel developeri i ljudi koji previše gledaju u perf grafove. Većina nas bi rekla: „Ma internet.“ „Ma systemd.“ „Ma Linux jede govna opet.“ Ali ne i Andres. Krene da debugguje. Valgrind pokazuje čudne stvari. CPU usage malo skače. Nešto smrdi. Kopa dalje. I polako počinje da otkriva nešto monstruozno. marta 2024. diže uzbunu na oss-security mailing listi. I internet kolektivno dobija mini srčani udar. Jer svi odjednom shvataju: „Čekaj… ovo je moglo da bude kraj.“ I najluđe od svega? Napadač je napravio mali bug u backdooru koji je dodatno pomogao otkrivanju. Znači bukvalno je svet možda spašen zato što je malware imao bag. To je nivo apsurda na kom živimo. Najstrašnija lekcija cele priče Ljudi misle da je najveći problem u cyber security svetu nedostatak enkripcije. Nije. Najveći problem je što je moderna civilizacija izgrađena na emocionalnom radu iscrpljenih ljudi. To je prava priča XZ backdoor-a. Ne „Linux ima rupu.“ Nego: „Ceo svet zavisi od maintainera koji više nema snage.“ I tu dolazimo do brutalne istine: Big Tech godinama zarađuje milijarde na open source-u dok se ključni projekti održavaju volontiranjem. Amazon. Google. Microsoft. Oracle. Svi. Koriste Linux da štampaju novac. A onda neki maintainer odgovara na bug report u 2 ujutru jer nema ko drugi. To više nije održiv sistem. To je digitalni feudalizam. „Ali open source ima mnogo očiju“ To je ona čuvena mantra: „Given enough eyeballs, all bugs are shallow.“ U teoriji. U praksi? Niko ne čita build skripte od 800 linija u opskurnom compression projektu osim ako baš mora. Ljudi romantizuju open source kao neku savršenu demokratiju koda. A realnost je često: gomila zavisnosti koje niko ne razume potpuno maintainers koji su pregoreli trust-based modeli CI sistemi koji automatski gutaju update-ove kompanije koje očekuju enterprise kvalitet za džabe XZ backdoor nije razbio taj sistem. Samo je pokazao koliko je već bio napukao. Šta sada? Posle incidenta krenuli su razgovori o: reproducible builds boljim review procesima verifikaciji release tarballova funding modelima za maintainere smanjivanju zavisnosti nezavisnim auditima hardeningu build chaina I da, nešto će se poboljšati. Ali iskreno? Problem nije tehnički koliko je ljudski. Jer tehnologiju možeš da zakrpiš. Ali burnout ne možeš git commitom da popraviš. Linux nije zamalo pao zbog koda Nego zbog poverenja. I zato je cela priča toliko jeziva. Nije probijen firewall. Nije razbijena enkripcija. Nije hakovan kernel laserima iz svemira. Nego je neko godinama bio dovoljno strpljiv da postane „deo ekipe“. To je mnogo opasnije od klasičnog hakera. Jer pokazuje da je supply-chain budućnost cyber ratovanja. Ne napadaš tvrđavu. Postaneš vodoinstalater. I kada svi prestanu da obraćaju pažnju… okreneš ventil. I možda najvažnija stvar Da nije bilo jednog čoveka koji je rekao: „Hm, nešto mi je spor SSH.“ …možda danas ne bismo pričali o „incidentu“. Nego o digitalnom Černobilju interneta. Zato sledeći put kada neko kaže: „Ma šta će meni open source.“ „Ma to održavaju neki nerdovi.“ „Ma lako je to.“ Seti se da moderni svet trenutno verovatno drži na okupu nekoliko umornih developera, pola litre kafe i dobra volja da ne obrišu GitHub repo u afektu. I možda je krajnje vreme da prestanemo da ih tretiramo kao besplatnu infrastrukturu. Jer kad pukne nešto ovako… ne pada samo Linux. Pada sve.- 1 comment
-
- xz utils
- priča o backdoor-u
-
(i još 6 )
Tagovano sa: