Linux Rootkit felderítés: Eszközök és technikák

10 perc olvasás - 2026. május 16.

hero section cover
Tartalomjegyzék
  • Linux rootkit-felismerés: eszközök és technikák a szerverbiztonság érdekében
  • A Linux rootkitek típusai
  • Szkennelés a chkrootkit és az rkhunter segítségével
  • Fejlett észlelés: viselkedésfigyelés és integritásellenőrzés
  • A szerver védelme a rootkitek ellen
  • Következtetés
Megosztás

Hogyan lehet felismerni és megelőzni a Linux rootkiteket a chkrootkit, rkhunter, Auditd, AIDE és viselkedéses megfigyelés segítségével a szervereken.

Linux rootkit-felismerés: eszközök és technikák a szerverbiztonság érdekében

A rootkitek tartós, rejtett hozzáférést biztosítanak a támadóknak a Linux rendszerekhez. Manipulálják a rendszermag működését, elrejtik a fájlokat és folyamatokat, és kijátszák a szokásos biztonsági eszközöket. Néhányuk évekig észrevétlen maradt. Felismerésükhöz többszintű megközelítésre van szükség, mivel egyetlen eszköz sem képes mindent észlelni.

Ez a bejegyzés a Linux rootkitek főbb típusait, azok felderítésének módjait, valamint azokat a fejlett felügyeleti technikákat tárgyalja, amelyekkel a hagyományos szkennerek által kihagyott elemek is felderíthetők.


A Linux rootkitek típusai

A rootkitek különböző jogosultsági szinteken működnek, és minél mélyebben helyezkednek el, annál nehezebb őket megtalálni.

A felhasználói módú rootkitek az alkalmazás szintjén (Ring 3) futnak. A LD_PRELOAD , hogy rosszindulatú könyvtárakat juttassanak be, amelyek elfogják a szabványos C könyvtári függvényeket, mint például a readdir vagy fopen, elrejtve a fájlokat és folyamatokat a felhasználói eszközök elől.

A kernel-módú rootkitek a Ring 0-on futnak, betöltve magukat betölthető kernelmodulokként (LKM-ek). Ezek elfogják a rendszerhívásokat, manipulálják a kernel memóriáját, és elrejtik saját jelenlétüket. Mivel ezek konkrét kernelverziókhoz vannak kötve, egy rosszul konfigurált rootkit kernelpánikot okozhat, ami ironikus módon felfedi a jelenlétét.

Az eBPF-alapú rootkitek az Extended Berkeley Packet Filter alrendszert használják ki, hogy hagyományos modul betöltése nélkül futhassanak a kernel térben. Rácsatlakoznak a rendszerhívás-hookokra, nyomkövetőpontokra vagy LSM-eseményekre. A szabványos LKM-szkennerek nem észlelik őket. A Boopkit egy jól ismert koncepcióbizonyító, amely ezt a megközelítést használva hoz létre egy rejtett C2-csatornát.

Az io_uring-alapú rootkitek a legújabb változatok. Az io_uring aszinkron I/O interfészt használják a műveletek kötegelt feldolgozásához, így kevesebb észlelhető rendszerhívási eseményt generálnak. A RingReaper, egy kísérleti rootkit, bemutatta, hogyan tud ez észrevétlenül felváltani olyan hívásokat, mint a read, writeés connect hívásokat, miközben elkerüli az EDR eszközöket.

Rootkit típus Kiváltsági szint Hooking módszer Észlelési nehézség
Felhasználói mód 3. gyűrű (felhasználói) LD_PRELOAD, könyvtár-eltérítés Közepes
Kernel mód 0. gyűrű (Kernel) Syscall táblázat, LKM, inline hooking Magas
eBPF-alapú 0. gyűrű (kernel) eBPF programcsatolás Nagyon magas
io_uring-alapú Felhasználó/Kernel Aszinkron I/O kötegzés Nagyon magas

Szkennelés a chkrootkit és az rkhunter segítségével

Két eszköz képezi a rootkit-felismerés alapját a Linux-szervereken: a chkrootkit a gyors vizsgálatokhoz, az rkhunter pedig a mélyebb ellenőrzésekhez.

A chkrootkit

chkrootkit egy shell szkript, amely a kritikus rendszerbináris fájlokat (ls, ps, netstat, sshd, ifconfig) manipulációra utaló jelek után. Emellett felismeri a promiszkuus hálózati interfészeket és a törölt naplókat is. A 0.59-es verziótól (2026. január) kezdve több mint 75 rootkitot, férget és LKM-et képes azonosítani, beleértve az újabb fenyegetéseket is, mint például a Linux BPFDoor, a Syslogk és az XZ Backdoor.

Futtassa gyanús tevékenységek után. Figyeljen a ifpromisc és a törölt lastlog vagy wtmp fájlokra vonatkozó riasztásokra.

rkhunter

