Ders 5.35: Çekirdek modülleri ve taint bayrağı
Bir çekirdek modülü çekirdeğin tüm gücüyle çalışır; bu yüzden kötü amaçlı bir modül (çekirdek rootkit'i) dosyaları, süreçleri ve kendini gizleyebilir. Yine de gizlenmek iz bırakır: çekirdek imzasız ya da ağaç dışı bir modülü taint bayraklarına ve günlüğüne kaydeder ve birçok rootkit kendini lsmod'dan kaldırır ama /sys/module'den kaldırmaz. Laboratuvarda Northwind'in müşteri veritabanı sunucusu kirlenmiş (tainted) bir çekirdek gösteriyor. Bayrakları çözüyor, lsmod'un göstermediği bir modül buluyor, onu gerçek ve imzalı bir modülle karşılaştırıyor, açılışta nasıl yüklendiğini buluyor ve önemli kararı veriyorsun: bu çekirdeğe güvenilemez. Ardından imajı bir sonrakinin işi zorlaşacak şekilde sağlamlaştırıyorsun.
18 dk
Bu derste öğreneceklerin
- Çekirdek modüllerini ve kötü amaçlı birinin neden bu kadar tehlikeli olduğunu açıklamak
- /proc/sys/kernel/tainted'i okumak ve çözmek
- lsmod'dan gizlenmiş bir modülü /sys/module üzerinden bulmak
- Modül imzalarını modinfo ile denetlemek
- Gereksiz modülleri modprobe.d ile engellemek
Temel terimler
- Çekirdek modülü
- Çalışan çekirdeğe yüklenen kod (sürücüler, dosya sistemleri, ağ özellikleri); tam çekirdek ayrıcalıklarıyla çalışır.
- Çekirdek rootkit'i
- Dosyaları, süreçleri, bağlantıları ve kendini sistemin araçlarından gizleyen kötü amaçlı modül.
- Taint bayrakları
- Çekirdeğin kefil olamayacağı bir şey olduğunda koyduğu bitler; örneğin O (ağaç dışı) ve E (imzasız) modüller.
- Modül imzalama
- Dağıtım modülleri derleme zamanında imzalanır; Secure Boot çekirdeğin imzasız olanları reddetmesini sağlayabilir.
- /etc/modules-load.d
- systemd'nin her açılışta yüklediği modülleri listeler.
- install AD /bin/false
- AD'ı yükleme denemesinin her birini başarısız kılan bir modprobe.d kuralı.
← Denetimli paket güncellemeleri · Tüm dersler · Kapanış 1: ilk girişten kalıcılığa adli zaman çizelgesi →