Atak pòt dèyè XZ

XZ Backdoor: "Sa te yon ti jan pre"

SSH ki konekte ak pòt dèyè

Yon moun ki te responsab antretyen yon fason malveyan oswa konpwomèt te mete yon konpòtman move nan yon bibliyotèk ki rele liblzma, yon pati nan zouti ak bibliyotèk konpresyon xz yo, sa ki lakòz yon pòt dèyè nan SSH. Sa a se yon atak chèn ekipman lojisyèl avanse paske bibliyotèk la te modifye espre pou pòt dèyè a, avèk teknik obfuskasyon ak enfiltrasyon pou kache chaj atak la nan men evalyatè yo.

Yo te dekouvri epi divilge li dènyèman (29 mas pase a), epi yo ap kontinye jere atak la. Sepandan, yo te byen vit kontwole li paske li sanble afekte sèlman vèsyon pre-lansman yon seri anviwònman limite (pakè DEB ak RPM, pou achitekti x86_64 la, epi konstwi ak GCC). De tout fason, la CVE yo te bay yon Nòt debaz CVSS la nan 10, ki rezève pou vilnerabilite sibersekirite ki pi kritik yo. Si li ta antre nan distribisyon ki estab, enpak la ta akablan. 

Analiz teknik atak la, ki gen ladan l Eksplikasyon an pwofondè sou pòt dèyè xz la, te analize yon lòt kote. Pòs sa a pral konsantre sou delè atak la, kijan yo te ka detekte li, kijan yo te jere ensidan an jiska prezan, ak leson yo ka tire nan atak la.

Long ke pòt dèyè a kontinye byen apre premye patch la. Nan mwa Out 2025, plis pase yon ane apre yo te fin divilge CVE-2024-3094 la, chèchè sekirite nan Binarly te jwenn pòt dèyè a toujou prezan nan yon douzèn imaj Debian Docker ki te pibliye sou Docker Hub, ekip Debian an te refize retire yo, yo te trete yo kòm atifak devlopman istorik olye de risk aktif. Separeman, OpenSSF Epi OpenJS te bay yon avètisman ansanm yon ti tan apre ensidan XZ a ke menm tantativ pou pran kontwòl jeni sosyal yo te deja vize pwojè JavaScript, sa ki sijere ke modèl atak konfyans-mantnitè ki itilize la a ap itilize ankò yon lòt kote.

Kijan yo te enjekte pòt dèyè XZ la

Nòt: Repozitwa git la nan git.tukaani.org. Sepandan, te gen yon Repozitwa ki òganize sou GitHub (kounye a bloke) kote kont GitHub la t ap poste chanjman yo ki te pita entegre nan depo Git la.

Yon pòsyon nan pòt dèyè a sanble sèlman nan dosye tar distribye yo pou vèsyon 5.6.0 ak 5.6.1 yo, pa nan depo git yo epi li depann de yon yon sèl liy nan build-to-host.m4 la fichye makro ki te itilize pa autoconf. Lòt pòsyon an te nan de sipoze fichye tès move-3-kòwonpi_lzma2.xz ta dwe apwouve bèso tibebe w la epi bon-gwo_konprese.lzma

ki te commitTed pa kont GitHub "Jia Tan" la (JiaT75) nan depo xz nan dat 23 fevriye. Se te yon chanjman inosan pou ajoute fichye tès yo (sipozeman blòk konprese .lzma ak .xz). Sa ki enteresan, fichye tès yo pa t itilize pa tès yo! Liy ki nan fichye .m4 la enjekte yon script obfuske (enkli nan tarball la) pou egzekite nan fen konfigirasyon an si kèk kondisyon koresponn. Li modifye Makefile la pou liblzma bibliyotèk pou genyen kòd ki ekstrè done nan fichye .xz la, ki apre deobfuskasyon an fini nan ekriti sa a, yo envoke l nan fen konfigirasyon an. Li deside si l ap modifye pwosesis konstriksyon an pou enjekte kòd: sèlman anba GCC ak linker GCC a, anba Debian oubyen rpm, epi sèlman pou x86_64 Linux. Lè yo koresponn, kòd ki enjekte a entèsepte ekzekisyon an lè li ranplase de ifunc rezolvè pou sèten apèl yo ranplase. Sa lakòz tablo senbòl yo analize nan memwa (sa pran tan, ki te mennen nan deteksyon an, jan nou eksplike pita).

