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:- xz/liblzma: Obfuskasi tahap Bash DijelasakeAnalisis sing apik babagan deobfuscation dening skrip injeksi, ing patang "tahap".
- Utas bluesky karya Filippo Valsorda Analisis backdoor dhewe ing RSA_public_decrypt, sing nuduhake sifate: RCE, dudu bypass auth, lan di-gated (nampa kunci pribadi penulis lan yen ora, bali menyang prilaku normal) / ora bisa dibayar. Penulis niat kanggo ndhelikake supaya ora bisa dideteksi!
- Analisis Backdoor XZ dening @smx-smx (WIP) – Analisis tambahan babagan lawang mburi (aku meh kesasar ing wiwitan 😀)
- dokumentasi xz backdoor wiki, analisis liyané saka skrip injeksi 5.6.1.
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.
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.”
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.







