SSH orqa eshiklarini ochish
Yomon yoki buzilgan boshqaruvchi nomli kutubxonaga zararli xatti-harakatlarni kiritdi liblzma, xz siqish vositalari va kutubxonalarining bir qismi bo'lib, SSHda orqa eshikka olib keladi. Bu rivojlangan dasturiy ta'minot ta'minot zanjiri hujumi, chunki kutubxona orqa eshik uchun ataylab o'zgartirilgan, hujum yukini sharhlovchilardan yashirish uchun chalkashtirish va maxfiy texnikalar bilan.
U yaqinda (29-mart kuni) topildi va oshkor qilindi va hujumlarni boshqarish davom etmoqda. Biroq, u tezda to'xtatildi, chunki u faqat cheklangan muhitlar to'plamining (x86_64 arxitekturasi uchun DEB va RPM paketlari va GCC bilan yaratilgan) faqat relizdan oldingi versiyalariga ta'sir qiladiganga o'xshaydi. Qanday bo'lmasin, CVE berilgan edi CVSS bazaviy ballari 10 tadan, bu eng muhim kiberxavfsizlik zaifliklari uchun ajratilgan. Agar u barqaror tarqatishlarga kirsa, ta'siri juda katta bo'ladi.
Hujumning texnik tahlili, shu jumladan xz orqa eshik batafsil tushuntirildi, boshqa joyda tahlil qilingan. Ushbu post hujumning xronologiyasi, uni qanday aniqlash mumkinligi, hodisa hozirgi kunga qadar qanday hal qilinganligi va hujumdan qanday saboqlar olinishi mumkinligiga qaratiladi.
Orqa eshikning uzun dumi dastlabki yamoqdan ancha o'tib ketdi. 2025-yil avgust oyida, CVE-2024-3094 oshkor qilinganidan bir yildan ko'proq vaqt o'tgach, Binarly xavfsizlik tadqiqotchilari Docker Hub-da chop etilgan o'nlab Debian Docker tasvirlarida orqa eshik hali ham mavjudligini aniqladilar, Debian jamoasi ularni faol xavf emas, balki tarixiy rivojlanish artefaktlari sifatida ko'rib, olib tashlashdan bosh tortdi. Alohida, OpenSSF va OpenJS XZ hodisasidan ko'p o'tmay, shunga o'xshash ijtimoiy muhandislik egallab olish urinishlari allaqachon JavaScript loyihalariga qaratilganligi haqida qo'shma ogohlantirish berdi, bu esa bu yerda ishlatilgan maintainer-trust hujumi naqshining boshqa joyda qayta ishlatilayotganidan dalolat beradi.
XZ orqa eshigi qanday kiritilgan
Eslatma: git ombori joylashgan git.tukaani.org. Shu bilan birga, u yerda ham bor edi GitHub tomonidan joylashtirilgan omborxona (hozirda bloklangan) bu yerda GitHub hisobi keyinchalik Git omboriga integratsiya qilingan o'zgarishlarni joylashtirayotgan edi.
Orqa eshikning bir qismi faqat 5.6.0 va 5.6.1 versiyalari uchun taqsimlangan tarballlarda joylashgan ko'rinadi, git omborlarida emas va a ga tayanadi build-to-host.m4 faylida bitta qator autoconf tomonidan ishlatiladigan makro fayl. Boshqa qismi ikkita taxminiy testfaylida edi yomon-3-buzuq_lzma2.xz va yaxshi-katta_siqilgan.lzma
bularning barchasi commitTed GitHub akkaunti “Jia Tan” tomonidan (JiaT75) xz ombori 23-fevral kuni testfayllarini (taxminan .lzma va .xz siqilgan bloklari) qo'shishda zararsiz o'zgarish bo'ldi. Qizig'i shundaki, test fayllari testlar tomonidan ishlatilmadi! .m4 faylidagi satr, agar ba'zi shartlar mos kelsa, konfiguratsiya oxirida bajarilishi kerak bo'lgan chalkash skriptni (tarballga kiritilgan) kiritadi. U Makefile faylini o'zgartiradi. liblzma deobfuscation tugagandan so'ng tugaydigan .xz faylidan ma'lumotlarni ajratib oluvchi kodni o'z ichiga olgan kutubxona ushbu skriptda, konfiguratsiya oxirida chaqiriladi. U kodni kiritish uchun yaratish jarayonini o'zgartirish yoki o'zgartirmaslikni hal qiladi: faqat GCC va GCC bog'lovchisi ostida, Debian yoki rpm ostida va faqat x86_64 Linux uchun. Mos kelganda, kiritilgan kod ikkitasini almashtirish orqali bajarilishni to'xtatadi ifunc rezolverlar, shuning uchun ba'zi chaqiruvlar almashtiriladi. Bu belgi jadvallarini xotirada tahlil qilishga olib keladi (bu vaqt talab etadi, bu esa keyinchalik tushuntirilganidek, aniqlashga olib keldi).
Keyin hamma narsa qiziqarli bo'ladi: Orqa eshik dinamik bog'lovchiga audit kancasini o'rnatadi va RSA_public_decrypt funksiyasi belgisi kelishini kutadi, bu belgi orqa eshik kodidagi nuqtaga yo'naltiriladi va u o'z navbatida orqaga qaytadi. libcrypto, ehtimol oddiy autentifikatsiyani amalga oshirish uchun. Va agar ishlayotgan dasturda jarayon nomi bo'lsa, foydali yuk faollashadi. /usr/sbin/sshdSSH serverlari nishonga olingani aniq edi. An'anaga ko'ra, ssh OpenSSH kabi serverlar bog'lanmagan edi liblzma, lekin sshd tez-tez yamalgan sshd ishlayotganida boshqa xizmatlar ishga tushishi uchun systemd-notify ni qo'llab-quvvatlash. Va keyin liblzma bilvosita yuklanadi tizimd, aylanani yopmoqda.
Orqa eshik hali to'liq tahlil qilinmagan, ammo u shunday ko'rinadi masofadan turib buyruqlarni bajarishga ruxsat berish (RCE) sshd demonining imtiyozlari bilan, oldindan autentifikatsiya kontekstida ishlaydi. Masofaviy sertifikatdan olingan ma'lumot, orqa eshik tomonidan moslashtirilganda, ChaCha20 yordamida shifrlanadi va u muvaffaqiyatli shifrlanganda u uzatiladi tizim()Demak, bu asosan darvozali RCE bo'lib, oddiy ochiq kalitni chetlab o'tishdan ancha yomonroq.
Keyinchalik 5.6.1 versiyasida izlarni yashirish uchun qo'shimcha harakatlar ko'rsatildi, belgi nomlari uchun qo'shimcha chalkashliklar qo'shildi va ko'rilgan xatolarni tuzatishga urinishlar qilindi. kengaytirish mexanizmi orqa eshikka qo'shish uchun ma'lum imzolar uchun qo'shimcha sinov fayllari qidirilgan joy ham joylashtirildi.
Bu ancha murakkab hujum barqaror Linux distributivlariga erishilmaguncha sezilmay qolishi mumkin. Yaxshiyamki, ba'zi odamlar nima uchun g'ayritabiiy narsalar sodir bo'lishini tekshirishni yoqtirishadi.
XZ orqa eshik hujumining kashf etilishi
Ko'p hollarda zararli xatti-harakatlar tasodifan yoki tasodifiy ravishda aniqlanadi. Yaxshi misol a edi eskirish haqida ogohlantirish ("Ogohlantirishlar kimga kerak?") bu kashfiyotga olib keldi hodisa oqimi hujumi 2018-yil oktyabr oyida. Yana biri ogohlantirgan foydalanuvchi. Codecov 2021-yil aprel oyida ularning bash yuklovchi skripti checksumdan o'tmaganligi haqida xabar berilgan ("Artefaktlarning yaxlitligini checksum bilan kim tekshiradi?") SSH bilan anomaliyalar va g'alati alomatlar logins (loginjuda ko'p protsessor sarfi va o'tgan vaqtni ko'paytirish, valgrind xatolari) qiziqishni uyg'otdi Andres Freund, hushyor PostgreSQL dasturchisi, ammo xavfsizlik bo'yicha tahlilchi emas (u aytganidek)). Debian Sid ustida OpenSSH bilan bir oz tadqiqot o'tkazgandan so'ng, u javob berish vaqti muammosi kutubxonaga bog'liq degan xulosaga keldi, liblzma, Bir qismi xz-utillari siqish kutubxonasi. Sababi: “Yuqoridagi xz ombori va xz tarballs orqa eshikka yopildi"Bu diagnostika juda aniq edi! 2024-yil 29-martda Andres Openwall’da birinchi tahlilni joylashtirdi: “Yuqori oqimdagi xz/liblzma da orqa eshik ssh serverining buzilishiga olib keladi". Haqiqat: XZ Utils 5.6.0 va 5.6.1 tarballlarida orqa eshik mavjud. Ushbu tarballlar yuqorida aytib o'tilgan Jia Tan akkaunti tomonidan yaratilgan va imzolangan. He Mastodon bo'limida joylashtirilgan o'sha kuni kechqurun, kashfiyot tasodifiy bo'lganini va ko'plab tasodiflarni talab qilganini anglab yetdi. Boshqa foydalanuvchilarning izohlarini o'qishga arziydi. GitHub foydalanuvchisi thesamesam (aka Sam James) yaxshi Gist nashr etdi xz-utils orqa eshigi haqida tez-tez so'raladigan savollar hujum umumlashtirilgan joyda, ko'proq narsalarga bog'liq holda chuqur tahlillar hujum yuklamasining. Ushbu tahlillar texnik jihatdan qiziqarli bo'ldi va bizga juda batafsil ishlab chiqilgan in'ektsiyani yaxshiroq tushunishga yordam berdi:- xz/liblzma: Bash bosqichidagi obfuskatsiya tushuntirildiInyeksiya skripti yordamida deobfuskatsiya bo'yicha to'rtta "bosqich"da yaxshi tahlil.
- Filippo Valsordaning ko'k rangli ipi RSA_public_decrypt’dagi orqa eshikning tahlili, uning tabiatini koʻrsatadi: RCE, autentifikatsiyani chetlab oʻtish emas va gated (muallifning shaxsiy kalitini qabul qiladi va agar qabul qilinmasa, normal holatga qaytadi) / toʻlovsiz. Muallif aniqlanmaslik uchun kamtarona profil yaratishni niyat qilgan!
- XZ Backdoor tahlili @smx-smx tomonidan (WIP) – Orqa eshikning qo'shimcha tahlili (men deyarli boshida adashib qoldim 😀)
- xz orqa eshik hujjatlari viki, 5.6.1 in'ektsiya skriptining yana bir tahlili.
Hodisa qanday hal qilindi
Andreas Freundning oshkor qilishi ehtiyotkorona edi, chunki o'z so'zlari bilan aytganda:“Yuqori oqimdagi aniq ishtirokni hisobga olgan holda, men yuqori oqimdagi xato haqida xabar bermadim. Dastlab bu Debianga xos muammo deb o'ylaganim uchun, dastlabki hisobotni security@...ian.org manziliga yubordim. Keyinchalik, muammo haqida distros@ ga xabar berdim. CISA tarqatish kompaniyasi tomonidan xabardor qilindi.
Hujum ostida kim bor?
Yoki GitHub JiaT75 akkaunti buzilgan (yaqinda GitHub 2FA ni majburiy qilganini eslang) yoki akkauntga ega bo'lgan jismoniy foydalanuvchi qorong'u tomonga o'tib ketgan. Ammo hujumning texnik murakkabligi tufayli, ehtimol, davlat tomonidan qo'llab-quvvatlanadigan rivojlangan doimiy tahdid (APT) haqida o'ylash uchun jiddiy sabablar mavjud. Kiberxavfsizlik agentliklari va huquqni muhofaza qilish organlari tomonidan olib boriladigan qo'shimcha tekshiruvlar shuni ko'rsatadiki... Ushbu kirish YCombinator xakerlik yangiliklarida Jia Tan haqida "kim" va uning faoliyatiga bir oz oydinlik kiritadi. Tavsiya etiladi! Unda yomon odamlar ijtimoiy muhandislik yordamida boshqa foydalanuvchilarni qanday aldashga urinishlari haqida ko'p ma'lumotlar berilgan.“Juda zerikarli - orqa eshikning muallifi bir necha hafta davomida men (rwmj) bilan Fedora 40 va 41 ga “ajoyib yangi funksiyalar” tufayli xz 5.6.x ni qoʻshishga harakat qilib, aloqada boʻlgan. Biz hatto u bilan valgrind muammosini hal qilish uchun ham ishladik (hozir maʼlum boʻlishicha, bu uning qoʻshgan orqa eshik tufayli yuzaga kelgan). Kecha kechqurun embargoning tasodifan buzilishidan keyin muammoni hal qilish uchun yugurishimiz kerak boʻldi. U 2 yildan beri xz loyihasining bir qismi boʻlib, har xil ikkilik sinov fayllarini qoʻshmoqda va rostini aytsam, bu darajadagi murakkablik bilan men xz ning eski versiyalariga ham shubha bilan qarayman, aks holda bu isbotlanmaguncha.”
Jia Tan kuzatilishining oldini olish uchun choralar ko'rdi: ulanish uchun VPN (vpn.singapore.witopia.net) dan foydalangan ko'rinadi - bu o'z-o'zidan yaxshi. Va ko'plab o'zgarishlar vaqtinchalik, bir martalik elektron pochta xabarlari (bu holda ProtonMail dan) bilan qo'llab-quvvatlanadiganga o'xshaydi, ular o'zgarishlarni birlashtirishga chaqiradi.
Aktyor Linux yadrosiga qadar yanada chuqurroq kirishni niyat qilishi mumkin, bu esa o'z hissasini qo'shuvchi sifatida xy-o'rnatilgan loyiha. Bugungi kunga kelib, dastlabki tahlilda homiladorlikning biron bir alomati topilmadi.
Izoh: boshqa XZ’ning kamtarona muallifi “Hans Jansen” (GitHub foydalanuvchisi “hansjans162”) nazorat ostidaUning debiandagi akkaunti endi bloklanganU debian/xz-utils da xohlaganini yashirish uchun Debian Gamesga ko'plab yangilanishlar kiritdi, orqa eshikni tarqatishni tezlashtirish uchun yuqori oqimdagi 5.6.1 ga yangilanish kiritdi. debian/beqaror.
Hozircha aytishimiz mumkin bo'lgan narsa shuki, bu (hali noma'lum) turli akkauntlardan foydalanadigan, ushbu kampaniyada kamida ikki yil ishlagan va SSHga RCE o'rnatish uchun sabr bilan ishlayotgan APT.
Ushbu yozuv yozilgan paytdan boshlab, "Jia Tan" ortidagi shaxs tasdiqlanmagan. Muayyan shaxs, tashkilot yoki davlat aktyoriga tegishli ekanligi haqida ishonchli ma'lumotlar omma oldida tasdiqlanmagan, bu esa shaxsning operatsion intizomi qanchalik samarali bo'lganini tasdiqlaydi.
XZ orqa eshikdan hujumning oldini olish mumkinmidi?
Juda qiyin.
Birinchidan, kiritilgan orqa eshikning bir qismi sinovlar tomonidan ishlatilmagan siqilgan sinov fayllariga kirdi. Retrospektiv jihatdan, bu ba'zi (shovqinli) signallarni keltirib chiqarishi mumkin, ammo barcha sinov fayllari haqiqiy dunyodagi haqiqiy sinovlar tomonidan ishlatilishini tekshirish kimga qiziq? Ikkinchidan, kiritilgan orqa eshikning bir qismi makro fayllarda chiqarilgan tarballlarga kirdi va kutilgan tarballlar bilan farqlarni qo'lda tekshirish qiyin. Avtomatlashtirish ham murakkab, chunki yig'ilishning o'zidan kutilgan natijani (automake/autoconf qanday ishlashini biladigan har bir kishi uchun) haqiqiy tarball kutilgan natijalarga mos kelishini tahlil qilish uchun modellashtirish qiyin. Ba'zilar buni qo'yishdi as “Git daraxtidan mos kelmaydigan tarballlar bu xususiyat, xato emas”Ikkilik tarballlarning manba kodidan kelib chiqishi hali hal qilinmagan muammodir.
Foydalanuvchi obro'si? Xo'sh, JiaTan75 GitHub akkaunti o'tmishda noto'g'ri ishlar qilmagan. commits. Faqat dalillar to'plangandan keyingina to'xtatildi, ammo 29 martgacha oddiy foydalanuvchi odatiy ish bilan shug'ullanardi. Xo'sh, unchalik oddiy emas. Keyinroq commits (bu, bu, buva bu ekspluatatsiya kodini sozlagan) orqa eshik tomonidan kutilgan stek tartibidagi farqlar tufayli ba'zi konfiguratsiyalardagi valgrind xatolari va ishdan chiqishlarini tuzatishga harakat qildi. Commit Sharhlar buni aniqlay oladi, ammo ikkilik test faylidagi o'zgarishlarni yoki C manba kodidagi GCC atributlaridagi o'zgarishning haqiqiy sababini tahlil qilishga kimning sabr-toqati bor?
SSH paytida signallarni yoqish kerakmi? login 300 ms o'rniga 800 ms oladimi? Ehtimol, faqat o'ta ehtiyotkor odamlar bunga e'tibor berishadi. Sitseron aytgan edi, "Shushqoqlik yoshlikka, ehtiyotkorlik esa qarilikka xosdir."
Ifunc infratuzilmasi 2023-yil iyun oyida “Hans Jansen” va “Jia Tan” tomonidan qo'shilgan. Bu birinchisi commit crc64_fast.c fayliga ifunc qo'llab-quvvatlashini qo'shish (keyinchalik orqa eshikni kiritish uchun ishlatilgan). Sinov fayllariga orqa eshik ikkiliklarini kiritishdan bir necha oy oldin!
Izoh: Muallif va commitBu yerda farq bor, lekin bu normal holat: Lasse Collin loyihani qo'llab-quvvatlovchi va u o'zgarishlarni birlashtirgan. U hatto "Hans Jansen"ga ham minnatdorchilik bildiradi...
Andres Freundning posti va RedHat tomonidan yaratilgan CVE dan oldin hech kim xavotir bildirmagan. Agar buni aniqlaydigan vositalar kaskadini ko'rsangiz, ular ta'sirlangan komponentni hozir aniqlaydilar, sobiq post-fakto.
Ehtimol, eng yaxshi oldini olish Linux distributivlarining tabiati va beqaror, eskirgan versiyalar faqat jadal jarayondan so'ng barqaror distributivlarga o'tishi bilan bog'liq edi.
XZ bBackdoor hujumidan olingan saboqlar
Biz buni aniqlash qanchalik qiyinligini ta'kidladik maqsadli Orqa eshiklar. Orqa eshiklar ichki tahdid deb hisoblanishi kerak, chunki ular ichki xodimlar tomonidan yoki buzilgan ichki hisoblar orqali o'rnatiladi. Va bu odamlarga asosan ishonishadi. Orqa eshik tarqatilgan artefaktga joylashtirilganda, uni aniqlash qiyinlashadi.
Kevin Beaumont kabi ba'zi mualliflar ishora qildi tizim, bu uchinchi tomon xizmatlarining katta hujum yuzasini orqa eshikka ochadi. Yomon aktyor bu yerda aynan shu narsani suiiste'mol qildi. Systemd juda ko'p ko'z qorachig'iga ega, ammo XZ zanjirning yuqori qismida noaniq kutubxona. "Yuqori oqim ifloslanganida, hamma quyi oqimdagi zaharlangan suvni ichadi".
Tizimda bog'liq bo'lmagan o'zgartirish so'rovi siqishni kutubxonalarini dinamik ravishda yuklash, orqa eshikni olib tashlaydigan, allaqachon tizimga birlashtirilgan, ammo hali yetkazib berilmagan. libsystemd tomonidan kiritilgan qo'shimcha bog'liqliklar zaifliklarning manbai bo'lishi mumkin., va kecha ushbu so'rov ochildi.
A izoh "xz: Muammoni hal qilish uchun ifuncni o'chirib qo'ying" da commit agar biz bunday faoliyatning oldini olishni istasak (ta'kid meniki), diqqatni qayerga qaratish kerakligi haqida aniq tushuncha berdi:
"Jamiyat sifatida biz o'rganishimiz kerak bo'lgan saboq ko'proq xavfsizlikni ta'minlashdir" software supply chain security yaxlit tarzda, faqat manba kodidan tashqari, qurilish tizimlarini audit qilish. Masalan, SolarWinds buzg'unchiligi, bu yerda hujumchilar SolarWinds yopiq manbali monitoring dasturini taklif qilish uchun dasturiy ta'minot yangilanishlarini o'zgartirgan.
FAQ
XZ orqa eshigi bugungi kunda ham xavf tug'diradimi?
Ko'pincha o'z ichiga olgan, ammo butunlay yo'q bo'lib ketmagan. 2025-yil avgust oyida tadqiqotchilar Debian tomonidan faol bo'lmagan tarixiy artefaktlar sifatida ko'rib chiqilgan bir nechta Debian Docker Hub tasvirlarida orqa eshik hali ham mavjudligini aniqladilar. Jamoalar 2024-yilgi yamoq eshikni to'liq yopgan deb taxmin qilish o'rniga, eskirgan, yamoqlanmagan asosiy tasvirlar asosida yaratmayotganliklarini tekshirishlari kerak.





