DEP / NX Bit (Data Execution Prevention) Nedir ?

Katılım
10 Nisan 2025
Mesajlar
1,178
Reaksiyon puanı
105
Konum
Türkiye
Web sitesi
archiveforum.org
DEP (Data Execution Prevention), işletim sistemlerinde kullanılan bir bellek güvenlik mekanizmasıdır. Amaç: bellekteki verilerin çalıştırılmasını engelleyerek zararlı kod yürütülmesini önlemek.


NX Bit (No-eXecute Bit), DEP’in donanım düzeyindeki karşılığıdır. Modern işlemciler, her bellek sayfasının çalıştırılabilir (executable) olup olmadığını belirleyen bir işaret içerir.




📌 Temel Mantık​


Normalde bir program çalışırken bellek sayfaları şunları içerir:


  • Code segment (text) → yürütülebilir
  • Data segment → değişkenler, sabitler → yürütülemez
  • Stack & Heap → fonksiyon çağrıları ve dinamik veri → yürütülemez

Sorun: Buffer Overflow saldırılarında, saldırgan stack veya heap üzerine zararlı kod (shellcode) yerleştirip çalıştırabilir.


Çözüm: DEP / NX Bit, stack ve heap gibi veri bölgelerinin yürütülmesini engeller, böylece saldırganın shellcode’u çalıştırmasını önler.




📌 DEP / NX Bit Nasıl Çalışır?​


  1. İşlemci her bellek sayfasının NX bitini kontrol eder.
  2. Eğer sayfa yürütülmeye çalışılır ama NX bit “set” ise → program çökertilir (access violation).
  3. Bu, özellikle stack ve heap üzerinde çalışan saldırıları durdurur.



📌 Koruduğu Saldırı Türleri​


  • Stack Buffer Overflow (Stack üzerinde kod yürütmeyi engeller)
  • Heap Overflow (Heap üzerine yerleştirilen shellcode çalışmaz)
  • Return-Oriented Programming (ROP) ile kısmen etkili → DEP tek başına ROP’ı tamamen engelleyemez.



📌 DEP Türleri​


  1. Hardware-enforced DEP
    • İşlemci düzeyinde NX bit kullanılır.
    • Modern Intel/AMD işlemcilerde varsayılan olarak desteklenir.
  2. Software-enforced DEP
    • İşletim sistemi (Windows, Linux) tarafından yazılım düzeyinde uygulanır.
    • NX bit desteklemeyen eski işlemciler için kullanılır.



📌 Avantajları​


  • Buffer overflow saldırılarının etkisini önler veya zorlaştırır.
  • Donanım destekli olduğunda performans kaybı çok düşüktür.
  • Stack ve heap gibi veri bölgelerini çalıştırılamaz hale getirir.



📌 Zayıf Noktaları​


  • ROP ve JOP saldırıları DEP’i bypass edebilir, çünkü mevcut yürütülebilir kod parçacıkları kullanılır.
  • Sadece yürütme önleme sağlar, kodun kendisini değiştirme veya veri sızdırma saldırılarına karşı koruma vermez.
  • Bazı eski uygulamalar DEP etkinleştirildiğinde çalışmayabilir → istisnai olarak opt-out yapılabilir.



👉 Özetle:
DEP / NX Bit, bellek üzerinde sadece veri alanlarının çalıştırılmasını engelleyerek, buffer overflow ve benzeri zararlı kod yürütme saldırılarını önleyen kritik bir güvenlik mekanizmasıdır.
 
Geri
Üst