Hardware Breakpoint Tespit Analizi
Hardware breakpoint'ler CPU'nun debug register'ları (DR0-DR7) kullanılarak oluşturulur. Malware'ler bu register'ları kontrol ederek debugger tarafından izlenip izlenmediklerini anlayabilir. Bu yöntem yazılım breakpoint'lerinden daha gizli çalıştığı için ileri seviye anti-debug tekniklerinde sık kullanılır.
Giris ve Temel Akis
Hardware breakpoint'ler CPU'nun debug register'ları (DR0-DR7) kullanılarak oluşturulur. Malware'ler bu register'ları kontrol ederek debugger tarafından izlenip izlenmediklerini anlayabilir. Bu yöntem yazılım breakpoint'lerinden daha gizli çalıştığı için ileri seviye anti-debug tekniklerinde sık kullanılır.
Bu bölümün pratik akışı şu sırayla ilerler:
- GetThreadContext
- CONTEXT_DEBUG_REGISTERS
- DR0 Kontrolü
- DR1 Kontrolü
- DR2 Kontrolü
- DR3 Kontrolü
- DebuggerDetected
- ContinueExecution
Temel Kavram Eslesmeleri
x86/x64 mimarisinde debug register'ları debugger tarafından kullanılan özel register'lardır.
- DR0: Breakpoint adresi tutabilir
- DR1: Breakpoint adresi tutabilir
- DR6: Debug durum bilgileri içerir
- DR7: Breakpoint kontrol ayarlarını içerir
Ilk Cekirdek Kavram
Bu bölümde öne çıkan çekirdek kavram DR7 olarak verilir. Hardware breakpoint analizinde ilk kontrol edilen yapılar CPU debug register'larıdır.
Arac, Komut veya Inceleme Akisi
Reverse engineer'lar hardware breakpoint tespit mekanizmalarını analiz ederken belirli adımlar uygular.
Bu bölümün pratik akışı şu sırayla ilerler:
- Breakpoint Koy
- GetThreadContext Çağrısını Yakala
- Debug Register'ları İncele
- Koşulu Analiz Et
- Bypass Uygula
Kanit ve Bilesen Iliskileri
Hardware breakpoint tespitinde kullanılan API ve yapılar farklı görevler üstlenir.
- GetThreadContext: Thread register bilgilerini alır
- CONTEXT: CPU durum bilgisini içerir
- CONTEXT_DEBUG_REGISTERS: Debug register erişimini etkinleştirir
- Thread Handle: İncelenecek thread'i temsil eder
Ikincil Odak Noktasi
Bu bölümde öne çıkan çekirdek kavram GetThreadContext olarak verilir. Debug register bilgilerini almak için thread context yapısının okunması gerekir.
Operasyonel Dogrulama ve Raporlama
Bir malware hardware breakpoint tespit ettiğinde çeşitli savunma davranışları gösterebilir.
Bu bölümün pratik akışı şu sırayla ilerler:
- Debug Register Kontrolü
- Breakpoint Tespiti
- Payload Gizleme
- Sahte Akışa Geçiş
- Programı Sonlandır
Cikti ve Kullanım Amaci
Hardware breakpoint tespit edildiğinde malware farklı karşı önlemler uygulayabilir.
- ExitProcess: Analizi sonlandırma
- Fake Routine: Analisti yanıltma
- Payload Encryption: Asıl kodu gizleme
- Infinite Loop: Analizi yavaşlatma
Son Kavram ve Cikis
Bu bölümde öne çıkan çekirdek kavram DR0 olarak verilir. Hardware breakpoint'ler yazılım breakpoint'lerinden farklı olarak CPU seviyesinde çalışır ve debug register'ları kullanır.
Bu Egitimden Ne Kazanirsiniz?
Bu icerik, Hardware Breakpoint Tespit 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: DR0, DR1, DR6, DR7, GetThreadContext, CONTEXT, CONTEXT_DEBUG_REGISTERS, Thread Handle, ExitProcess, Fake Routine. Egitimin mantigi; once temel akis kurmak, sonra eslestirme ve kavram netlestirme yapmak, en sonda ise bulguyu operasyonel bir sonuca baglamaktir.