Linuxi jaoks mõeldud rootkit prototüüp, mis kasutab io_uringi süsteemikutsumise analüsaatorite vältimiseks.

ARMO teadlased demonstreerisid, et on võimalik luua rootkit'e, mis ei kasuta spetsiifilisi süsteemi kutsungite, näiteks failide lugemise/kirjutamise ning käskude vastuvõtmise välisest serverist, täitmiseks. Selle asemel on soovitatud kasutada io_uring asünkroonse sisendi/väljundi liidest, mida toetatakse alates Linuxi tuumast 5.1.

Meetodi olemus seisneb selles, et failidele juurdepääsu ja võrgutegevuste (read/write, recv/send/connect/bind/listen) jaoks ei pea kasutama eraldi süsteemi kutsunge, vaid saab kasutada üldisi süsteemi kutsunge io_uring (io_uring_enter, io_uring_setup, io_uring_register jne), mida tüüpilised tööriistad kahjuliku tegevuse tuvastamiseks ei analüüsi. Io_uringi liides toetab umbes 60 erinevat operatsiooni. Töös on võimalus, mis võimaldab käivitada uusi protsesse io_uring'i kaudu.

Meetodi demonstreerimiseks on valmistatud prototüüp rootkit'ist Curing, mis täidab selliseid tegevusi nagu käskude vastuvõtmine välisest serverilt ja failide edastamine/muutmine. Demonstreerimisel kasutati TCP-porti 8888 välise hosti jaoks päringu saatmist ning faili „/etc/shadow” sisu saatmist. Eeldatakse, et pärast süsteemi edukat kompromiteerimist ja root-õiguste saamist paigaldab sissetungija rootkit'i oma kohaloleku kindlustamiseks häkitud süsteemis.

Teostatud eksperimendis jäi Curing rootkit'i tegevus märkamatuks Falco ja Tetragoni jälgimisvahendite poolt, mida kasutatakse turvaskooriga anomaalia tuvastamiseks hostides ja konteinerites (toetatakse Kubernetesel põhineva infrastruktuuri integreerimist). Need tööriistad kasutavad süsteemi kutsungite pealtkuulamist selliste sündmuste analüüsimiseks nagu protsesside käivitamine, võrguaktiivsus ja failide töötlemine, kuid ei arvestanud io_uring'i alamkäsitsemise kasutamise võimalust sarnaste operatsioonide jaoks. Suur osa Linuxile kergelt kergesti kergelt avastamis- ja reageerimissüsteemidest turvaintsidentide puhul põhineb samuti süsteemi kutsungite pealtkuulamisel.

Kuna vältida võrgutegevuse ja failitegevuse jälgimise vahendite ringkäiku, on soovitatav süsteemikõnede interceptimise asemel kasutada KRSI (Kernel Runtime Security Instrumentation) mehhanismi, mis ilmus Linuxi jõudis 5.7 tuuma ja võimaldab BPF-programme kinnitada mis tahes LSM-konksudele. Näiteks võimaldab KRSI LSM-konksude tasemel jälgida failitehingute, võrguühenduste ja protsesside käivitamist, sõltumata sellest, kas need tehingud on algatatud läbi spetsiifiliste süsteemikõnede või io_uring'i kaudu.

Varem oli io_uring alamvõrk kriitika objektiks regulaarsete tõsiste haavatavuste tõttu. Vastuseks kasutajate soovidele, kes soovisid saada lihtsat tööriista io_uring'i väljalülitamiseks ilma tuuma ümber ehitamiseta, lisati Linuxi tuumasse versioonis 6.6 sysctl io_uring_disabled. Google on vaikimisi lülitanud io_uring'i välja ChromeOS-is, Androidis ja oma serverites, selgitades, et io_uring'i turvaprobleemide kehv olukord kaalub üles io_uring'i kasutamise eelised jõudluse suurendamiseks.

Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster