Skip to content

EMET (Enhanced Mitigation Experience Toolkit)

EMET, Microsoft'un legacy app'lere recompilation olmadan exploit mitigation'larını (DEP, ASLR, SEHOP, EAF, anti-ROP heuristic'leri) sonradan ekleyen bolt-on toolkit'iydi; özellikleri Windows Exploit Protection'a dahil edildi.

Mechanism

Bug class / invariant

EMET'in dayanak noktası: çoğu eski binary modern mitigation'larla derlenmemişti, bu yüzden onları exploit eden bir attacker az direnişle karşılaşıyordu. EMET, hassas API'leri hook'layan ve runtime'da policy'ler set eden bir agent DLL enjekte ederek mitigation'ların bir process'e dışarıdan uygulanabileceği invariant'ını enforce etti. Forced DEP, mandatory/forced ASLR, SEHOP (structured-exception-handler overwrite koruması), Export Address Filtering ve heuristic anti-ROP check'lerini (örn. VirtualProtect gibi kritik fonksiyonlarda caller check'leri ve stack-pivot tespiti) paket halinde sundu. Amaç, belirli bug'ları düzeltmek yerine yaygın exploitation adımlarını generic şekilde kırmaktı.

Walkthrough

Üst seviye, kavramsal (Microsoft'un public belgelerinden):

  1. EMET, uygulama başına mitigation profilleri konfigüre eder ve agent'ını korunan process'e enjekte eder.
  2. Agent, güvenlikle ilgili API'leri hook'lar ve DEP/ASLR/SEHOP/EAF ile anti-ROP heuristic'lerini enforce eder.
  3. Bir exploit bilinen bir adım dener — örn. VirtualProtect çağırmadan önce bir stack pivot ya da API'leri resolve etmek için export table'ı okuma.
  4. EMET'in heuristic check'i anomaliyi (kötü caller, pivot edilmiş stack, EAF erişimi) tespit eder ve process'i sonlandırır.
  5. Altta yatan güvenlik açığı patch'lenmemiş olsa bile exploit kesintiye uğrar.

Warning

EMET end-of-life durumdadır (destek 2018'de bitti). Heuristic, user-mode-hook yaklaşımı araştırmalarda tekrar tekrar bypass edildi ve Microsoft onu built-in Exploit Protection ile değiştirdi. Yalnızca tarihsel bağlam olarak kullan; bunun yerine Exploit Protection deploy et.

Detection

  • Windows event log'unda EMET/Exploit Protection mitigation-trigger event'leri.
  • Modern sistemlerde, aynı mitigation sınıfları için Windows Defender Exploit Protection telemetry'sini tercih et.

Mitigation

  • EMET'in yerini alan built-in Windows Exploit Protection'a (DEP/ASLR/CFG/ACG/CIG vb.) geçiş yap.
  • Mümkün olduğunda app'leri modern mitigation'larla yeniden derle (CFG, CET).
  • Güncel Windows'ta EMET'e güvenme; desteklenmiyor.

References