rkhunter még tovább megy. Összehasonlítja a rendszer bináris fájljainak SHA-1 hash-értékeit az ismert, jó értékekkel, figyeli a fájlhozzáférési jogokat és a rejtett fájlokat, ellenőrzi az indítási konfigurációkat, valamint elvégzi a kernel és a hálózat elemzését.

Állítsa be megfelelően az elejétől kezdve:

# Establish a baseline after a clean install or update
rkhunter --propupd
 
# Update rootkit definitions
rkhunter --update
 
# Run a full scan (use --novl on production servers to reduce I/O)
rkhunter --check --enable all

Az automatikus napi vizsgálatokhoz állítsa be a CRON_DAILY_RUN="true" be /etc/rkhunter.conf és használja --skip-keypress és --report-warnings-only a tiszta kimenethez. Ellenőrizze a naplókat a /var/log/rkhunter.log és vegye fel a megerősített téves riasztásokat a fehérlistára.

LKM rootkitek észlelése

Az LKM rootkitek különösen veszélyesek, mert kernel-kiterjesztéseként működnek, lehallgatják a rendszerhívásokat és elrejtik a folyamatokat a kernel szintjén. A szokásos eszközök, mint például a lsmod nem észleli őket, de vannak módszerek a felismerésükre.

Hasonlítsa össze lsmod kimenetét a /sys/module/ listákkal. Ellenőrizze a rendszer naplóit gyanús kernel üzenetek után:

# Look for out-of-tree module warnings
sudo dmesg | grep "loading out-of-tree module taints kernel"
 
# Check for module verification failures
grep "module verification failed" /var/log/syslog
 
# Run chkrootkit's LKM-specific check
sudo chkrootkit lkm

Még azok a rootkitek is, amelyek elrejtőznek a lsmod és /proc/modules (mint például a Diamorphine), azok is megtalálhatók a /sys/module/diamorphine/coresize vagy a syslog figyelmeztetéseinek áttekintésével.

Fejlett észlelés: viselkedésfigyelés és integritásellenőrzés

A statikus szkennereknek van egy alapvető gyengeségük. Egy 2026-os kísérletben egy null byte hozzáadása egy rootkit bináris fájlhoz – ami nem befolyásolta a funkcionalitást – drámaian csökkentette az észlelési arányt. A Diamorphine észlelései 33/66-ról 8/64-re csökkentek pusztán a szimbólumtáblák eltávolításával. Nem elég kizárólag a szignatúrákra támaszkodni.

Viselkedéselemzés

Ahelyett, hogy azt kérdezné: „ez a fájl egyezik-e egy ismert rootkittel?”, a viselkedéselemzés azt kérdezi: „ez a folyamat valami szokatlant csinál?”. Figyelje ezeket a jeleket:

  • Használja az Auditd-t a figyeléshez init_module() és finit_module() a rendszerhívásokat, amelyek módszertől függetlenül töltenek be kernelmodulokat.
  • Figyelje kill() hívásokat a 31 feletti jelekkel, amelyek rejtett rootkit-kommunikációra utalhatnak.
  • Ellenőrizze /proc/sys/kernel/tainted a jogosulatlan kernelmodul-tevékenységeket.
  • Figyeljen a váratlan .so fájlokat a /tmp vagy /dev/shm.
  • kövesse nyomon az eBPF tevékenységet, különösen bpf_probe_write_user hívásokra. Az olyan eszközök, mint a BCC, nyomon követhetik az io_uring műveleteket olyan nyomkövetési pontokon keresztül, mint sys_enter_io_uring_enter.

Kifejezetten az eBPF és az io_uring rootkitek esetében a Tetragon, a Falco és a Tracee futásidejű felügyeleti eszközök valós időben figyelhetik a kernelbeli tevékenységet.

Fájlintegritás-figyelés

Az AIDE (Advanced Intrusion Detection Environment) létrehoz egy alapvonalat a megbízható rendszerfájlokból, és ellenőrzi a változásokat. Indítsa el a aide --init, majd ütemezze aide --check a cron segítségével. Nyomon követi az ellenőrző összegeket, a jogosultságokat, a tulajdonjogot és az időbélyegeket olyan kritikus bináris fájlokon, mint /bin/login és /usr/bin/sshd.

Csomagszintű ellenőrzéshez debsums (Debian/Ubuntu) vagy rpm -Va (RHEL/CentOS) segítségével ellenőrizhető a rendszerfájlok integritása. A legmegbízhatóbb eredmények érdekében indítson el egy megbízható mentőadathordozót, és vizsgálja meg a fájlrendszert offline módban, mivel a rootkitek meghamisíthatják a futó kernel jelentéseit.

Figyelje a perzisztencia-mechanizmusokat is. A rootkitek gyakran módosítják /etc/ld.so.preload fájlt, hogy megosztott objektumokat juttassanak be, vagy módosítják a .bashrc és .profilefájlokat. Ezeken a fájlokon ritkán történnek jogos módosítások, ezért a riasztások itt magas jel-zaj arányúak.

Automatizált figyelés az Auditd segítségével

