Exception Handler ve SEH Anti-Debug Analizi
Structured Exception Handling (SEH), Windows'ta oluşan istisnaların yönetilmesini sağlar. Malware'ler debugger varlığını tespit etmek için kasıtlı exception üretip bunların nasıl işlendiğini analiz edebilir. Debugger bazı exception'ları yakaladığından normal akış değişebilir. __try { RaiseException(EXCEPTION_BREAKPOINT,0,0,NULL); } __except(EXCEPTION_EXECUTE_HANDLER) { }
Giris ve Temel Akis
Structured Exception Handling (SEH), Windows'ta oluşan istisnaların yönetilmesini sağlar. Malware'ler debugger varlığını tespit etmek için kasıtlı exception üretip bunların nasıl işlendiğini analiz edebilir. Debugger bazı exception'ları yakaladığından normal akış değişebilir. __try { RaiseException(EXCEPTION_BREAKPOINT,0,0,NULL); } __except(EXCEPTION_EXECUTE_HANDLER) { }
Bu bölümün pratik akışı şu sırayla ilerler:
- Exception Oluştur
- SEH Handler'a Gir
- Exception Yakala
- Debugger Davranışını Kontrol Et
- RunPayload
- ExitProcess
Temel Kavram Eslesmeleri
Windows exception mimarisinde farklı bileşenler görev yapar.
- SEH: Structured Exception Handling mekanizması
- Exception Record: Hata bilgilerini içerir
- Exception Handler: Exception işleme fonksiyonu
- RaiseException: Yapay exception üretir
Ilk Cekirdek Kavram
Bu bölümde öne çıkan çekirdek kavram RaiseException olarak verilir. Bazı malware'ler debugger tespiti amacıyla kasıtlı exception oluşturarak sistem davranışını inceler.
Arac, Komut veya Inceleme Akisi
SEH analizi sırasında reverse engineer exception oluşumundan handler çalışmasına kadar tüm akışı takip eder.
Bu bölümün pratik akışı şu sırayla ilerler:
- Exception Oluşur
- OS Handler Arar
- SEH Zinciri Taratılır
- Uygun Handler Bulunur
- Handler Çalıştırılır
Kanit ve Bilesen Iliskileri
Exception kodları farklı hata türlerini temsil eder.
- EXCEPTION_BREAKPOINT: Breakpoint exception'ı
- EXCEPTION_ACCESS_VIOLATION: Geçersiz bellek erişimi
- EXCEPTION_ILLEGAL_INSTRUCTION: Geçersiz CPU komutu
- EXCEPTION_SINGLE_STEP: Tek adım debug exception'ı
Ikincil Odak Noktasi
Bu bölümde öne çıkan çekirdek kavram EXCEPTION_BREAKPOINT olarak verilir. Debugger'lar breakpoint koyduklarında belirli bir exception oluşur.
Operasyonel Dogrulama ve Raporlama
Anti-debug amaçlı exception kontrolleri debugger davranışına göre farklı sonuçlar verebilir.
Bu bölümün pratik akışı şu sırayla ilerler:
- Exception Oluştur
- Debugger Yakalar
- Normal Akış Bozulur
- Debugger Tespit Edilir
- Savunma Mekanizması Çalışır
Cikti ve Kullanım Amaci
SEH tabanlı anti-debug analizlerinde çeşitli bypass yöntemleri uygulanabilir.
- Exception Patch: Exception üretimini kaldırır
- NOP Patch: Kontrol talimatlarını etkisizleştirir
- Handler Modification: SEH davranışını değiştirir
- Conditional Jump Patch: Anti-debug dallanmasını değiştirir
Son Kavram ve Cikis
Bu bölümde öne çıkan çekirdek kavram SEH olarak verilir. Windows'ta exception işleme mekanizmasının temel adı Structured Exception Handling'dir.
Bu Egitimden Ne Kazanirsiniz?
Bu icerik, Exception Handler ve SEH Anti-Debug 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: SEH, Exception Record, Exception Handler, RaiseException, EXCEPTION_BREAKPOINT, EXCEPTION_ACCESS_VIOLATION, EXCEPTION_ILLEGAL_INSTRUCTION, EXCEPTION_SINGLE_STEP, Exception Patch, NOP Patch. Egitimin mantigi; once temel akis kurmak, sonra eslestirme ve kavram netlestirme yapmak, en sonda ise bulguyu operasyonel bir sonuca baglamaktir.