Linux Rootkit Tespiti: Araçlar ve Teknikler
10 dakikalık okuma - 16 Mayıs 2026

Sunucularınızda chkrootkit, rkhunter, Auditd, AIDE ve davranışsal izleme kullanarak Linux rootkit'leri nasıl tespit edilir ve önlenir.
Linux Rootkit Algılama: Sunucu Güvenliği için Araçlar ve Teknikler
Rootkit'ler, saldırganlara Linux sistemlerine kalıcı ve gizli erişim sağlar. Çekirdek işlemlerini manipüle eder, dosya ve işlemleri gizler ve standart güvenlik araçlarını atlatırlar. Bazıları yıllarca tespit edilmeden kalmıştır. Tek bir araç her şeyi yakalayamadığı için, bunları tespit etmek katmanlı bir yaklaşım gerektirir.
Bu yazıda, başlıca Linux rootkit türleri, bunların nasıl taranacağı ve temel tarayıcıların gözden kaçırdıklarını yakalayan gelişmiş izleme teknikleri ele alınmaktadır.
Linux Rootkit Türleri
Rootkitler farklı ayrıcalık düzeylerinde çalışır ve ne kadar derine yerleşirlerse, bulunmaları o kadar zorlaşır.
Kullanıcı modu rootkitleri uygulama düzeyinde (Ring 3) çalışır. LD_PRELOAD kullanarak, readdir veya fopengibi standart C kütüphane işlevlerini engelleyen kötü amaçlı kütüphaneleri enjekte ederler ve dosyaları ve işlemleri kullanıcı alanı araçlarından gizlerler.
Çekirdek modu rootkitleri, Yüklenebilir Çekirdek Modülleri (LKM'ler) olarak yüklenerek Ring 0'da çalışır. Sistem çağrılarını ele geçirir, çekirdek belleğini manipüle eder ve kendi varlıklarını gizler. Belirli çekirdek sürümlerine bağlı oldukları için, yanlış yapılandırılmış bir rootkit çekirdek paniğine neden olabilir ve bu da ironik bir şekilde rootkit'i ortaya çıkarır.
eBPF tabanlı rootkitler, geleneksel bir modül yüklemeden çekirdek alanında çalışmak için Genişletilmiş Berkeley Paket Filtresi alt sistemini kullanır. Bunlar, sistem çağrısı kancalarına, izleme noktalarına veya LSM olaylarına bağlanır. Standart LKM tarayıcıları bunları algılayamaz. Boopkit, bu yaklaşımı kullanarak gizli bir C2 kanalı oluşturan, iyi bilinen bir kavram kanıtıdır.
io_uring tabanlı rootkitler en yeni varyanttır. Bunlar, io_uring asenkron I/O arayüzünü kullanarak işlemler toplu olarak gerçekleştirir ve gözlemlenebilir sistem çağrısı olaylarının sayısını azaltır. Deneysel bir rootkit olan RingReaper, bunun read, writeve connect gibi çağrıları sessizce değiştirebileceğini göstermiştir.
| Rootkit Türü | Ayrıcalık Seviyesi | Kanca Yöntemi | Algılama Zorluğu |
|---|---|---|---|
| Kullanıcı Modu | Halka 3 (Kullanıcı) | LD_PRELOAD, kütüphane ele geçirme | Orta |
| Çekirdek modu | Halka 0 (Çekirdek) | Syscall tablosu, LKM, satır içi kancalama | Yüksek |
| eBPF tabanlı | Halka 0 (Çekirdek) | eBPF programı eklenmesi | Çok yüksek |
| io_uring tabanlı | Kullanıcı/Çekirdek | Asenkron I/O toplu işleme | Çok yüksek |
chkrootkit ve rkhunter ile tarama
Linux sunucularında rootkit algılamasının temelini iki araç oluşturur: hızlı taramalar için chkrootkit ve daha derinlemesine kontroller için rkhunter.
chkrootkit
chkrootkit , kritik sistem ikili dosyalarını (ls, ps, netstat, sshd, ifconfig) kurcalanma belirtileri açısından kontrol eden bir kabuk betiğidir. Ayrıca, promiscuous ağ arayüzlerini ve silinmiş günlükleri de algılar. 0.59 sürümünden (Ocak 2026) itibaren, Linux BPFDoor, Syslogk ve XZ Backdoor gibi yeni tehditler de dahil olmak üzere 75'ten fazla rootkit, solucan ve LKM'yi tanımlayabilir.
Şüpheli bir etkinlikten sonra çalıştırın. ifpromisc ve silinmiş lastlog veya wtmp dosyalarla ilgili uyarıları dikkate alın.
rkhunter
rkhunter daha da öteye gider. Sistem ikili dosyalarının SHA-1 hash değerlerini bilinen iyi değerlerle karşılaştırır, dosya izinlerini ve gizli dosyaları izler, başlangıç yapılandırmalarını kontrol eder ve çekirdek ile ağ analizi gerçekleştirir.
Başlangıçtan itibaren doğru şekilde kurun:
# 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
Otomatik günlük taramalar için CRON_DAILY_RUN="true" içinde /etc/rkhunter.conf ve --skip-keypress ve --report-warnings-only temiz çıktı için kullanın. Günlükleri /var/log/rkhunter.log ve onaylanmış yanlış pozitifleri beyaz listeye ekleyin.
LKM rootkitlerini tespit etme
LKM rootkit'leri, çekirdek uzantıları olarak çalışarak sistem çağrılarını ele geçirdikleri ve işlemleri çekirdek düzeyinde gizledikleri için özellikle tehlikelidir. lsmod görüntüleyemez, ancak bunları tespit etmenin yolları vardır.
Çıktıları lsmod çıktısını /sys/module/ listeleriyle karşılaştırın. Şüpheli çekirdek mesajları için sistem günlüklerini kontrol edin:
# 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
'den bile gizlenen rootkitler lsmod ve /proc/modules (Diamorphine gibi) bile /sys/module/diamorphine/coresize veya syslog uyarılarını inceleyerek bulunabilir.
Gelişmiş Algılama: Davranış İzleme ve Bütünlük Kontrolleri
Statik tarayıcıların temel bir zayıflığı vardır. 2026 yılında yapılan bir deneyde, rootkit ikili dosyasına işlevselliği etkilemeyen tek bir null baytı eklemek, algılama oranlarını önemli ölçüde düşürdü. Diamorphine'in algılama oranı, sadece sembol tabloları kaldırılmak suretiyle 33/66'dan 8/64'e düştü. Yalnızca imzaya güvenmek yeterli değildir.
Davranış analizi
"Bu dosya bilinen bir rootkit ile eşleşiyor mu?" diye sormak yerine, davranış analizi "bu işlem olağandışı bir şey mi yapıyor?" diye sorar. Şu sinyalleri izleyin:
- Auditd'yi kullanarak izleyin
init_module()vefinit_module()sistem çağrılarını izleyin; bunlar, yöntemden bağımsız olarak çekirdek modüllerini yükler. - 31'in üzerindeki sinyallere sahip
kill()31'in üzerindeki sinyalleri izleyin; bu, gizli rootkit iletişimini gösterebilir. - Yetkisiz
/proc/sys/kernel/taintedyetkisiz çekirdek modülü etkinliğini kontrol edin. - Beklenmedik
.sodosyalar/tmpveya/dev/shm. - eBPF faaliyetlerini, özellikle
bpf_probe_write_userçağrılar. BCC gibi araçlar,sys_enter_io_uring_enter.
Özellikle eBPF ve io_uring rootkitleri için, Tetragon, Falco ve Tracee gibi çalışma zamanı izleme araçları çekirdek içi etkinliği gerçek zamanlı olarak gözlemleyebilir.
Dosya bütünlüğü izleme
AIDE (Advanced Intrusion Detection Environment), güvenilir sistem dosyalarının bir temelini oluşturur ve değişiklikleri kontrol eder. aide --init, ardından aide --check . /bin/login ve /usr/bin/sshd.
Paket düzeyinde doğrulama için debsums (Debian/Ubuntu) veya rpm -Va (RHEL/CentOS) komutları sistem dosya bütünlüğünü doğrulayabilir. En güvenilir sonuçlar için, güvenilir bir kurtarma ortamından önyükleme yapın ve dosya sistemini çevrimdışı olarak inceleyin; çünkü rootkit'ler çalışan bir çekirdeğin raporlamasını tahrif edebilir.
Ayrıca kalıcılık mekanizmalarını da izleyin. Rootkit'ler genellikle /etc/ld.so.preload dosyasını değiştirerek paylaşılan nesneleri enjekte eder veya .bashrc ve .profiledosyalarını değiştirir. Bu dosyalara yapılan meşru değişiklikler nadirdir, bu nedenle buradaki uyarılar yüksek bir sinyal-gürültü oranına sahiptir.
Auditd ile otomatik izleme
Şüpheli çekirdek etkinliklerinin gerçek zamanlı tespiti için bu kuralları /etc/audit/rules.d/rootkit.rules şüpheli çekirdek faaliyetlerinin gerçek zamanlı olarak tespit edilmesi için:
# 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
Bunları rkhunter'ın otomatik güncellemeleriyle birleştirin. UPDATE_MIRRORS=1 ve MIRRORS_MODE=0 yapılandırmada ayarlayın ve rkhunter --propupd komutunu çalıştırın.
Sunucunuzu Rootkitlere Karşı Güçlendirme
Tespit önemlidir, ancak önleme daha iyidir. Çoğu rootkit'in yüklenmesi için yüksek ayrıcalıklar gerekir, bu nedenle saldırı yüzeyini azaltmak büyük bir fark yaratır.
Çekirdeği ve paketleri güncel tutun. Saldırganlar, yamalanmamış güvenlik açıklarını istismar ederek ayrıcalıkları yükseltir ve LKM veya eBPF tabanlı rootkit'leri dağıtır. Yamaladıktan sonra, algılama temel değerlerinizi rkhunter --propupd.
En az ayrıcalık uygulayın. Kullanıcılara veya işlemlere ihtiyaçlarından daha fazla erişim izni vermeyin. Bir işlem tehlikeye girse bile yetkisiz eylemleri engelleyen zorunlu erişim denetimleri için SELinux veya AppArmor kullanın.
Önyükleme sonrası çekirdek modülü yüklemeyi devre dışı bırakın. Özel sunucularda, sistem başladıktan sonra modül yüklemeyi kilitleyerek LKM rootkit'lerini tamamen önleyebilirsiniz. Bu, paylaşımlı barındırmada mümkün değildir; bu da özel veya VPS ortamlarının daha güçlü bir güvenlik duruşu sunmasının nedenlerinden biridir.
Ağınızı bölümlere ayırın. Altyapınızın bazı kısımlarını izole etmek, bir makine ele geçirildiğinde yanal hareketi sınırlar.
Düzenli olarak denetim yapın. Lynis gibi araçlar, saldırganlar bunları istismar etmeden önce izin hatalarını ve yanlış yapılandırmaları tespit edebilir.
Sonuç
Rootkitler, göz önünde saklanmak üzere tasarlanmıştır. Belirtiler ortaya çıktığında, sistem kolay bir şekilde kurtarılamayacak kadar zarar görmüş olabilir. Hiçbir tarayıcı her şeyi yakalayamaz ve temel imza tabanlı algılama yöntemlerinden kaçmak kolaydır.
Pratik bir savunma, birden fazla katmanı birleştirir:
- Bilinen tehditler için chkrootkit ve rkhunter ile düzenli taramalar
- Şüpheli çekirdek etkinlikleri için Auditd kuralları ve davranış izleme
- Yetkisiz değişiklikleri yakalamak için AIDE ile dosya bütünlüğü izleme
- eBPF ve io_uring tehditleri için Tetragon veya Falco gibi çalışma zamanı araçları
- Saldırı yüzeyini azaltmak için güçlendirilmiş erişim kontrolleri, yama uygulama ve ağ segmentasyonu
Mümkün olan her şeyi otomatikleştirin, temel değerleri güncel tutun ve güvendiğiniz temiz bir işletim sistemi kurulumuyla başlayın.
FDC Servers, tam kök erişimi ve özelleştirilebilir çekirdek yapılandırmaları ile özel ve VPS barındırma hizmetleri sunar. Güçlendirilmiş bir Linux ortamı oluşturmak için özel sunucu seçeneklerini keşfedin.

Yavaş dağıtımlardan veya bant genişliği sınırlarından bıktınız mı? FDC Sunucuları anında tahsis edilmiş güç, küresel erişim ve her ölçek için oluşturulmuş esnek planlar sunar.
Şimdi yükseltinGüçlü ve ölçülmemiş bir VPS'ye sahip olmak neden önemlidir?
Ölçülmemiş bir VPS, sabit bir bağlantı noktası hızında sabit oranlı bant genişliği sağlar. Ölçülü planlardan farkı nedir, ne zaman işe yarar ve satın almadan önce neleri kontrol etmelisiniz.
7 dakikalık okuma - 9 Mayıs 2025
Linux Bellek Yönetimi: Swap, OOM Killer & Cgroups
12 dakikalık okuma - 31 Mayıs 2026

Sorularınız mı var veya özel bir çözüme mi ihtiyacınız var?
Esnek seçenekler
Küresel erişim
Anında dağıtım
Esnek seçenekler
Küresel erişim
Anında dağıtım