Güvenlik özellikleri

.NET, uygulama oluştururken güvenlik sorunlarını gidermeye yardımcı olmak için birçok olanak sunar. Yerel AOT dağıtımı, bu tesislerin üzerinde oluşturulur ve uygulamalarınızı sağlamlaştırmaya yardımcı olabilecek birkaç özellik sağlar.

Çalışma zamanında kod oluşturma yok.

Yerel AOT, uygulamayı yayımladığı sırada tüm kodu oluşturduğundan, çalışma zamanında yeni yürütülebilir kod oluşturulması gerekmez. Bu, çalışma zamanında yeni yürütülebilir kod sayfalarının oluşturulmasına izin veren ortamlarda uygulamalarınızı çalıştırmanıza olanak tanır. CPU'nun yürüttüğü tüm kod dijital olarak imzalanabilir.

Kısıtlı yansıma yüzeyi

Uygulamalar yerel AOT ile yayımlandığında, derleyici uygulama içindeki yansıma kullanımını analiz eder. Yalnızca yansıma hedefi olarak kabul edilen program öğeleri çalışma zamanında yansıma için kullanılabilir. Program içinde kısıtlanmamış yansıma gerçekleştirmeye çalışan yerler kırpma uyarıları kullanılarak işaretlenir. Yansıma hedefi olarak tasarlanmamış program öğeleri yansıtılamaz. Bu kısıtlama, kötü amaçlı bir aktörün programın nelere yansıdığını denetlediği ve istenmeyen kodu çağırdığı bir sorun sınıfını engelleyebilir. Bu kısıtlama, Assembly.LoadFrom veya Reflection.Emit kullanan yaklaşımları içerir; hiçbiri yerel AOT ile çalışmaz ve kullanımları derleme zamanında bir uyarı ile işaretlenir.

Denetim Akışı Koruyucusu

Control Flow Guard , Windows'ta bellek bozulması güvenlik açıkları ile mücadele etmek için oluşturulmuş, yüksek oranda iyileştirilmiş bir platform güvenlik özelliğidir. Bir uygulamanın kodu yürütebileceği yere sıkı kısıtlamalar koyarak, sömürülerin arabellek taşması gibi açıklar üzerinden rastgele kod yürütmesini çok zorlaştırır.

Yerel AOT uygulamanızda "Control Flow Guard"ı etkinleştirmek için yayınlanan projede ControlFlowGuard özelliğini ayarlayın.

<PropertyGroup>
  <!-- Enable control flow guard -->
  <ControlFlowGuard>Guard</ControlFlowGuard>
</PropertyGroup>

Denetim Akışı Zorlama Teknolojisi Gölge Yığını (.NET 9+)

Denetim Akışı Zorlama Teknolojisi (CET) Gölge Yığını bir bilgisayar işlemci özelliğidir. Dönüş odaklı programlama (ROP) tabanlı kötü amaçlı yazılım saldırılarına karşı savunma özellikleri sağlar.

CET, Windows için yayımlanırken varsayılan olarak etkindir. CET'yi devre dışı bırakmak için yayımlanan projede CetCompat özelliğini ayarlayın.

<PropertyGroup>
  <!-- Disable Control-flow Enforcement Technology -->
  <CetCompat>false</CetCompat>
</PropertyGroup>