Buvo atskleista „Linux“ branduolio tty posistemio pažeidžiamumo išnaudojimo technika

„Google Project Zero“ komandos tyrėjai paskelbė pažeidžiamumo (CVE-2020-29661) išnaudojimo metodą įdiegiant TIOCSPGRP ioctl tvarkyklę iš „Linux“ branduolio tty posistemio, taip pat išsamiai išnagrinėjo apsaugos mechanizmus, galinčius blokuoti tokius pažeidimus. pažeidžiamumų.

Problemą sukėlusi klaida buvo ištaisyta „Linux“ branduolyje praėjusių metų gruodžio 3 d. Problema atsiranda branduoliuose iki 5.9.13 versijos, tačiau dauguma platinimų problemą išsprendė pernai pasiūlytuose branduolio paketų atnaujinimuose (Debian, RHEL, SUSE, Ubuntu, Fedora, Arch). Panašus pažeidžiamumas (CVE-2020-29660) tuo pačiu metu buvo rastas diegiant TIOCGSID ioctl iškvietimą, tačiau jis taip pat jau visur ištaisytas.

Problemą sukelia klaida nustatant užraktus, dėl kurių atsiranda lenktynių sąlyga drivers/tty/tty_jobctrl.c kode, kuris buvo naudojamas kuriant naudojimo po laisvo sąlygas, išnaudojamas iš vartotojo erdvės per ioct manipuliacijas. paskambinus TIOCSPGRP. Debian 10 su branduoliu 4.19.0-13-amd64 buvo parodytas veikiantis išnaudojimas privilegijų eskalavimui.

Tuo pat metu publikuotame straipsnyje dėmesys sutelkiamas ne tiek į darbo išnaudojimo kūrimo techniką, kiek į tai, kokie įrankiai egzistuoja branduolyje, apsaugantys nuo tokių pažeidžiamumų. Išvada nėra guodžia; tokie metodai kaip atminties segmentavimas krūvoje ir prieigos prie atminties kontrolė ją atlaisvinus praktiškai nenaudojami, nes dėl jų sumažėja našumas, ir CFI (Control Flow Integrity) pagrįsta apsauga, kuri blokuoja išnaudojimus vėlesnėse atakos stadijose, reikia tobulinti.

Svarstant, kas galėtų turėti įtakos ilgalaikėje perspektyvoje, išskirtinis dalykas yra pažangių statinių analizatorių naudojimas arba atmintį saugančių kalbų, pvz., Rust ir C dialektų su turtingomis anotacijomis (pvz., Checked C) naudojimas. būsena kūrimo fazės metu. Spynos, objektai ir rodyklės. Apsaugos metodai taip pat apima panic_on_oops režimo aktyvavimą, branduolio struktūrų perjungimą į tik skaitymo režimą ir prieigos prie sistemos iškvietimų ribojimą naudojant tokius mechanizmus kaip seccomp.

Šaltinis: opennet.ru

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