CyberFlow Logo CyberFlow BLOG
Soc L3 Reverse Engineering

Hardware Breakpoint Tespit Analizi

✍️ Ahmet BİRKAN 📂 Soc L3 Reverse Engineering

Hardware Breakpoint Tespit Analizi konusunu SOC L3 - Tersine Mühendislik - Anti-Debug ve Kernel Analizi baglaminda blog formatinda ogrenin. Temel akis, kavram eslestirmeleri ve analiz mantigi tek bir yapida birlestirildi.

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.