Apre sa, bagay yo vin enteresan: pòt dèyè a enstale yon zen odit nan linker dinamik la, ap tann senbòl fonksyon RSA_public_decrypt la rive, ki redireksyon nan yon pwen nan kòd pòt dèyè a, ki an vire rele tounen. libcrypto, prezimableman pou fè otantifikasyon nòmal. Epi chaj la aktive si pwogram k ap kouri a gen non pwosesis la /usr/sbin/sshdLi te klè ke sèvè SSH yo te sib la. Tradisyonèlman, ssh sèvè tankou OpenSSH pa te lye avèk liblzma, men sshd se souvan rapyese pou sipòte systemd-notify pou lòt sèvis yo ka kòmanse lè sshd ap fonksyone. Epi apre sa, liblzma chaje endirèkteman pa systemd, fèmen sèk la.

Pòt dèyè a poko fin analize nèt, men li sanble... pèmèt ekzekisyon kòmand a distans (RCE) avèk privilèj demon sshd la, k ap fonksyone nan yon kontèks pre-otantifikasyon. Lè pòt dèyè a koresponn ak enfòmasyon ki soti nan sètifika a distans, yo dechifre ak ChaCha20, epi lè li dechifre avèk siksè, yo pase l bay sistèm ()Kidonk, sa a se esansyèlman yon RCE ki gen baryè, pi mal pase yon senp kontoune kle piblik. 

Yon tarball 5.6.1 ki te vin apre a te montre plis efò pou kache tras yo, ajoute plis obfuskasyon pou non senbòl yo, epi eseye korije erè yo te wè yo. Yon mekanis ekstansyon kote yo te chèche lòt dosye tès pou sèten siyati pou ajoute nan pòt dèyè a te mete an plas tou.

Atak sofistike sa a ka pase inapèsi jiskaske yo rive jwenn distribisyon Linux ki estab. Erezman, gen kèk moun ki renmen tcheke poukisa bagay anòmal rive.  

Dekouvèt atak pòt dèyè XZ la

Anpil fwa, konpòtman move enjekte yo dekouvri pa aza oswa pa aksidan. Yon bon egzanp se te yon avètisman sou deprekasyon ("Ki moun ki bay avètisman enpòtans?") ki te mennen nan dekouvèt la atak kouran evènman an Oktòb 2018. Yon lòt se itilizatè ki te avèti Codecov Nan mwa avril 2021, yo te di ke script bash uploader yo a pa t pase checksum nan ("Ki moun ki verifye entegrite atifak yo ak checksum"?) Anomali ak sentòm dwòl ak ssh logins (logink ap pran anpil CPU epi ogmante tan ki pase a, erè valgrind) te reveye kiryozite Andre Freund, yon devlopè PostgreSQL vijilan men se pa yon analis sekirite (jan li te deklare a). Apre kèk envestigasyon avèk OpenSSH sou Debian Sid, li te konkli ke yon pwoblèm tan repons te depann sou yon bibliyotèk, liblzma, Yon pati nan la xz-utils bibliyotèk konpresyon. Rezon an: "depo xz ki an amon an ak tarball xz yo te sibi yon pòt dèyè.". Dyagnostik sa a te tèlman egzak!"   Nan dat 29 mas 2024, Andres te poste premye analiz la nan Openwall: “pòt dèyè nan xz/liblzma an amon ki mennen nan konpwomi sèvè ssh la". An reyalite: Fichye tarball XZ Utils 5.6.0 ak 5.6.1 yo gen yon pòt dèyè. Fichye tarball sa yo te kreye epi siyen pa kont Jia Tan nou te mansyone pi wo a.  He pibliye nan Mastodon pita nan menm jou a, rekonèt ke dekouvèt la te aksidantèl e li te bezwen anpil koensidans. Kòmantè lòt itilizatè yo vo lekti. Itilizatè GitHub menm sam (aka Sam James) pibliye yon bèl Gist Kesyon yo poze souvan sou pòt dèyè xz-utils la kote yo te rezime atak la, ki lye ak plis ankò analiz apwofondi nan chay atak la. Analiz sa yo te teknikman enteresan, epi yo te ede nou pi byen konprann enjeksyon an, ki te trè elabore: Sa a bèl afich pa Thomas Roccia  montre yon pati nan aktivite JiaT75 sou depo GitHub la, epi kijan script enjeksyon an mete pòt dèyè binè a, li plis ilistre... Eksplikasyon sou pòt dèyè xz la.

