Linux nüvəsinin tty alt sistemində zəiflikdən istifadə üsulu açıqlanıb.

Google Project Zero komandasının tədqiqatçıları Linux nüvəsinin tty altsistemindən TIOCSPGRP ioctl işləyicisinin tətbiqi zamanı zəiflikdən (CVE-2020-29661) istifadə etmək üçün metod dərc edib, həmçinin bu cür blokadaya səbəb ola biləcək mühafizə mexanizmlərini ətraflı araşdırıblar. zəifliklər.

Problemə səbəb olan səhv ötən il dekabrın 3-də Linux nüvəsində düzəldilib. Problem 5.9.13 versiyasına qədər olan ləpələrdə görünür, lakin əksər paylanmalar keçən il təklif olunan kernel paketlərinin (Debian, RHEL, SUSE, Ubuntu, Fedora, Arch) yeniləmələrində problemi həll edib. Oxşar boşluq (CVE-2020-29660) eyni vaxtda TIOCGSID ioctl çağırışının həyata keçirilməsində aşkar edilib, lakin o, artıq hər yerdə aradan qaldırılıb.

Problem kilidlərin qurulması zamanı xətadan qaynaqlanır ki, bu da drivers/tty/tty_jobctrl.c kodunda yarış vəziyyətinə gətirib çıxarır ki, bu koddan istifadəçi məkanından ioct manipulyasiyaları vasitəsilə istifadə edilən istifadədən sonra istifadə şərtləri yaratmaq üçün istifadə edilir. TIOCSPGRP çağırılır. 10-4.19.0-amd13 nüvəsi ilə Debian 64-da imtiyazların artırılması üçün işləyən istismar nümayiş etdirildi.

Eyni zamanda, dərc olunmuş məqalədə daha çox işləyən istismarın yaradılması texnikasına deyil, bu cür zəifliklərdən qorunmaq üçün nüvədə hansı vasitələrin mövcudluğuna diqqət yetirilir. Nəticə təsəlliverici deyil; yığında yaddaş seqmentasiyası və boşaldıqdan sonra yaddaşa girişə nəzarət kimi üsullar praktikada istifadə edilmir, çünki performansın azalmasına səbəb olur və CFI (Control Flow Integrity) əsaslı qoruma hücumun sonrakı mərhələlərində istismarları bloklayır, təkmilləşdirilməsi lazımdır.

Uzunmüddətli perspektivdə nəyin dəyişəcəyini nəzərdən keçirərkən diqqətəlayiq olanlardan biri qabaqcıl statik analizatorların istifadəsi və ya yoxlamaq üçün zəngin annotasiyalara malik Rust və C dialektləri (məsələn, Yoxlanmış C) kimi yaddaş üçün təhlükəsiz dillərin istifadəsidir. Quraşdırma mərhələsində vəziyyət Kilidlər, obyektlər və göstəricilər. Qoruma üsullarına həmçinin panic_on_oops rejiminin aktivləşdirilməsi, nüvə strukturlarının yalnız oxumaq üçün rejimə keçirilməsi və seccomp kimi mexanizmlərdən istifadə edərək sistem zənglərinə girişin məhdudlaşdırılması daxildir.

Mənbə: opennet.ru

Добавить комментарий