Rootkit — attackerga tizimda yuqori privilege va yashirin uzoq muddatli accessni saqlashga yordam beradigan zararli komponentlar yoki usullar to‘plami. Rootkit process, file, network connection, user, driver yoki boshqa zararli faoliyatni security vositalaridan yashirishi mumkin.
“Root” yuqori huquqni, “kit” esa vositalar to‘plamini anglatadi. Rootkit faqat bitta fayl bo‘lishi shart emas.
Maqsad
Rootkitning asosiy vazifalari:
- yashirin persistence;
- privileged access;
- malware’ni himoyalash;
- system view’ni soxtalashtirish;
- security tool’ni chetlab o‘tish;
- command execution;
- keyingi payloadni yuklash.
Rootkit ko‘pincha boshqa malware bilan birga ishlaydi.
User-mode rootkit
User space’da library, process yoki application API’larini o‘zgartiradi.
Masalan:
- process listing;
- file listing;
- network tool;
- authentication library.
System utility zararli processni ko‘rmasligi mumkin, chunki u olgan natija filter qilinadi.
Kernelga qaraganda o‘rnatish osonroq, ammo aniqlash ham nisbatan oson bo‘lishi mumkin.
Kernel-mode rootkit
Kernel driver yoki module sifatida ishlaydi.
U:
darajasida nazorat o‘rnatishi mumkin.
Kernel privilege sabab katta imkoniyatga ega.
Xato yoki mos kelmaslik system crashiga olib kelishi mumkin.
Bootkit
Boot jarayoniga joylashadi.
U:
- boot sector;
- bootloader;
- early startup component
ni o‘zgartirishi mumkin.
Operatsion tizim ishga tushishidan oldin yuklangani sabab security vositalaridan oldin nazorat oladi.
Secure Boot va measured boot bunday o‘zgarishlarni aniqlashga yordam beradi.
Firmware rootkit
Qurilma firmware’iga joylashadi.
Misollar:
Disk formatlangandan keyin ham qolishi mumkin.
Aniqlash va tiklash uchun vendor firmware, hardware attestation yoki qurilma almashtirish talab qilinishi ehtimoli bor.
Hypervisor rootkit
Virtualization qatlamida yoki undan pastda ishlashga urinadi.
Guest operatsion tizim o‘zidan yuqoridagi nazorat qatlamini ko‘rmasligi mumkin.
Bu murakkab va kam uchraydigan, ammo kuchli nazorat modelidir.
System call hooking
Rootkit system call yoki kernel function yo‘lini o‘zgartiradi.
Masalan, process ro‘yxati so‘ralganda zararli PID chiqarib tashlanadi.
Hook:
orqali bajarilishi mumkin.
Direct Kernel Object Manipulation
Kernel obyektlari bevosita o‘zgartiriladi.
Process normal ro‘yxatdan uzib qo‘yilishi, ammo CPU’da ishlashda davom etishi mumkin.
Oddiy API processni ko‘rmaydi.
Memory forensic boshqa strukturani solishtirib yashirin obyektni topishi mumkin.
File hiding
Rootkit file listing va file open operationlarini filter qiladi.
Zararli fayl ma’lum nom, path yoki atribut bo‘yicha yashiriladi.
Offline disk tahlili operatsion tizim ichidagi soxtalashtirilgan API’ga tayanmaydi.
Process hiding
Task manager yoki system utility zararli processni ko‘rsatmaydi.
Biroq:
kabi boshqa manbalar nomuvofiqlikni ko‘rsatishi mumkin.
Cross-view detection turli manbalarni solishtiradi.
Network hiding
Rootkit network connection, port yoki packetni yashiradi.
U firewall va monitoring hooklarini o‘zgartirishi mumkin.
Tashqi network sensor host ichidagi yashirishdan mustaqil trafficni ko‘rishi mumkin.
Privilege
Kernel yoki firmware rootkit o‘rnatish uchun attacker ko‘pincha oldindan yuqori privilege olgan bo‘ladi.
Manbalar:
- exploit;
- stolen administrator credential;
- vulnerable driver;
- signed zararli driver;
- physical access;
- supply chain.
Rootkit boshlang‘ich kirish usuli emas, accessni chuqurlashtiruvchi komponent bo‘lishi mumkin.
Persistence
Rootkit:
orqali qayta yuklanadi.
Persistence qanchalik past qatlamda bo‘lsa oddiy OS reinstall bilan tozalash shunchalik qiyin.
Signed driver abuse
Attacker qonuniy, ammo zaif signed driverdan kernel memoryga access olish uchun foydalanishi mumkin.
Bu bring your own vulnerable driverga o‘xshash hujum.
Driver allowlist, revocation va platforma security policy muhim.
Aniqlash
Rootkit aniqlash usullari:
- integrity checking;
- secure boot status;
- memory forensic;
- offline scan;
- cross-view comparison;
- kernel callback audit;
- driver inventory;
- network monitoring;
- firmware attestation.
Rootkit tizim ichidagi natijalarni soxtalashtirishi mumkin, shuning uchun mustaqil manba kerak.
Integrity checking
Muhim system file, kernel module va boot componentlar hash yoki digital signature bilan tekshiriladi.
Baseline ishonchli va o‘zgarmas storage’da saqlanadi.
Qonuniy update ham hashni o‘zgartiradi, shu sababli version va publisher tekshiriladi.
Memory forensic
RAM dump offline vosita bilan tahlil qilinadi.
Tekshiriladi:
Memory olish jarayonining o‘zi rootkit tomonidan buzilishi mumkin, hardware-assisted acquisition kuchliroq bo‘lishi mumkin.
Secure Boot
Boot componentlar ishonchli signature bilan tekshiriladi.
Secure Boot yoqilgan bo‘lsa unsigned yoki revoked boot code yuklanishi cheklanadi.
Bu barcha rootkitni to‘liq to‘xtatmaydi, ayniqsa trusted component zaif bo‘lsa.
Tiklash
Kernel rootkit gumon qilingan tizimga to‘liq ishonib bo‘lmaydi.
Ishonchli tiklash:
- tarmoqdan ajratish;
- forensic evidence;
- clean media’dan boot;
- diskni qayta tayyorlash;
- OSni ishonchli image’dan o‘rnatish;
- firmware tekshirish;
- credential rotation;
- boshqa hostlarni qidirish.
Faqat aniqlangan faylni o‘chirish yetarli emas.
Trusted baseline
Rootkitni aniqlash uchun systemning ishonchli holati bilan taqqoslash kerak.
ni saqlaydi.
Baseline rootkit o‘rnatilgandan keyin yaratilgan bo‘lsa taqqoslash foydasiz.
Hardware attestation
Trusted hardware boot o‘lchovlarini tashqi verifierga yuborishi mumkin.
Verifier kutilgan qiymatlar bilan solishtirib qurilma ishonchli software stack bilan yuklanganini baholaydi.
Attestation runtime ichidagi barcha hujumni aniqlamaydi, ammo boot va firmware darajasidagi nazoratni kuchaytiradi.
Bog‘liq tushunchalar
Kernel malware, Bootkit, Firmware rootkit, Persistence, Privilege escalation, System call hooking, Memory forensics, Secure Boot, Integrity checking, Malware