Prototip i një rootkit për Linux, që përdor io_uring për të anashkaluar analizuesit e thirrjeve të sistemit

Kërkuesit nga kompania ARMO demonstruan mundësinë e krijimit të rootkit-ëve që nuk përdorin thirrje specifike sistemore për të kryer operacione të zakonshme, si leximi/shkrimi i skedareve dhe pranimi i komandave nga një server i jashtëm. Në vend të thirrjeve sistemore për kryerjen e operacioneve rrjetë dhe skedare, u propozohet përdorimi i ndërfaqes asinkrone të hyrjes/ daljeve io_uring, e cila mbështetet që nga bërthama Linux 5.1.

Thelbi i metodës është që në vend të thirrjeve të veçanta sistemore për qasje në skedare dhe kryerjen e operacioneve rrjete (lexo/shkruaj, pranosh/dërgo/lidhu/ndahet/listo), mund të përdoren thirrje të përbashkëta sistemore io_uring (io_uring_enter, io_uring_setup, io_uring_register etj.), të cilat nuk analizohen nga mjetet standarde për identifikimin e aktivitetit të dëmshëm. Ndërfaqja io_uring mbështet rreth 60 operacione të ndryshme. Po zhvillohet një mundësi që lejon nisjen e proceseve të reja përmes io_uring.

PĂ«r tĂ« demonstruar punĂ«n e metodĂ«s, Ă«shtĂ« pĂ«rgatitur njĂ« prototip i rootkit-it Curing, i cili kryen veprime tĂ« tilla si pranimi i komandave nga njĂ« tĂ« jashtĂ«m serverĂ« dhe dĂ«rgimi/modifikimi i skedareve. NĂ« demonstrim u pĂ«rdor dĂ«rgimi i njĂ« kĂ«rkese nĂ« portin TCP 8888 tĂ« njĂ« host-i tĂ« jashtĂ«m dhe dĂ«rgimi i pĂ«rmbajtjes sĂ« skedarit “/etc/shadow”. NĂ«nkuptohet se pas komprometimit tĂ« suksesshĂ«m tĂ« sistemit dhe marrjes sĂ« tĂ« drejtave root, sulmuesi instalon rootkit-in pĂ«r tĂ« konsoliduar praninĂ« e tij nĂ« sistemin e komprometuar.

Në eksperimentin e kryer, aktiviteti i rootkit-it Curing nuk u vërejt nga mjetet e monitorimit Falco dhe Tetragon, të cilat përdoren për të identifikuar anomalitë që lidhen me sigurinë në host-e dhe kontejnerë (mbështetet integrimi me infrastrukturën e bazuar në Kubernetes). Mjetet e përmendura përdorin kapjen e thirrjeve sistemore për të analizuar ngjarje të tilla si nisja e proceseve, aktivizmi rrjetë dhe puna me skedarët, por nuk marrin parasysh mundësinë e përdorimi të nën-sistemit io_uring për operacione të tilla. Pjesa më e madhe e sistemeve komerciale për zbulimin dhe reagimin ndaj incidenteve të sigurisë për Linux gjithashtu bazohet në kapjen e thirrjeve sistemore.

Për të shmangur anashkalimin e instrumenteve të ndjekjes së aktivitetit rrjetor dhe të skedarëve, rekomandohet përdorimi i mekanizmit KRSI (Kernel Runtime Security Instrumentation), i cili u shfaq në kernelin Linux 5.7 dhe lejon lidhjen e programeve BPF me çdo LSM-hook. Për shembull, KRSI në nivelin e LSM-hook-ëve ofron mundësinë për të ndjekur operacionet me skedarët, qasjen në rrjet dhe nisjen e proceseve, pavarësisht nëse këto operacione inicion janë përmes thirrjeve sistemike specifike ose përmes io_uring.

Më parë, nën-sistemi io_uring ishte objekt i kritikave për shkak të dobësive serioze që shfaqeshin vazhdimisht. Në përgjigje të dëshirave të përdoruesve për një mjet të thjeshtë për të çaktivizuar io_uring pa ribërjen e kernelit, në kernelin Linux 6.6 u shtua sysctl io_uring_disabled. Kompania Google e çaktivizoi si parazgjedhje io_uring në ChromeOS, Android dhe në produktet e saj. sistemet, duke shpjeguar se situata e pafavorshme me sigurinë në io_uring e tejkalon përfitimet e përdorimit të io_uring për përmirësimin e performancës.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster