Serangan Lawang Mburi XZ

XZ Backdoor: "Kuwi meh rampung"

SSH Backdooring

Pangurus sing jahat utawa sing disusupi nyisipake prilaku jahat ing perpustakaan sing jenenge liblzma, bagéan saka piranti lan pustaka kompresi xz, sing ngasilaké backdoor ing SSH. Iki minangka serangan rantai pasokan piranti lunak canggih amarga pustaka kasebut sengaja dimodifikasi kanggo backdoor, kanthi teknik obfuscation lan stealth kanggo ndhelikake muatan serangan saka reviewer.

Iki ditemokake lan diungkap bubar (tanggal 29 Maret kepungkur), lan penanganan serangan isih ditindakake. Nanging, serangan iki cepet diatasi amarga kayane mung mengaruhi versi pra-rilis saka lingkungan winates (paket DEB lan RPM, kanggo arsitektur x86_64, lan dibangun nganggo GCC). Nanging, CVE diwenehi Skor dhasar CVSS saka 10, sing dikhususake kanggo kerentanan keamanan siber sing paling kritis. Yen mlebu distribusi sing stabil, dampake bakal gedhe banget. 

Analisis teknis serangan kasebut, kalebu xz backdoor diterangake kanthi rinci, wis dianalisis ing papan liya. Kiriman iki bakal fokus ing garis wektu serangan kasebut, kepiye carane bisa dideteksi, kepiye kedadeyan kasebut ditangani nganti saiki, lan piwulang apa sing bisa dijupuk saka serangan kasebut.

Buntut dawa backdoor wis terus nganti ngluwihi patch awal. Ing wulan Agustus 2025, luwih saka setaun sawise CVE-2024-3094 diungkap, peneliti keamanan ing Binarly nemokake backdoor isih ana ing rolas gambar Debian Docker sing diterbitake ing Docker Hub, kanthi tim Debian ora gelem mbusak, nganggep minangka artefak pangembangan historis tinimbang risiko aktif. Kapisah, OpenSSF lan OpenJS ngetokake peringatan bebarengan ora let suwe sawise kedadeyan XZ yen upaya pengambilalihan rekayasa sosial sing padha wis nargetake proyek JavaScript, sing nuduhake pola serangan maintainer-trust sing digunakake ing kene digunakake maneh ing papan liya.

Kepiye carane XZ backdoor disuntik

Cathetan: Repositori git ana ing git.tukaani.org. Nanging, ana uga Gudang panyimpenan sing di-host ing GitHub (saiki diblokir) ing ngendi akun GitHub ngirim pangowahan sing banjur diintegrasi menyang repositori Git.

Siji bagean saka backdoor koyone mung ana ing tarball sing disebarake kanggo versi 5.6.0 lan 5.6.1, ora ana ing repositori git lan gumantung ing baris siji ing build-to-host.m4 Berkas makro sing digunakake dening autoconf. Bagean liyane ana ing rong berkas uji coba sing mesthine ala-3-rusak_lzma2.xz lan apik-gedhe_dikompres.lzma

sing padha committed dening akun GitHub "Jia Tan" (JiaT75) ing repositori xz tanggal 23 Februari. Iku owah-owahan sing ora mbebayani kanthi nambahake testfile (mesthi wae blok sing dikompres .lzma lan .xz). Sing menarik, file tes ora digunakake dening tes! Baris ing file .m4 nyuntikake skrip sing dikaburkan (kalebu ing tarball) sing bakal dieksekusi ing pungkasan konfigurasi yen ana sawetara kondisi sing cocog. Iki ngowahi Makefile kanggo liblzma perpustakaan kanggo ngemot kode sing ngekstrak data saka file .xz, sing sawise deobfuscation rampung ing naskah iki, diundang ing pungkasan configure. Iki nemtokake apa arep ngowahi proses build kanggo nyuntikake kode: mung ing GCC lan GCC linker, ing Debian utawa rpm, lan mung kanggo x86_64 Linux. Nalika cocog, kode sing diinjeksi nyegat eksekusi kanthi ngganti loro ifunc resolver supaya panggilan tartamtu diganti. Iki nyebabake tabel simbol diurai ing memori (iki mbutuhake wektu, sing nyebabake deteksi, kaya sing diterangake mengko).

