İçeriğe atla

Execute Disable (NX)

Mimari referansıFeex

x86 terminolojisinde NX veya XD olarak da adlandırılan Execute Disable, sayfa tablolarının belleği yürütülemez olarak işaretlemesine olanak tanır. İşletim sistemi yürütme koruması ilkeleri tarafından kullanılan bir donanım yapı taşıdır.

Bilmeniz gerekenler

x86 terminolojisinde NX veya XD olarak da adlandırılan Execute Disable, sayfa tablolarının belleği yürütülemez olarak işaretlemesine olanak tanır. İşletim sistemi yürütme koruması ilkeleri tarafından kullanılan bir donanım yapı taşıdır.

Nasıl çalışır

Geçerli sayfalama ortamında etkinleştirildiğinde, yürütülemez olarak işaretlenmiş bir sayfadan yapılan buyruk getirme işlemi, baytlarını yürütmek yerine bir hataya (fault) yol açar. Sayfa izinleri yürütmeyi veri erişiminden ayırır; uygun izinleri atamak ve meşru üretilen kodlar için geçişleri yönetmek yazılımın sorumluluğundadır.

Nerede yararlıdır

Bir işletim sistemi, bir veri arabelleğini yürütme izni olmadan eşleyebilir; böylece söz konusu arabelleğe makine kodu baytları yazmak onu yürütülebilir bir kod sayfası yapmaz. JIT çalışma zamanları, üretilen kodlar için belgelenmiş bellek yönetimi API'lerini ve izin ilkelerini kullanır.

Destek ve etkinleştirme durumu nasıl kontrol edilir

CPUID.80000001H:EDX 20. biti, ilgili satıcı tanımı altında x86 yürütmeyi devre dışı bırakma yeteneğini listeler. Fiili uygulama ayrıca sayfalama moduna ve işletim sisteminin etkinleştirmesine bağlıdır. İşletim sisteminin belgelenmiş koruma durumunu bir CPU modelinden çıkarmak yerine doğrudan inceleyin.

Yetenek, etkinleştirme ve yaptırım ayrı ayrı kontrol edilmelidir. Bir işlemci bir korumayı destekleyebilirken işletim sistemi, uygulama veya sanal makine ilkesi bunu etkinleştirmeyebilir. Veritabanındaki bir destek alanı, çalışan bir sistemin kanıtı değildir.

Özelliğin sağlamadığı durumlar

NX, yürütülebilir bir dosyanın güvenli olduğunu kanıtlamaz, her kod yeniden kullanım saldırısını engellemez veya Windows uygunluğunu doğrulamaz. Veriler ayrı izinlere göre okunabilir veya yazılabilir kalır. Bir özellik bayrağı, her bellek eşlemesinin katı bir yazma/yürütme ilkesini izlediği anlamına gelmez.

Uygulamada uyumluluk ve performans

İşletim sistemini, bellenimi ve etkilenen çalışma zamanını güncel tutun. Bir koruma uyumluluk sorunu ortaya çıkarırsa, önce satıcı tanılamalarını ve desteklenen güncellemeleri kullanın. Kapsamlı bir koruma anahtarı ilgisiz uygulamaları etkileyebilir ve açık bir dağıtım ve kurtarma ilkesini izlemelidir.

Pratik bir doğrulama kontrol listesi

  1. İlgili tam işlemci veya platform modelini ve uygulama, işletim sistemi ve çalışma zamanı sürümlerini kaydedin. Gerçek hatanın veya gereksinimin metnini koruyun.
  2. Bu tam model için üretici referansını kontrol edin, ardından programın çalıştığı ortamda geçerli yeteneği ve etkinleştirilmiş durumu inceleyin.
  3. Seçilen ikili dosyanın veya arka ucun her gereksinimini karşılaştırın. Benzer şekilde adlandırılmış bir özellik, diğer ad veya genel teknoloji etiketi yeterli değildir.
  4. Uygulamanın hedeflenen uygulamayı seçtiğini onaylayın. Gereksinimler karşılanmadığında belgelenmiş tanılamalarını ve desteklenen bir geri dönüşü kullanın.
  5. Her seferinde desteklenen bir değişiklik yapın ve aynı iş yükünü tekrarlayın. Orijinal yapılandırmayı ve kurtarma yolunu kullanılabilir durumda tutun.

Özellik listeleniyor ancak yazılım kullanamıyorsa

Hata veren tam bileşenle başlayın. Bir donanım veritabanı kayıtlı yeteneği açıklar; işletim sistemi veya hipervizör farklı bir geçerli ortam sunabilir. Geçersiz komut hatası, gerçek hatalı komutun ve ikili yapının da incelenmesini gerektirir, çünkü bozulma veya ilgisiz, desteklenmeyen bir komut benzer bir belirti üretebilir.

Tam platform için desteklenen uygulama, sürücü veya çalışma zamanı sürümünü yükleyin ve gerekirse satıcının belgelenmiş temel veya geri dönüş derlemesini kullanın. Bir yazılım güncellemesi, işlemcide eksik olan bir komutu oluşturamaz. Bellenim ve güvenlik politikası değişiklikleri, genel bir optimizasyon tarifi yerine sistem üreticisinin prosedürünü ve bir kurtarma planını izlemelidir.

Bu açıklamanın kaynakları ve kapsamı

Intel 64 ve IA-32 Mimarileri Yazılım Geliştirici Kılavuzu

Bu referanslar mimari davranışı ve yazılım gereksinimlerini belirler. Bağlantılı bir donanım modeli sayfasındaki her özellik değerini bağımsız olarak doğrulamazlar. Model desteği için ilgili sayfanın üretici kanıtlarını kullanın ve geçerli sistem yapılandırmasını kontrol edin. Bu makale bir kıyaslama, sertifikasyon veya bağımsız inceleme tarihi sağlamaz.

Kaynaklar ve doğrulama

Editoryal mülkiyet: Feex. Bağımsız bir inceleme tarihi kaydedilmemiştir. Nasıl araştırıyoruz.

Bu makale yararlı oldu mu?

Evet veya hayır yeterlidir. İsterseniz bir neden seçin veya kısa bir not ekleyin.

Bu makale yararlı oldu mu?