Bakdyra SSH
Ólöglegur eða í hættu setti inn illgjarna hegðun í bókasafni sem heitir liblzma, sem er hluti af xz þjöppunartólunum og bókasöfnunum, sem leiðir til bakdyra í SSH. Þetta er háþróuð hugbúnaðarárás í framboðskeðju þar sem bókasafnið var vísvitandi breytt fyrir bakdyrnar, með dulrænum aðferðum til að fela árásarefnið fyrir gagnrýnendum.
Það var uppgötvað og birt nýlega (þann 29. mars síðastliðinn) og árásin er enn í gangi. Hins vegar var fljótt hægt að stöðva hana þar sem hún virðist aðeins hafa áhrif á forútgáfur af takmörkuðum hópi umhverfa (DEB og RPM pakka, fyrir x86_64 arkitektúrinn og smíðaðan með GCC). Allavega, CVE fékk gefinn Grunnstig CVSS af 10, sem er frátekið fyrir mikilvægustu öryggisgalla netsins. Ef það fer í stöðugar dreifingar yrðu áhrifin yfirþyrmandi.
Tæknileg greining árásarinnar, þar á meðal xx bakdyr útskýrðar ítarlega, var greint annars staðar. Þessi færsla mun fjalla um tímalínu árásarinnar, hvernig hægt var að uppgötva hana, hvernig brugðist var við atvikinu fram að þessu og hvaða lærdóm má draga af árásinni.
Langur hali bakdyranna hefur haldið áfram langt eftir upphaflegu uppfærsluna. Í ágúst 2025, meira en ári eftir að CVE-2024-3094 var afhjúpað, fundu öryggissérfræðingar hjá Binarly bakdyrnar enn til staðar í tylft Debian Docker mynda sem birtar voru á Docker Hub, en teymi Debian neitaði að fjarlægja þær og meðhöndlaði þær sem sögulega þróunargripi frekar en virka áhættu. Sérstaklega, OpenSSF og OpenJS gáfu út sameiginlega viðvörun stuttu eftir XZ atvikið um að svipaðar tilraunir til félagsverkfræði yfirtöku hefðu þegar miðað á JavaScript verkefni, sem bendir til þess að árásarmynstrið „viðhaldara-traust“ sem hér er notað sé endurnýtt annars staðar.
Hvernig XZ bakdyrnar voru sprautaðar inn
Athugið: Git geymslan er í git.tukaani.org. Hins vegar, þar var líka Geymsla hýst á GitHub (sem stendur lokað) þar sem GitHub aðgangurinn var að birta breytingarnar sem síðar voru samþættar Git geymslunni.
Einn hluti af bakdyrunum virðist aðeins vera í dreifðum tarball-skrám fyrir 5.6.0 og 5.6.1 útgáfurnar, ekki í git-geymslunum og byggir á ... ein lína í build-to-host.m4 skránni makróskrá notuð af autoconf. Hinn hlutinn var í tveimur meintum prófunarskrám slæmt-3-spillt_lzma2.xx og góð-stór_þjöppuð.lzma
það voru commitTed af GitHub aðganginum „Jia Tan“ (JiaT75) í xz geymsla þann 23. febrúar. Þetta var skaðlaus breyting að bæta við prófunarskrám (sem á að vera þjappaðar blokkir af gerðinni .lzma og .xz). Athyglisvert er að prófunarskrárnar voru ekki notaðar af prófunum! Línan í .m4 skránni setur inn dulbúið handrit (innifalið í tar-skránni) sem á að keyra í lok stillingarinnar ef einhver skilyrði passa. Það breytir Makefile fyrir liblzma bókasafn til að innihalda kóða sem dregur út gögn úr .xz skránni, sem eftir að afþýðing lýkur í þessu handriti, er kallað á í lok stillingar. Það ákveður hvort breyta eigi byggingarferlinu til að sprauta inn kóða: aðeins undir GCC og GCC tengilinum, undir Debian eða rpm, og aðeins fyrir x86_64 Linux. Þegar það passar saman, stöðvar sprautaði kóðinn keyrslu með því að skipta út tveimur ifunc leysarar þannig að ákveðin köll eru skipt út. Þetta veldur því að tákntöflurnar eru greindar í minni (þetta tekur tíma, sem leiddi til uppgötvunarinnar, eins og útskýrt er síðar).
Þá verður þetta áhugavert: Bakdyrnar setja upp endurskoðunarkróka í virka tengilinn og bíður eftir að táknið fyrir RSA_public_decrypt fallið berist, sem er vísað á punkt í bakdyrakóðanum, sem aftur kallar til baka. libcrypto, væntanlega til að framkvæma venjulega auðkenningu. Og gagnamagnið virkjast ef forritið sem keyrir hefur ferlisheitið /usr/sbin/sshdÞað var ljóst að SSH-þjónar voru skotmarkið. Hefðbundið, ssh netþjónar eins og OpenSSH voru ekki tengdir við liblzma, en sshd er oft lagfært til að styðja systemd-notify svo aðrar þjónustur geti ræst þegar sshd er í gangi. Og svo er liblzma óbeint hlaðið inn af systemd, að loka hringnum.
Bakdyrnar eru ekki enn að fullu greindar, en það virðist vera leyfir fjarstýrða framkvæmd skipana (RCE) með réttindum sshd þjónustunnar, keyrandi í forauðkenningarsamhengi. Upplýsingar frá fjarvottorðinu, þegar þær passa við bakdyrnar, eru afkóðaðar með ChaCha20, og þegar það afkóðast með góðum árangri eru þær sendar til kerfi()Þetta er því í raun lokuð RCE, miklu verra en einfaldlega framhjáhlaup með opinberum lykli.
Síðari 5.6.1 tarball sýndi fram á frekari tilraunir til að fela rakningarnar, bæta við frekari óskýrleika fyrir táknnöfn og reyna að laga villurnar sem sáust. framlengingarbúnaður þar sem leitað var í viðbótarprófunarskrám að ákveðnum undirskriftum til að bæta við bakdyrnar var einnig sett upp.
Þessi frekar háþróaða árás gæti farið fram hjá óáreitt þar til stöðugar Linux dreifingar eru komnar á. Sem betur fer vilja sumir athuga hvers vegna óeðlilegir hlutir gerast.
Uppgötvun á bakdyraárásinni á XZ
Oft er illgjarn hegðun sem sprautað er inn í kerfið afhjúpuð fyrir tilviljun eða slysni. Gott dæmi var viðvörun um úreltingu („Hverjum er annt um viðvaranir?“) sem leiddi til uppgötvunar á atburðastraumsárás í október 2018. Annar er notandinn sem varaði við Codecov í apríl 2021 að bash upphleðsluforritið þeirra stóðst ekki prófsummuna („Hver staðfestir heilleika gripa með prófsummum“?) Frávik og undarleg einkenni með ssh logins (loginsem tekur mikla örgjörvanotkun og aukinn tíma sem líður, valgrind villur) vöktu forvitni Andrés Freund, árvekinn PostgreSQL forritari en ekki öryggisgreinandi (eins og hann sagðiEftir nokkra rannsókn með OpenSSH á Debian Sid komst hann að þeirri niðurstöðu að vandamál með svörunartíma væri háð bókasafni, liblzma, Hluti af xz-utils þjöppunarbókasafn. Ástæðan: „Uppstreymis xz geymslurnar og xz tarballs hafa verið bakdyraðarÞessi greining var svo nákvæm! Þann 29. mars 2024 birti Andres fyrstu greininguna í Openwall: „Bakdyr í uppstreymis xz/liblzma sem leiðir til brots á SSH-þjóni„Staðreyndin er sú að XZ Utils 5.6.0 og 5.6.1 tarball skrárnar innihalda bakdyr. Þessar tarball skrár voru búnar til og undirritaðar af áðurnefndum Jia Tan aðgangi.“ He Birt í Mastodon síðar sama dag, og viðurkenndi að uppgötvunin var tilviljunarkennd og krafðist mikilla tilviljana. Athugasemdir annarra notenda eru lesnarverðar. GitHub notandi samasam (einnig þekktur sem Sam James) birti fína Gist Algengar spurningar um bakdyrnar í xz-utils þar sem árásin var dregin saman, sem tengdist meira ítarlegar greiningar af árásarfarmi. Þessar greiningar voru tæknilega safaríkar og hjálpuðu okkur að skilja betur innspýtinguna, sem var mjög ítarleg:- xz/liblzma: Útskýring á ruglingi á bash-stigiFín greining á afþýðingu innspýtingarhandritsins, í fjórum „stigum“.
- Bláhimnaþráður Filippo Valsorda Greining á bakdyrunum sjálfum í RSA_public_decrypt, sem sýnir eðli þeirra: RCE, ekki auth bypass, og lokað (tekur við einkalykli höfundarins og ef ekki, snýr aftur til eðlilegrar hegðunar) / óendurgreiðanleg. Höfundurinn ætlaði að fara lágt til að forðast uppgötvun!
- Greining á bakdyrum XZ eftir @smx-smx (í vinnslu) – Frekari greining á bakdyrunum (ég týndist næstum í byrjun 😀)
- xz bakdyra skjölunarwiki, önnur greining á 5.6.1 innspýtingarhandritinu.
Hvernig atvikinu var sinnt
Andreas Freund gaf upplýsingar um málið með varfærni því, eins og hann sagði sjálfur:„Þar sem þetta virðist vera vandamál að uppstreymis kerfinu, hef ég ekki tilkynnt um villu að uppstreymis kerfinu. Þar sem ég hélt í fyrstu að þetta væri vandamál sem tengdist Debian sérstaklega, sendi ég bráðabirgðaskýrslu á security@...ian.org. Í kjölfarið tilkynnti ég vandamálið til distros@. CISA var tilkynnt með dreifingu.
Hver er undir árásinni?
Annað hvort var GitHub JiaT75 aðgangurinn í hættu (munið að GitHub fyrirskipaði 2FA nýlega) eða notandinn sem átti aðganginn fór yfir á myrku hliðina. En það eru sannfærandi ástæður til að hugsa um háþróaða viðvarandi ógn (APT), hugsanlega ríkisstyrkta, vegna tæknilegrar flóknunar árásarinnar. Frekari rannsókn netöryggisstofnana og löggæslu mun leiða í ljós ... Þessi færsla Í YCombinator Hacker News um Jia Tan Varpar ljósi á „hver“ og virkni hans. Mæli með! Það gefur miklar upplýsingar um hvernig illmennin reyna að blekkja aðra notendur með því að nota félagsverkfræði.„Mjög pirrandi - sá sem greinilega bar ábyrgð á bakdyrunum var í samskiptum við mig (rwmj) í nokkrar vikur og reyndi að bæta xz 5.6.x við Fedora 40 og 41 vegna „frábærra nýrra eiginleika“. Við unnum meira að segja með honum að laga valgrind vandamálið (sem nú kemur í ljós að var af völdum bakdyranna sem hann hafði bætt við). Við þurftum að keppast við í gærkvöldi að laga vandamálið eftir að viðskiptabannið var brotið óvart. Hann hefur verið hluti af xz verkefninu í tvö ár, bætt við alls kyns tvíundarprófunarskrám, og satt að segja, með þessu fágunarstigi, myndi ég vera tortrygginn gagnvart jafnvel eldri útgáfum af xz þar til annað sannast.“
Jia Tan gerði ráðstafanir til að koma í veg fyrir að vera rakið: Það virðist hafa notað VPN (vpn.singapore.witopia.net) til að tengjast – sem er í lagi í sjálfu sér. Og margar breytingar virðast vera studdar af tímabundnum, einnota tölvupóstum (frá ProtonMail í þessu tilfelli) þar sem hvatt er til að sameina breytingarnar.
Leikarinn gæti ætlað sér að fara enn dýpra, allt að Linux kjarnanum, sem framlag til xy-innbyggt verkefni. Upphafleg greining leiddi í ljós engin merki um fósturlát, eins og er í dag.
Athugið: annað „Hans Jansen“, sem er ekki þekktur fyrir XZ (GitHub notandi „hansjans162“) er undir athugunAðgangur þess hjá Debian er nú lokaðHann gerði margar uppfærslur á Debian Games til að fela þá sem hann vildi hafa á debian/xz-utils, uppfærslu á uppstreymisútgáfu 5.6.1 til að flýta fyrir dreifingu bakdyranna til debian/óstöðugt.
Allt sem við getum sagt í bili er að þetta er (ennþá óþekkt) APT sem notar aðra reikninga, hefur unnið í að minnsta kosti tvö ár að þessari herferð og þolinmóður að því að koma RCE fyrir í SSH.
Þegar þetta er skrifað er enn óstaðfest hver „Jia Tan“ heitir. Engin trúverðug tenging við tiltekinn einstakling, stofnun eða ríkisaðila hefur verið staðfest opinberlega, sem staðfestir hversu áhrifarík starfsagi persónunnar var.
Var hægt að koma í veg fyrir bakdyraárásina á XZ?
Frekar erfitt.
Í fyrsta lagi kom hluti af innspýttu bakdyrunum inn í þjappaðar prófunarskrár sem voru ekki notaðar í prófunum. Þegar litið er til baka gæti það vakið upp (hávaðasamt) viðvörunarkerfi, en hverjum er ekki sama um að athuga hvort allar prófunarskrár séu notaðar í raunverulegum prófunum í hinum raunverulega heimi? Í öðru lagi kom hluti af innspýttu bakdyrunum inn í makróskrár í útgáfuskrárnar og það er erfitt að athuga handvirkt hvort það sé frábrugðið væntanlegum skrám frá væntanlegum skrám. Sjálfvirkni er einnig flókin, þar sem erfitt er að líkja eftir væntanlegri niðurstöðu úr smíðinni sjálfri (fyrir alla sem vita hvernig automake/autoconf virkar) til að greina hvort raunverulega skráin uppfylli væntingarnar. Sumir settu það fram as „Það að tarball-skrárnar passi ekki saman við git-tréð er eiginleiki, ekki villa“Uppruni tvíundar-tarkúlna úr frumkóða þeirra er óleyst vandamál.
Orðspor notanda? Jæja, GitHub aðgangurinn hjá JiaTan75 var ekki að gera óheiðarlega hluti samkvæmt fortíðinni. commits. Það var ekki fyrr en lokað eftir að sönnunargögnin söfnuðust, en fram til 29. mars var það venjulegur notandi sem sinnti venjulegum störfum. Jæja, ekki svo venjulegt. Seinna. commits (þetta, þetta, þettaog þetta sem leiðrétti nýtingakóðann) reyndi að laga valgrind villurnar og hrun í sumum stillingum, vegna mismunar á staflansuppsetningu sem bakdyrnar væntu. Commit Umsagnir gætu greint þetta, en hver hefur þolinmæðina til að greina breytingar í tvíundaprófunarskrá eða raunverulega ástæðu fyrir breytingu á GCC eiginleikum í C frumkóða?
Ætti maður að vekja viðvörun þegar SSH er notað? login tekur 800 ms í stað 300 ms? Sennilega myndu aðeins ofurskynsamir einstaklingar taka eftir því. Cicero sagði, „Fljótgirni heyrir æskunni til, en varfærni ellinni.“
Innviðirnir í ifunc voru settir upp í júní 2023 af „Hans Jansen“ og „Jia Tan“. Þetta er sá fyrsti commit Bæti við ifunc stuðningi við crc64_fast.c (síðar notað til að sprauta inn bakdyraskránni). Mánuðum áður en bakdyraskrárnar voru sprautaðar inn í prufuskrárnar!
Athugið: Höfundur og commitÞað er misjafnt hér, en þetta er eðlilegt: Lasse Collin er verkefnastjóri og hann sameinaði breytingarnar. Hann þakkar jafnvel „Hans Jansen“ ...
Enginn lýsti yfir áhyggjum fyrir færslu Andres Freund og CVE sem RedHat bjó til. Ef þú sérð fjölda verkfæra sem myndu greina þetta, þá greina þau viðkomandi íhlut núna, fyrrverandi staðreynd.
Sennilega kom besta forvörnin frá eðli Linux dreifinga og hvernig óstöðugar, nýjustu útgáfur komast aðeins í stöðugar dreifingar eftir ákveðið ferli.
Lærdómur af XZ bBackdoor árásinni
Við höfum tekið eftir því hversu erfitt er að greina það vísvitandi Bakdyr. Bakdyr ættu að teljast innri ógn, þar sem þær eru gróðursettar af innri starfsfólki eða í gegnum innri reikninga sem hafa verið í hættu. Og þessir aðilar eru að mestu leyti treystandi. Og þegar bakdyrnar eru græddar í dreifða gripinn, gerir það erfiðara að greina þær.
Sumir höfundar eins og Kevin Beaumont benti á kerfið, sem opnar stórt árásarsvæði þjónustu þriðja aðila að bakdyrum. Þetta er það sem illvirkinn misnotaði hér. Systemd hefur marga augu, en XZ er óljóst bókasafn ofar í keðjunni. „Þegar uppstreymið er spillt, drekka allir eitrað vatn niðurstreymis“.
Ótengd breytingabeiðni í kerfinu fyrir að hlaða þjöppunarbókasöfnum á kraftmikinn hátt, sem myndi fjarlægja bakdyrnar, var þegar búið að sameinast kerfinu en ekki afhent ennþá. Auka ósjálfstæðin sem libsystemd kynnir gæti verið uppspretta veikleika, og í gær þessi beiðni var opnuð.
A athugasemd í „xz: Slökkvið á ifunc til að laga vandamálið“ commit gaf skýra innsýn í hvar beina ætti athyglinni ef við viljum koma í veg fyrir slíka starfsemi (áherslan er mín):
„Lærdómurinn sem við ættum að læra sem samfélag er frekar að tryggja öryggi software supply chain security heildrænt, að endurskoða byggingarkerfi sem fara út fyrir frumkóðann. Eins og SolarWinds-brotið þar sem árásarmenn breyttu hugbúnaðaruppfærslum fyrir lokað eftirlitshugbúnaðartilboð SolarWinds.
FAQ
Er XZ bakdyrnar ennþá áhætta í dag?
Að mestu leyti í haldi, en ekki alveg horfið. Í ágúst 2025 fundu vísindamenn bakdyrnar enn til staðar í nokkrum Debian Docker Hub myndum, sem Debian meðhöndlaði sem óvirkar sögulegar fornminjar. Teymi ættu að staðfesta að þau séu ekki að byggja á úreltum, óuppfærðum grunnmyndum frekar en að gera ráð fyrir að uppfærslan frá 2024 hafi lokað dyrunum að fullu.





