U gjet një dobësi në nënsistemin kernel Linux tty

Hulumtuesit nga ekipi i Google Project Zero publikuan së fundmi përmes një postimi në blog një metodë e re për të shfrytëzuar dobësitë (CVE-2020-29661) në zbatimin e mbajtësit ioctl TIOCSPGRP të Nënsistemi i kernel Linux tty, si dhe mekanizmat e detajuar të mbrojtjes që mund të bllokojnë këto dobësi.

Në postim përmendet se problemi është shkaktuar nga një gabim në cilësimet e kyçjes, duke çuar në një kusht race në kodin e /tty/tty_jobctrl.c, i cili u përdor për të krijuar kushte për të hyrë në kujtesë pas lëshimit (përdorim-pas-free), i shfrytëzuar nga hapësira e përdoruesit përmes manipulimit me ioct- duke thirrur TIOCSPGRP.

Përveç informacionit të publikuar, gjithashtu u krye një demonstrim i shfrytëzimit funksional për përshkallëzimin e privilegjeve në Debian 10 me kernel 4.19.0-13-amd64 dhe që gjithashtu nuk përjashton që mund të ndikojë në shpërndarje të ndryshme, ndër të cilat natyrisht janë ato të bazuara dhe që rrjedhin nga Debian.

Shumë nga teknikat individuale të shfrytëzimit dhe opsionet e zbutjes që po përshkruaj këtu nuk janë të reja. Megjithatë, mendoj se ia vlen t'i shkruash ato së bashku për të treguar se si ndërveprojnë lehtësimet e ndryshme me një shfrytëzim mjaft normal pas pa pagesë.

Pjesët e kodit në këtë postim të blogut që janë të rëndësishme për shfrytëzimin janë marrë nga versioni i mëparshëm 4.19.160, pasi kjo është ajo mbi të cilën bazohet kerneli i synuar Debian; disa copa të tjera kodi janë nga Linux mainline.

Në të njëjtën kohë, në artikullin e publikuar, theksi nuk është aq shumë në teknikën e krijimit të një shfrytëzimi funksional, por në cilat mjete ka në kernel për të mbrojtur veten kundër dobësive të tilla.

Përfundimi është zhgënjyes, siç përmendet se metoda të tilla si segmentimi i kujtesës në grumbull dhe kontrolli i aksesit në memorie pasi të jetë liruar nuk zbatohen në praktikë pasi ato çojnë në degradim të performancës dhe mbrojtje bazuar në CFI (Control Flow Integrity), i cili bllokon shfrytëzimet në të mëvonshme. fazat e një sulmi, kërkon përmirësime.

Një lloj i veçantë i pajisjes terminale janë pseudoterminalet, të cilët përdoren për shembull kur hapni një aplikacion terminal në një mjedis grafik ose lidheni me një makinë të largët nëpërmjet SSH. Ndërsa pajisjet e tjera terminale janë të lidhura me një lloj hardueri, të dy skajet e një pseudo-terminali kontrollohen nga hapësira e përdoruesit, dhe pseudo-terminalet mund të krijohen lirisht nga hapësira e përdoruesit (pa privilegje).

Sa herë që hapet / dev / ptmx (shkurt për "multiplekser pseudo-terminal"), përshkruesi i skedarit që rezulton përfaqëson anën e pajisjes (të referuar në dokumentacion dhe burimet e kernelit si "pseudo-terminali kryesor") i një pajisjeje. pseudo e re terminal.

 Pajisja përkatëse terminale (me të cilën normalisht lidhet një guaskë) krijohet automatikisht nga kerneli nën / dev / pts / .

Kur shikoni se çfarë mund të bëjë një ndryshim në planin afatgjatë, theksi vihet në përdorimin e analizuesve statikë të avancuar ose përdorimin e gjuhëve të sigurta për memorie si dialektet Rust dhe C me shënime të zgjeruara (si C e provuar) për të ndërtuar kontrolle të statusit, bravë, objekte dhe tregues. Metodat e mbrojtjes përmendin gjithashtu aktivizimin e modalitetit panic_on_oops, duke i bërë strukturat e kernelit vetëm për lexim dhe duke kufizuar aksesin në thirrjet e sistemit përmes mekanizmave si seccomp.

Gabimi që shkakton problemin ai u rregullua në kernelin Linux më 3 dhjetor të vitit të kaluar. Problemi manifestohet në kernel para versionit 5.9.13, por shumica e shpërndarjeve e kanë rregulluar problemin në përditësimet e paketës së kernelit që u ofruan vitin e kaluar.

Një dobësi e ngjashme përmendet gjithashtu (CVE-2020-29660) që u gjet njëkohësisht në zbatimin e thirrjes TIOCGSID ioctl, por gjithashtu u hoq kudo.

Më në fund Nëse jeni të interesuar të dini më shumë për këtë, ju mund të kontrolloni detajet Në lidhjen vijuese.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: AB Internet Networks 2008 SL
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.