Kijan yo te jere ensidan an

Divilgasyon Andreas Freund te fèt avèk prekosyon paske, nan pwòp mo pa li:

"Etandone aparan patisipasyon pwogramasyon an amon an, mwen pa rapòte okenn pwoblèm pwogramasyon an amon an. Kòm okòmansman mwen te panse se te yon pwoblèm espesifik pou Debian, mwen te voye yon rapò preliminè bay security@...ian.org. Apre sa, mwen te rapòte pwoblèm nan bay distros@." CISYon distribisyon te notifye A.”

Red Hat te bay pwoblèm sa a CVE-2024-3094. Apre sa, nouvèl la te sikile tankou dife nan savann. Lasse Collin, lòt moun ki responsab antretyen XZ a, te ajoute yon nouvo commit Samdi 30 Mas ki te gen tit "CMake: Ranje verifikasyon sandbox Landlock ki te sabote a". Youn nan metòd sandbox bibliyotèk landlock yo te sabote, omwen lè yo t ap konstwi avèk CMake. Li te devwale pwoblèm nan byen vit nan Pòt dèyè XZ Utils. Red Hat te bay pwoblèm sa a CVE-2024-3094 (gade tou nan CVE, NDV, Ubentu). Yo te ba li yon gwo Nòt debaz CVSS 10Nòt sa yo toujou pran Entènèt la d'assaut. CISNan menm 29 mas la, yon moun te pibliye yon alète, petèt twò senplis akòz ijans lan, rekòmande itilizatè yo pou yo retounen nan vèsyon 5.4.6 ki estab la. Yo te enfim depo GitHub anba òganizasyon Tukaani an (èske sa bon oswa move? Mwen panse se bon: Anpil distribisyon ak òganizasyon te toujou ap lye ak vèsyon GitHub yo pou jwenn tarball enfekte yo pou konpile. Enfim depo a anpeche sa. De tout fason, gen yon kopi depo a nan git.tukaani.org). Kont GitHub JiaTan75 ak Lasse Collins (Larhzu) yo te sispann tou. Sa a se yon pati nan kontwòl, menm lè li ka afekte moun inosan. JiaT75 aktivite nan depo ki pa andikape yo pa ka wè ankò. Endistri a te reyaji byen vit. Anpil vandè te pibliye règ pou detekte sistèm vilnerab yo, tankou Règ Yara yo, oubyen sipò nan zouti komèsyal yo soti nan Sysdig, PAN, ak lòt moun. Espesyalis sekirite tankou James Berthoty pibliye sou revizyon fason nou abòde lojisyèl sous ouvè.  Kounye a nou nan faz Eradikasyon ak Rekiperasyon ensidan an. Gen lòt pwojè JiaTan75 ap jere anba revizyon atantif, sitou... achiv lib/achiv lib (kote JiaTan75 te yon kontribitè regilye) ak fuzzer la oss-fuzz (kote sa a commit JiaTan75 te fè sa pou evite pwoblèm oss-fuzz, ki an reyalite pa t kapab detekte pòt dèyè aTantativ kache sa yo ajoute plis prèv. 

Ki moun ki anba atak la?

Swa kont GitHub JiaT75 la te konpwomèt (sonje GitHub te egzije 2FA dènyèman) oswa itilizatè fizik ki te gen kont lan te ale nan bò nwa a. Men, gen rezon konvenkan pou panse a yon menas pèsistan avanse (APT), petèt sipòte pa leta, akòz sofistikasyon teknik atak la. Pli lwen envestigasyon ajans sekirite sibernetik ak lapolis yo pral di ... Antre sa a nan Nouvèl Hacker YCombinator sou Jia Tan Li bay kèk limyè sou "ki moun" nan ak aktivite li. Li rekòmande! Li bay anpil enfòmasyon sou kijan mechan yo eseye twonpe lòt itilizatè yo, lè l sèvi avèk enjenyè sosyal.

