Linux yadrosining tty quyi tizimidagi zaiflikdan foydalanish texnikasi oshkor qilindi

Google Project Zero jamoasi tadqiqotchilari Linux yadrosining tty quyi tizimidan TIOCSPGRP ioctl ishlov beruvchisini amalga oshirishda zaiflikdan (CVE-2020-29661) foydalanish usulini nashr etdilar, shuningdek, bunday blokirovkalarni bloklashi mumkin bo'lgan himoya mexanizmlarini batafsil ko'rib chiqdilar. zaifliklar.

Muammoni keltirib chiqaradigan xato Linux yadrosida o'tgan yilning 3 dekabrida tuzatilgan. Muammo 5.9.13 versiyasigacha bo'lgan yadrolarda paydo bo'ladi, lekin ko'pchilik tarqatishlar o'tgan yili taklif qilingan yadro paketlarini yangilashda muammoni hal qildi (Debian, RHEL, SUSE, Ubuntu, Fedora, Arch). Shunga o'xshash zaiflik (CVE-2020-29660) bir vaqtning o'zida TIOCGSID ioctl chaqiruvini amalga oshirishda topilgan, ammo u allaqachon hamma joyda tuzatilgan.

Muammo qulflarni o'rnatishdagi xatolik tufayli yuzaga keladi, bu haydovchilar/tty/tty_jobctrl.c kodida poyga holatiga olib keladi, bu kod foydalanuvchi makonidan ioct manipulyatsiyalari orqali foydalaniladigan bepul shartlarni yaratish uchun foydalanilgan. TIOCSPGRP chaqiruv. Debian 10-da 4.19.0-13-amd64 yadrosi bilan imtiyozlarni oshirish uchun ishlaydigan ekspluatatsiya namoyish etildi.

Shu bilan birga, nashr etilgan maqolada ko'proq ishlaydigan ekspluatatsiya yaratish texnikasiga emas, balki yadroda bunday zaifliklardan himoya qilish uchun qanday vositalar mavjudligiga e'tibor qaratilgan. Xulosa tasalli bermaydi; xotirani yig'ishda segmentatsiyalash va bo'shatilgandan keyin xotiraga kirishni nazorat qilish kabi usullar amalda qo'llanilmaydi, chunki ular ishlashning pasayishiga olib keladi va CFI (Control Flow Integrity) asosidagi himoya. hujumning keyingi bosqichlarida ekspluatatsiyalarni bloklaydi, yaxshilash kerak.

Uzoq muddatda nima o'zgarishini ko'rib chiqayotganda, diqqatga sazovor narsa ilg'or statik analizatorlardan foydalanish yoki tekshirish uchun boy izohli Rust va C dialektlari (masalan, Checked C) kabi xotira uchun xavfsiz tillardan foydalanishdir. Qurilish bosqichidagi holat. qulflar, ob'ektlar va ko'rsatkichlar. Himoya usullari, shuningdek, panic_on_oops rejimini faollashtirish, yadro tuzilmalarini faqat o'qish rejimiga o'tkazish va seccomp kabi mexanizmlar yordamida tizim qo'ng'iroqlariga kirishni cheklashni o'z ichiga oladi.

Manba: opennet.ru

a Izoh qo'shish