Kernel Callback ve Notify Routine Analizi
Windows Kernel, belirli sistem olayları gerçekleştiğinde driver'ların haberdar olabilmesi için callback ve notify routine mekanizmaları sunar. Rootkit ve güvenlik yazılımları süreç, thread ve image yükleme olaylarını takip etmek için bu yapıları kullanır. Reverse engineering sırasında kayıt edilen callback fonksiyonları incelenmelidir.
Giris ve Temel Akis
Windows Kernel, belirli sistem olayları gerçekleştiğinde driver'ların haberdar olabilmesi için callback ve notify routine mekanizmaları sunar. Rootkit ve güvenlik yazılımları süreç, thread ve image yükleme olaylarını takip etmek için bu yapıları kullanır. Reverse engineering sırasında kayıt edilen callback fonksiyonları incelenmelidir.
Bu bölümün pratik akışı şu sırayla ilerler:
- Callback Kaydet
- Sistem Olayı Oluşur
- Kernel Callback'i Çağırır
- Bilgi Toplanır
- İşlem Gerçekleştirilir
- Sonuç Döndürülür
Temel Kavram Eslesmeleri
Windows kernel içerisinde farklı olaylar için farklı callback mekanizmaları bulunur.
- Process Notify Routine: Süreç oluşturma ve sonlanma olaylarını izler
- Thread Notify Routine: Thread olaylarını izler
- Image Load Notify Routine: DLL ve EXE yüklemelerini izler
- Object Callback: Kernel nesne erişimlerini izler
Ilk Cekirdek Kavram
Bu bölümde öne çıkan çekirdek kavram Process Notify Routine olarak verilir. Bir driver süreç oluşturma olaylarını izlemek istediğinde özel bir notify routine kaydedebilir.
Arac, Komut veya Inceleme Akisi
Reverse engineer callback kullanan bir driver'ı analiz ederken callback kayıt noktalarını ve işlevlerini inceler.
Bu bölümün pratik akışı şu sırayla ilerler:
- DriverEntry Bul
- Callback Registration Bul
- Fonksiyon Adresini İncele
- Olay Türünü Belirle
- Davranışı Analiz Et
Kanit ve Bilesen Iliskileri
Kernel callback kayıtları için çeşitli API'ler kullanılabilir.
- PsSetCreateProcessNotifyRoutine: Process callback kaydeder
- PsSetCreateThreadNotifyRoutine: Thread callback kaydeder
- PsSetLoadImageNotifyRoutine: Image load callback kaydeder
- ObRegisterCallbacks: Object callback kaydeder
Ikincil Odak Noktasi
Bu bölümde öne çıkan çekirdek kavram PsSetLoadImageNotifyRoutine olarak verilir. Bir driver EXE ve DLL yüklemelerini izlemek istediğinde özel bir image callback kaydı oluşturabilir.
Operasyonel Dogrulama ve Raporlama
Bir rootkit callback mekanizmasını kullanarak süreçleri veya yüklenen modülleri izleyebilir.
Bu bölümün pratik akışı şu sırayla ilerler:
- Callback Kaydet
- Süreç Başlar
- Kernel Bildirim Gönderir
- Bilgi Toplanır
- Kural Uygulanır
Cikti ve Kullanım Amaci
Kernel callback analizinde kullanılan araçlar farklı görünürlük seviyeleri sağlar.
- WinDbg: Kernel callback inceleme
- IDA Pro: Driver kod analizi
- Ghidra: Decompiler ile callback çözümleme
- Process Monitor: Sistem olaylarını gözlemleme
Son Kavram ve Cikis
Bu bölümde öne çıkan çekirdek kavram Object Callback olarak verilir. Kernel callback mekanizmaları sayesinde driver'lar sistem olaylarından anında haberdar olabilir.
Bu Egitimden Ne Kazanirsiniz?
Bu icerik, Kernel Callback ve Notify Routine Analizi konusunu SOC L3 - Tersine Mühendislik - Anti-Debug ve Kernel Analizi baglaminda parcali degil, butunlu bir ogrenme akisina donusturur. Yalnizca kavramlari ezberlemek yerine surec sirasini, bilesenler arasi iliskiyi ve hangi kanitin neden onemli oldugunu kavramayi hedefler.
Ozet
Bu ders kapsaminda one cikan basliklar: Process Notify Routine, Thread Notify Routine, Image Load Notify Routine, Object Callback, PsSetCreateProcessNotifyRoutine, PsSetCreateThreadNotifyRoutine, PsSetLoadImageNotifyRoutine, ObRegisterCallbacks, WinDbg, IDA Pro. Egitimin mantigi; once temel akis kurmak, sonra eslestirme ve kavram netlestirme yapmak, en sonda ise bulguyu operasyonel bir sonuca baglamaktir.