Avalikustatakse meetod Linuxi kerneli tty-alamsüsteemi haavatavuse ärakasutamiseks

Google Project Zero meeskonna teadlased avaldasid meetodi haavatavuse (CVE-2020-29661) ärakasutamiseks Linuxi kerneli tty alamsüsteemi TIOCSPGRP ioctl-käitleja juurutamisel ning uurisid üksikasjalikult ka kaitsemehhanisme, mis võiksid selliseid probleeme blokeerida. haavatavused.

Probleemi põhjustanud viga parandati Linuxi tuumas eelmise aasta 3. detsembril. Probleem ilmneb tuumades kuni versioonini 5.9.13, kuid enamik distributsioone on probleemi lahendanud eelmisel aastal pakutud kernelipakettide värskendustes (Debian, RHEL, SUSE, Ubuntu, Fedora, Arch). Sarnane haavatavus (CVE-2020-29660) leiti samaaegselt ka TIOCGSID ioctl-kutse juurutamisel, kuid see on samuti juba kõikjal parandatud.

Probleemi põhjuseks on tõrge lukkude seadistamisel, mis toob kaasa võistlustingimuse drivers/tty/tty_jobctrl.c koodis, mida kasutati kasutajaruumist ioct-manipulatsioonide kaudu ärakasutatud kasutusjärgsete tingimuste loomiseks, kutsudes välja TIOCSPGRP. Demonstreeritud on Debian 10 tuumaga 4.19.0-13-amd64 privileegide eskalatsiooni toimiv ärakasutamine.

Samal ajal ei keskendu avaldatud artikkel mitte niivõrd toimiva exploiti loomise tehnikale, vaid pigem sellele, millised tööriistad tuumas on selliste haavatavuste eest kaitsmiseks. Järeldus ei ole lohutav; selliseid meetodeid nagu mälu segmenteerimine hunnikus ja mälule juurdepääsu kontrollimine pärast selle vabastamist praktikas ei kasutata, kuna need põhjustavad jõudluse langust, ja CFI-l (Control Flow Integrity) põhinevat kaitset, mis blokeerib ärakasutamise rünnaku hilisemates etappides, vajab täiustamist.

Kui mõelda, mis võiks pikemas perspektiivis midagi muuta, torkab silma täiustatud staatiliste analüsaatorite kasutamine või mälusäästlike keelte kasutamine, nagu Rust ja C dialektid koos rikkalike annotatsioonidega (nt Checked C). olek ehitusfaasis.lukud, objektid ja osutid. Kaitsemeetodid hõlmavad ka režiimi panic_on_oops aktiveerimist, kerneli struktuuride lülitamist kirjutuskaitstud režiimile ja juurdepääsu piiramist süsteemikõnedele selliste mehhanismide abil nagu seccomp.

Allikas: opennet.ru

Lisa kommentaar