Banjur kahanane dadi menarik: Backdoor masang audit hook menyang dynamic linker, ngenteni simbol fungsi RSA_public_decrypt teka, sing banjur dialihake menyang titik menyang kode backdoor, sing banjur nelpon maneh. libcrypto, mesthine kanggo nindakake otentikasi normal. Lan payload diaktifake yen program sing mlaku duwe jeneng proses /usr/sbin/sshdIku cetha yen server SSH minangka target. Sacara tradisional, ssh server kaya OpenSSH ora ana gandheng cenenge karo liblzma, nanging sshd iku kerep ditambal kanggo ndhukung systemd-notify supaya layanan liyane bisa diwiwiti nalika sshd lagi mlaku. Lan banjur liblzma dimuat kanthi ora langsung dening sistem, nutup bunderan kasebut.

Lawang mburi durung dianalisis kanthi lengkap, nanging koyone wis ngidini eksekusi printah jarak jauh (RCE) karo hak istimewa daemon sshd, mlaku ing konteks pra-otentikasi. Info saka sertifikat remot, nalika dicocogake karo backdoor, didekripsi nganggo ChaCha20, lan nalika didekripsi kanthi sukses, informasi kasebut bakal dikirim menyang sistem()Dadi iki sejatine RCE sing dijaga keamanane, luwih elek tinimbang mung liwat kunci publik. 

Tarball 5.6.1 sing luwih anyar nuduhake upaya tambahan kanggo ndhelikake jejak, nambahake obfuskasi luwih lanjut kanggo jeneng simbol, lan nyoba ndandani kesalahan sing katon. mekanisme extension ing ngendi file tes tambahan digoleki kanggo tandha-tandha tartamtu kanggo ditambahake menyang backdoor uga dilebokake.

Serangan sing cukup canggih iki bisa uga ora digatekake nganti distribusi Linux sing stabil tekan. Untunge, ana wong sing seneng mriksa kenapa kedadeyan sing ora normal bisa kedadeyan.  

Panemon Serangan Backdoor XZ

