Windows Kernel Mimarisi ve Driver Yapısı
Windows Kernel, işletim sisteminin çekirdek seviyesinde çalışan en kritik bileşenidir. Driver'lar kernel modunda çalışarak donanım, bellek, süreç ve dosya sistemi gibi kaynaklarla düşük seviyede etkileşim kurar. Reverse engineering sırasında kernel-mode driver yapısının anlaşılması rootkit ve gelişmiş malware analizinde temel gereksinimdir.
Giris ve Temel Akis
Windows Kernel, işletim sisteminin çekirdek seviyesinde çalışan en kritik bileşenidir. Driver'lar kernel modunda çalışarak donanım, bellek, süreç ve dosya sistemi gibi kaynaklarla düşük seviyede etkileşim kurar. Reverse engineering sırasında kernel-mode driver yapısının anlaşılması rootkit ve gelişmiş malware analizinde temel gereksinimdir.
Bu bölümün pratik akışı şu sırayla ilerler:
- Driver Yüklenir
- DriverEntry Çalışır
- Device Object Oluşturulur
- Dispatch Fonksiyonları Tanımlanır
- IRP İstekleri İşlenir
- DriverUnload Çalışır
Temel Kavram Eslesmeleri
Windows kernel mimarisinde farklı bileşenler farklı görevler üstlenir.
- ntoskrnl.exe: Windows kernel çekirdek bileşeni
- HAL: Donanım soyutlama katmanı
- Driver: Kernel modunda çalışan modül
- IRP: I/O Request Packet yapısı
Ilk Cekirdek Kavram
Bu bölümde öne çıkan çekirdek kavram DriverEntry olarak verilir. Windows kernel driver'larında ilk çalışan fonksiyon genellikle driver'ın başlangıç noktasıdır.
Arac, Komut veya Inceleme Akisi
Kernel driver reverse engineering sırasında analist önce driver'ın giriş noktasını, ardından dispatch fonksiyonlarını ve I/O akışını inceler.
Bu bölümün pratik akışı şu sırayla ilerler:
- SYS Dosyasını Aç
- DriverEntry Bul
- Importları İncele
- Dispatch Table Analiz Et
- IOCTL Kodlarını Çözümle
Kanit ve Bilesen Iliskileri
Driver analizinde sık karşılaşılan kernel API'leri belirli amaçlara hizmet eder.
- IoCreateDevice: Device object oluşturur
- IoCreateSymbolicLink: User-mode erişim bağlantısı oluşturur
- MmGetSystemRoutineAddress: Kernel fonksiyon adresi çözer
- PsLookupProcessByProcessId: PID üzerinden süreç nesnesi bulur
Ikincil Odak Noktasi
Bu bölümde öne çıkan çekirdek kavram IoCreateSymbolicLink olarak verilir. User-mode uygulamaların kernel driver ile iletişim kurabilmesi için genellikle symbolic link oluşturulur.
Operasyonel Dogrulama ve Raporlama
IRP tabanlı iletişim, Windows driver mimarisinin temelidir. User-mode istekleri driver'a IRP olarak ulaşır ve dispatch fonksiyonları tarafından işlenir.
Bu bölümün pratik akışı şu sırayla ilerler:
- User-mode İstek Gönderir
- I/O Manager IRP Oluşturur
- Driver Dispatch Fonksiyonu Çalışır
- IOCTL İşlenir
- Sonuç User-mode'a Döner
Cikti ve Kullanım Amaci
Kernel driver analizinde kullanılan araçlar farklı görünürlük seviyeleri sağlar.
- WinDbg: Kernel debugging
- IDA Pro: Statik driver analizi
- Ghidra: Decompiler ile kernel kod inceleme
- OSR Driver Loader: Test driver yükleme
Son Kavram ve Cikis
Bu bölümde öne çıkan çekirdek kavram IOCTL olarak verilir. Windows driver iletişiminde user-mode uygulamalardan gelen özel kontrol istekleri IOCTL kodlarıyla temsil edilir.
Bu Egitimden Ne Kazanirsiniz?
Bu icerik, Windows Kernel Mimarisi ve Driver Yapısı 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: ntoskrnl.exe, HAL, Driver, IRP, IoCreateDevice, IoCreateSymbolicLink, MmGetSystemRoutineAddress, PsLookupProcessByProcessId, WinDbg, IDA Pro. Egitimin mantigi; once temel akis kurmak, sonra eslestirme ve kavram netlestirme yapmak, en sonda ise bulguyu operasyonel bir sonuca baglamaktir.