"Trè anmèdan - otè aparan pòt dèyè a te an kominikasyon avè m (rwmj) pandan plizyè semèn ap eseye ajoute xz 5.6.x nan Fedora 40 & 41 poutèt "nouvo karakteristik ekselan" li yo. Nou menm te travay avè l pou rezoud pwoblèm valgrind la (ki kounye a li sanble te koze pa pòt dèyè li te ajoute a). Nou te oblije kouri yè swa pou rezoud pwoblèm nan apre yon vyolasyon anbago a san nou pa t vle. Li te fè pati pwojè xz la pandan 2 zan, li te ajoute tout kalite fichye tès binè, e pou m onèt ak nivo sofistikasyon sa a, mwen ta sispèk menm vèsyon xz ki pi ansyen yo jiskaske yo pwouve lekontrè."

Jia Tan te pran mezi pou anpeche yo swiv li: Sanble li te itilize yon VPN (vpn.singapore.witopia.net) pou konekte – sa ki pa gen pwoblèm an li menm. Epi anpil chanjman sanble apiye pa imèl tanporèl, yon sèl itilizasyon (ki soti nan ProtonMail nan ka sa a) k ap mande pou yo rantre chanjman yo.

Aktè a ta ka gen entansyon ale pi fon toujou, rive jis nan nwayo Linux la, kòm kontribitè nan la xy-entegre pwojè. Yon premye analiz pa jwenn okenn prèv foskouch, jiska jounen jodi a.

Nòt: yon lòt kontribitè XZ ki pa twò koni "Hans Jansen" (Itilizatè GitHub "hansjans162") se anba envestigasyonKont li nan debian kounye a se blokeLi te fè anpil mizajou nan jwèt Debian pou kache sa li te vle a sou debian/xz-utils, yon mizajou nan upstream 5.6.1 pou akselere distribisyon pòt dèyè a pou... debian/enstab

Tout sa nou ka di, pou kounye a, se ke sa a se yon APT (ki poko idantifye) ki itilize diferan kont, k ap travay depi omwen dezan sou kanpay sa a, epi k ap travay avèk pasyans pou enplante yon RCE nan SSH.

Jiskaske m ap ekri sa a, idantite ki dèyè "Jia Tan" nan poko konfime. Pa gen okenn atribisyon kredib a yon moun, òganizasyon, oswa aktè leta espesifik ki verifye piblikman, sa ki ranfòse jan disiplin operasyonèl pèsonaj la te efikas.

Èske atak pòt dèyè XZ a te ka evite?

Plito difisil. 

Premyèman, yon pati nan backdoor ki te enjekte a te antre nan fichye tès konprese ke tès yo pa t itilize. An retwospektiv, sa ta ka deklanche kèk alam (ki fè bwi), men ki moun ki bay pwoblèm pou verifye ke tout fichye tès yo itilize pa tès reyèl yo nan mond reyèl la? Dezyèmman, yon pati nan backdoor ki te enjekte a te antre nan fichye makro nan tarball yo, epi li difisil pou tcheke manyèlman pou diferans ak tarball yo te espere yo. Otomatizasyon an konplèks tou, paske rezilta yo espere nan konstriksyon an li menm (pou nenpòt moun ki konnen kijan automake/autoconf fonksyone) difisil pou modle pou analize si tarball reyèl la koresponn ak atant yo. Gen kèk ki te poze l as "Fichye tarball ki pa matche ak pyebwa git la se yon karakteristik, pa yon bug"Pwoblèm ki poko rezoud pou jwenn dosye tar binè yo apati kòd sous li.

Repitasyon itilizatè a? Oke, kont JiaTan75 GitHub la pa t ap fè bagay malonèt dapre sa ki te pase a. commitYo te sispann li sèlman apre prèv yo te fin akimile, men jiska 29 mas se te yon itilizatè regilye ki t ap fè biznis nòmal. Oke, pa tèlman nòmal. Pita commits (sa a, sa a, sa a, epi sa a ki te ajiste kòd eksplwate a) te eseye korije erè valgrind yo ak aksidan nan kèk konfigirasyon, akòz diferans ak layout pil la ke pòt dèyè a te espere. Commit Revizyon yo te ka detekte sa, men ki moun ki gen pasyans pou analize chanjman nan yon fichye tès binè oubyen vrè motivasyon pou yon chanjman nan atribi GCC nan kòd sous C?

Èske yon moun ta dwe sonnen alam lè yon SSH ap itilize yon... login pran 800 ms olye de 300 ms? Pwobableman sèlman moun ki twò pridan ta pran nòt. Cicero te di, "Enprevizib se pou jèn moun; pridans se pou vyeyès."  