Asring tumindak ala sing disuntik ditemokake kanthi kebetulan utawa ora sengaja. Tuladha sing apik yaiku peringatan penghentian ("Sapa sing peduli karo peringatan?") sing nyebabake panemuan serangan aliran acara ing Oktober 2018. Liyane yaiku pangguna sing menehi peringatan Codecov ing April 2021 yen skrip pengunggah bash ora lulus checksum ("Sapa sing verifikasi integritas artefak nganggo checksum"?) Anomali lan gejala aneh karo ssh logins (loginnjupuk akeh CPU lan wektu sing wis kliwat, kesalahan valgrind) nuwuhake rasa penasaran Andres Freund, pangembang PostgreSQL sing waspada nanging dudu analis keamanan (kaya sing kasebutSawisé sawetara investigasi karo OpenSSH ing Debian Sid, dhèwèké nyimpulaké yèn masalah wektu respon gumantung marang perpustakaan, liblzma, Bagean saka xz-utils perpustakaan kompresi. Alesané: "repositori xz hulu lan tarball xz wis di-backdoorDiagnostik iki akurat banget!   Tanggal 29 Maret 2024 Andres ngirim analisis pisanan ing Openwall: "Backdoor ing xz/liblzma hulu sing nyebabake kompromi server sshKasunyatan: Tarball XZ Utils 5.6.0 lan 5.6.1 ngemot backdoor. Tarball iki digawe lan ditandatangani dening akun Jia Tan sing kasebut ing ndhuwur.  He dikirim ing Mastodon mengko ing dina iku, dheweke ngerti yen panemuan kasebut ora disengaja lan mbutuhake akeh kebetulan. Komentar saka pangguna liyane pantes diwaca. Panganggo GitHub thesamesam (alias Sam James) nerbitake Gist sing apik FAQ babagan xz-utils backdoor ing ngendi serangan kasebut diringkes, nggandhengake karo luwih akeh analisis sing jero saka muatan serangan. Analisis iki sacara teknis menarik, lan mbantu kita luwih ngerti injeksi kasebut, sing dijlentrehake kanthi rinci: Iki apik poster saka Thomas Roccia  nuduhake bagean saka aktivitas JiaT75 ing repositori GitHub, lan kepiye skrip injeksi nyisipake backdoor binar, luwih lanjut nggambarake xz backdoor dijlentrehake.

Kepiye kedadeyan kasebut ditangani

Pambocoran dening Andreas Freund iku ati-ati amarga, miturut tembunge dhewe:

"Amarga ana keterlibatan upstream sing katon, aku durung nglaporake bug upstream. Amarga wiwitane aku ngira iki masalah khusus Debian, aku ngirim laporan awal menyang security@...ian.org. Sabanjure, aku nglaporake masalah kasebut menyang distros@." CISA dikabari dening distribusi.

Red Hat menehi edisi iki CVE-2024-3094. Banjur tembung kasebut nyebar kaya geni alas. Lasse Collin, tukang ngrawat XZ liyané, nambahake anyar commit ing dina Setu 30 Maret kanthi irah-irahan "CMake: Ndandani pamriksan sandbox Landlock sing disabotase". Salah sawijining metode sandboxing landlock perpustakaan disabotase, paling ora nalika mbangun nganggo CMake. Dheweke langsung mbukak masalah kasebut ing Lawang mburi XZ Utils. Red Hat menehi masalah iki CVE-2024-3094 (waca uga ing CVE, NDV, ubuntu). Iku diwenehi akeh banget Skor Dasar CVSS 10Skor kaya ngono kuwi mesthi nggegirisi internet. CISIng tanggal 29 Maret sing padha, A ngrilis tandha, mungkin kesederhanaan banget amarga urgensi, nyaranake pangguna supaya mudhun menyang versi stabil 5.4.6. Repositori GitHub ing sangisore organisasi Tukaani dipateni (apa iki apik utawa ala? Aku mikir apik: Akeh distro lan organisasi isih nyambung menyang rilis GitHub kanggo njupuk sumber tarball sing kena infeksi kanggo mbangun. Mateni repo nyegah kuwi. Nanging ana salinan utawa repo ing git.tukaani.orgAkun GitHub JiaTan75 lan Lasse Collins (Larhzu) uga ditanggepi. Iki minangka bagean saka kawontenan, sanajan bisa mengaruhi wong sing ora salah. JiaT75 aktivitas ing repositori sing ora dinonaktifake durung bisa dideleng. Industri kasebut cepet nanggepi. Akeh vendor nerbitake aturan kanggo ndeteksi sistem sing rentan, kaya Aturan Yara, utawa dhukungan ing piranti komersial saka Sysdig, PAN, lan liya-liyane. Spesialis keamanan kaya James Berthoty dikirim babagan nliti kepiye carane kita nyedhaki piranti lunak sumber terbuka.  Saiki kita lagi ana ing fase Pemberantasan lan Pemulihan saka kedadeyan kasebut. Proyek liyane sing dikelola dening JiaTan75 lagi ditinjau kanthi teliti, utamane libarkif/libarkif (ing ngendi JiaTan75 minangka kontributor reguler) lan fuzzer kasebut oss-fuzz (ing ngendi iki commit digawe dening JiaTan75 nyoba ngindhari oss-fuzz, sing nyatane ora bisa nemokake lawang mburiUpaya ndhelikake iki nambah bukti luwih lanjut. 

Sapa sing diserang?

Akun GitHub JiaT75 wis diretas (elinga yen GitHub bubar iki wis mrentahake 2FA) utawa pangguna fisik sing duwe akun kasebut wis mlebu ing sisih peteng. Nanging ana alesan sing kuat kanggo mikir babagan ancaman terus-terusan tingkat lanjut (APT), sing bisa uga didhukung negara, amarga kecanggihan teknis serangan kasebut. Investigasi luwih lanjut dening lembaga keamanan siber lan penegak hukum bakal ngandhani ... entri iki ing YCombinator Hacker News babagan Jia Tan menehi katrangan babagan "sapa" lan aktivitase. Disaranake! Iki menehi akeh informasi babagan kepiye wong jahat nyoba ngapusi pangguna liyane, nggunakake rekayasa sosial.

"Ngganggu banget - sing katon nggawe backdoor wis komunikasi karo aku (rwmj) sajrone pirang-pirang minggu nyoba nambahake xz 5.6.x menyang Fedora 40 & 41 amarga "fitur anyar sing apik". Kita malah kerja bareng karo dheweke kanggo ndandani masalah valgrind (sing jebul saiki disebabake dening backdoor sing ditambahake). Kita kudu cepet-cepet ndandani masalah kasebut sawise ora sengaja nglanggar embargo. Dheweke wis dadi bagean saka proyek xz sajrone 2 taun, nambahake kabeh jinis file uji binar, lan jujur ​​​​karo tingkat kecanggihan iki, aku bakal curiga karo versi xz sing luwih lawas nganti kabukten liya."

Jia Tan njupuk langkah-langkah supaya ora dilacak: Kayane wis nggunakake VPN (vpn.singapore.witopia.net) kanggo nyambung - sing ora apa-apa. Lan akeh owah-owahan sing kayane didhukung dening email sementara, mung digunakake sapisan (saka ProtonMail ing kasus iki) sing njaluk supaya pangowahan digabungake.

Aktor kasebut bisa uga duwe niyat kanggo mlebu luwih jero, nganti tekan kernel Linux, minangka kontributor kanggo xy-embedded proyèk kasebut. Analisis awal ora nemokake bukti keguguran, nganti saiki.

Cathetan: liyane Kontributor XZ sing ora pati misuwur "Hans Jansen" (Panganggo GitHub "hansjans162") yaiku ing pengawasanAkun ing debian saiki diblokirDhèwèké nggawé akèh pembaruan ing Debian Games kanggo ndhelikaké sing dikarepaké ing debian/xz-utils, pembaruan ing upstream 5.6.1 kanggo nyepetake distribusi backdoor menyang debian/ora stabil

Sing isa tak omongke saiki yaiku iki APT (durung diidentifikasi) sing nggunakake akun sing beda, wis makarya paling ora rong taun ing kampanye iki, lan kanthi sabar makarya kanggo nandur RCE ing SSH.

Nganti tulisan iki ditulis, identitas ing mburi "Jia Tan" isih durung dikonfirmasi. Ora ana atribusi sing dipercaya marang individu, organisasi, utawa aktor negara tartamtu sing wis diverifikasi sacara umum, sing ndukung sepira efektif disiplin operasional persona kasebut.

Apa serangan backdoor XZ bisa dicegah?

Rada angel. 

Kapisan, sebagian saka backdoor sing diinjeksi mlebu ing file uji coba sing dikompres sing ora digunakake dening uji coba. Sacara retrospektif, kuwi bisa ngungkit sawetara alarm (sing rame), nanging sapa sing peduli mriksa manawa kabeh file uji coba digunakake dening uji coba nyata ing jagad nyata? Kapindho, sebagian saka backdoor sing diinjeksi mlebu ing file makro menyang tarball rilis, lan angel mriksa kanthi manual kanggo bedane karo tarball sing diarepake. Otomatisasi uga rumit, amarga asil sing diarepake saka build kasebut dhewe (kanggo sapa wae sing ngerti cara kerja automake/autoconf) angel dimodelake kanggo dianalisis manawa tarball nyata cocog karo pangarepan. Ana sing ngajokake as "Tarball sing ora cocog karo wit git iku fitur, dudu bug"Asal-usul tarball binar saka kode sumberé minangka masalah sing durung dirampungaké.

Reputasi panganggo? Nah, akun GitHub JiaTan75 ora nindakake perkara sing ora becik miturut jaman kepungkur. commits. Iku ditundha mung sawise bukti nglumpuk, nanging nganti 29 Maret iku pangguna biasa sing nindakake bisnis normal. Ya, ora normal banget. Mengko commits (iki, iki, iki, Lan iki sing nyetel kode eksploitasi) nyoba ndandani kesalahan valgrind lan kacilakan ing sawetara konfigurasi, amarga beda karo tata letak tumpukan sing diarepake dening backdoor. Commit ulasan bisa ndeteksi iki, nanging sapa sing duwe sabar kanggo nganalisis owah-owahan ing file uji binar utawa motivasi nyata kanggo owah-owahan ing atribut GCC ing kode sumber C?

Apa kudune ana alarm nalika SSH login butuh wektu 800 ms tinimbang 300 ms? Mungkin mung wong sing wicaksana banget sing bakal nggatekake. Cicero ngendika, "Keteledoran iku kagungane wong enom; kawicaksanan iku kagungane wong tuwa."  

Infrastruktur ifunc ditambahake ing Juni 2023 dening "Hans Jansen" lan "Jia Tan". Iki minangka sing pertama commit nambahake dhukungan ifunc menyang crc64_fast.c (mengko digunakake kanggo nyuntikake backdoor). Pirang-pirang wulan sadurunge nyuntikake binar backdoor ing file uji coba!

Cathetan: Penulis lan commitAna bedane ing kene, nanging iki lumrah: Lasse Collin minangka pangurus proyek, lan dheweke nggabungake pangowahan kasebut. Dheweke malah ngucapake matur nuwun marang "Hans Jansen" ...

Ora ana sing ngutarakake uneg-uneg sadurunge postingan Andres Freund lan CVE sing digawe dening RedHat. Yen sampeyan ndeleng serangkaian alat sing bisa nangkep iki, dheweke saiki bisa ndeteksi komponen sing kena pengaruh, Ex postto

Mbokmenawa pencegahan sing paling apik asale saka sifat distribusi Linux, lan kepiye versi sing ora stabil lan bleeding edge mung bisa diterusake menyang distribusi stabil sawise proses sing cepet.

Piwulang sing Dipikolehi saka Serangan XZ bBackdoor

Kita wis nyathet betapa angele ndeteksi disengaja Backdoor. Backdoor kudune dianggep minangka ancaman internal, amarga dipasang dening staf internal utawa liwat akun internal sing wis disusupi. Lan wong-wong kuwi umume dipercaya. Lan nalika backdoor dipasang ing artefak sing disebarake, mula luwih angel dideteksi.

Sawetara penulis kaya Kevin Beaumont nuding menyang sistem, sing mbukak permukaan serangan gedhe saka layanan pihak katelu menyang backdoor. Iki sing disalahgunakake aktor ala ing kene. Systemd duwe akeh perhatian, nanging XZ minangka perpustakaan sing ora jelas ing rantai ndhuwur. "Nalika hulu tercemar, kabeh wong ngombe banyu beracun ing hilir".

Panjaluk owah-owahan sing ora ana gandhengane ing sistem kanggo perpustakaan kompresi sing dimuat kanthi dinamis, sing bakal mbusak backdoor, wis digabung menyang sistem nanging durung dikirim. Katergantungan tambahan sing dikenalake dening libsystemd bisa uga dadi sumber kerentanan, lan wingi panjaluk iki dibukak

A komentar ing "xz: Nonaktifake ifunc kanggo ndandani masalah" commit menehi wawasan sing cetha babagan ngendi kudu fokus yen kita pengin nyegah kegiatan kasebut (penekanan iki saka aku):

"Piwulang sing kudu kita sinau minangka komunitas luwih kanggo ngamanake software supply chain security kanthi holistik, audit sistem bangunan ngluwihi mung kode sumber. Kaya pelanggaran SolarWinds ing ngendi para penyerang ngowahi pembaruan piranti lunak kanggo penawaran piranti lunak pemantauan sumber tertutup SolarWinds.”

Panemon awal lan reaksi sing cepet mbatesi dampak kasebut banget. Yen sampeyan kelingan adegan pungkasan saka Wong Lanang Ireng III: “Kuwi meh wae”. Sepisan maneh, K ora lali menehi tip. Lan ora ana boglodite sing mlebu distribusi stabil Linux.
1. "Aku *dudu* peneliti keamanan, utawa insinyur balik." 2. Jia iku jeneng umum saka wong Tionghoa. Tan uga jeneng kulawarga sing tegesé "apik banget". Akèh wong sing ora ana hubungane karo wong liya sing duwé jeneng iki, tulung aja ngukum sapa waé nganggo jeneng iki!

Pitakonan Umum

Apa backdoor XZ isih dadi bebaya nganti saiki?

Umume wis kaiket, nanging ora ilang kabeh. Ing wulan Agustus 2025, para peneliti nemokake backdoor isih ana ing sawetara gambar Debian Docker Hub, sing dianggep dening Debian minangka artefak sejarah sing ora aktif. Tim kudu verifikasi yen dheweke ora mbangun gambar dhasar sing wis lawas lan durung ditambal tinimbang nganggep patch 2024 nutup lawang kanthi lengkap.

piranti lunak-piranti-sca-piranti-analisis-komposisi
Prioritasake, ndandani, lan amanake risiko piranti lunak sampeyan
Entuk Akun Gratismu.
Ora ana kertu kredit.

Amanake Pangembangan lan Pangiriman Piranti Lunak Sampeyan

karo Suite Produk Xygeni