Adja hozzá ezeket a szabályokat a /etc/audit/rules.d/rootkit.rules a gyanús kernel-tevékenységek valós idejű észleléséhez:

# Detect unauthorized kernel module loading
-a always,exit -F arch=b64 -S finit_module -S init_module
 
# Catch unusual high-range kill signals
-a always,exit -F arch=b64 -S kill -F a1>=32

Kombinálja ezeket az rkhunter automatikus frissítéseivel. Állítsa be UPDATE_MIRRORS=1 és MIRRORS_MODE=0 a konfigurációban, majd futtassa rkhunter --propupd a jogos rendszerfrissítések után az alapértékek frissítéséhez.

A szerver védelme a rootkitek ellen

A felismerés fontos, de a megelőzés jobb. A legtöbb rootkit telepítéséhez emelt jogosultságokra van szükség, ezért a támadási felület csökkentése valódi különbséget jelent.

Tartsa naprakészen a kernelt és a csomagokat. A támadók a javítatlan sebezhetőségeket használják ki a jogosultságok kiterjesztésére és LKM- vagy eBPF-alapú rootkitek telepítésére. A javítások telepítése után frissítse az észlelési alapértékeket a következővel rkhunter --propupd.

Alkalmazzon minimális jogosultságokat. Ne adjon a felhasználóknak vagy folyamatoknak több hozzáférést, mint amennyire szükségük van. Használja a SELinux-ot vagy az AppArmort a kötelező hozzáférés-vezérléshez, amelyek még akkor is blokkolják a jogosulatlan műveleteket, ha egy folyamat kompromittálódott.

Tiltsa le a kernelmodulok betöltését a rendszerindítás után. Dedikált szervereken teljesen megakadályozhatja az LKM rootkitek működését, ha a rendszerindítás után lezárja a modulok betöltését. Ez megosztott tárhelyen nem lehetséges, ami az egyik oka annak, hogy a dedikált vagy VPS környezetek erősebb biztonsági védelmet nyújtanak.

Szegmentálja a hálózatát. Az infrastruktúra egyes részeinek elszigetelése korlátozza a laterális mozgást, ha egy gép kompromittálódik.

Végezzen rendszeres ellenőrzéseket. Az olyan eszközök, mint a Lynis, azonosíthatják a jogosultsági hibákat és a helytelen konfigurációkat, mielőtt a támadók kihasználnák azokat.

Következtetés

A rootkiteket úgy tervezték, hogy nyíltan rejtőzzenek. Mire a tünetek megjelennek, a rendszer már olyan mértékben sérült lehet, hogy egyszerű helyreállításra nincs esély. Egyetlen szkennert sem képes mindent észlelni, és az alapvető, szignatúra-alapú észlelést könnyű kijátszani.

A gyakorlati védelem több réteget ötvöz:

  • Rendszeres vizsgálatok a chkrootkit és az rkhunter programokkal az ismert fenyegetések ellen
  • Auditd szabályok és viselkedésfigyelés a gyanús kernel-tevékenységek észlelésére
  • Fájlintegritás-figyelés az AIDE segítségével a jogosulatlan változtatások észlelésére
  • Futtatási eszközök, mint a Tetragon vagy a Falco az eBPF és io_uring fenyegetések ellen
  • Megerősített hozzáférés-vezérlés, javítások és hálózati szegmentálás a támadási felület csökkentése érdekében

Automatizálja, amit lehet, tartsa naprakészen az alapértékeket, és induljon egy tiszta, megbízható operációs rendszer telepítéséből.

Az FDC Servers dedikált és VPS tárhelyszolgáltatást kínál teljes root hozzáféréssel és testreszabható kernelkonfigurációkkal. Fedezze fel a dedikált szerver opciókat egy megerősített Linux-környezet felépítéséhez.

background image
A szervere hátráltatja a növekedését?

Elege van a lassú telepítésekből vagy a sávszélességkorlátozásokból? Az FDC Servers azonnali dedikált teljesítményt, globális elérhetőséget és rugalmas, bármilyen léptékhez kialakított terveket kínál.

Frissítés most

Blog

Kiemelt ezen a héten

További cikkek
Miért fontos egy nagy teljesítményű és mérő nélküli VPS

Miért fontos egy nagy teljesítményű és mérő nélküli VPS

A nem mért VPS átalány sávszélességet biztosít egy fix portsebesség mellett. Miben különbözik a mért csomagoktól, mikor éri meg, és mit kell ellenőrizni vásárlás előtt.

7 perc olvasás - 2025. május 9.

Linux memóriakezelés: Cgroups: Swap, OOM Killer és Cgroups

12 perc olvasás - 2026. május 31.

További cikkek
background image

Kérdése van, vagy egyedi megoldásra van szüksége?

icon

Rugalmas lehetőségek

icon

Globális elérés

icon

Azonnali telepítés

icon

Rugalmas lehetőségek

icon

Globális elérés

icon

Azonnali telepítés