"Hans Jansen" ak "Jia Tan" te ajoute enfrastrikti ifunc la an jen 2023. Sa a se premye a. commit ajoute sipò ifunc pou crc64_fast.c (ki pita itilize pou enjekte backdoor la). Plizyè mwa anvan yo te enjekte binè backdoor yo nan dosye tès yo!

Nòt: Otè a ak commitdiferan isit la, men sa nòmal: Lasse Collin se moun k ap kenbe pwojè a, epi li te konbine chanjman yo. Li menm remèsye "Hans Jansen" ...

Pèsonn pa t janm pale de pwoblèm anvan pòs Andres Freund lan ak CVE RedHat te kreye a. Si ou wè yon seri zouti ki ta ka detekte sa, yo detekte konpozan ki afekte a kounye a. ansyen pòs facto

Pwobableman pi bon prevansyon an soti nan nati distribisyon Linux yo, ak kijan vèsyon enstab ak avanse yo sèlman pase nan distribisyon ki estab an aval apre yon pwosesis rapid.

Leson nou aprann nan atak XZ bBackdoor la

Nou remake jan li difisil pou detekte entansyonèl pòt dèyè. Yo ta dwe konsidere pòt dèyè yo kòm yon menas entèn, paske se anplwaye entèn yo ki plante yo oubyen atravè kont entèn ki konpwomèt. Epi moun sa yo sitou fè konfyans. Lè pòt dèyè a enplante nan atifak distribye a, li pi difisil pou detekte.

Gen kèk otè tankou Kevin Beaumont lonje dwèt sou sistèm, ki ouvè yon gwo sifas atak sèvis twazyèm pati pou backdoor. Se sa move aktè a te abize la a. Systemd gen anpil je, men XZ se yon bibliyotèk obskur anwo nan chèn nan. "Lè amon an kontamine, tout moun bwè dlo anpwazonnen aval".

Yon demann chanjman ki pa gen rapò nan sistèm nan pou chaje bibliyotèk konpresyon dinamikman, ki ta retire pòt dèyè a, te deja entegre nan sistèm nan men li poko delivre. Depandans siplemantè libsystemd te entwodui yo ka sous vilnerabilite yo., ak yè demann sa a te louvri

A kòmantè Nan "xz: Dezaktive ifunc pou ranje pwoblèm nan" commit te bay yon bon lide sou kote pou nou mete atansyon an si nou vle anpeche aktivite sa yo (anfaz la se pa mwen):

"Leson nou ta dwe aprann kòm yon kominote se plis pou nou sekirize" software supply chain security yon fason holistic, odit sistèm konstriksyon ki depase jis kòd sous la. Tankou vyolasyon SolarWinds la kote atakè yo te modifye mizajou lojisyèl pou òf lojisyèl siveyans sous fèmen SolarWinds la.

Dekouvèt bonè a ak reyaksyon rapid la te limite enpak la anpil. Si ou sonje sèn final la soti nan Gason an Nwa III"Sa te prèske rive". Yon lòt fwa ankò, K pa t bliye kite enfòmasyon an. Epi pa gen okenn boglodit ki te antre nan distribisyon ki estab Linux yo.
1. “Mwen *pa* yon chèchè sekirite, ni yon enjenyè envès.” 2. Jia se yon non Chinwa komen. Tan se yon non fanmi komen tou ki vle di “manyifik”. Anpil moun ki pa gen rapò ak non sa a pataje non sa a, tanpri pa kondane pèsonn ak non sa a!

Kesyon'w yo

Èske pòt dèyè XZ a toujou yon risk jodi a?

Li te sitou kontwole, men li pa disparèt nèt. Nan mwa Out 2025, chèchè yo te jwenn pòt dèyè a toujou prezan nan plizyè imaj Debian Docker Hub, ke Debian trete kòm artefak istorik inaktif. Ekip yo ta dwe verifye ke yo pa ap bati sou imaj debaz ki pa ajou, olye ke yo sipoze patch 2024 la te fèmen pòt la nèt.

zouti-lojisyèl-sca-tools-konpozisyon-analiz-zouti
Priyorize, korije, epi pwoteje risk lojisyèl ou yo
Jwenn Kont Gratui ou.
Pa gen kat kredi obligatwa.

Pwoteje Devlopman ak Livrezon Lojisyèl ou

avèk Xygeni Product Suite