Açıklardan yararlanma korumasını değerlendirme

Bu makalede, güvenlik açığı koruması risk azaltmalarını değerlendirmek, uyumluluk yönergelerini gözden geçirmek, test için sistem ve program ayarlarını yapılandırmak ve üretimde risk azaltmayı etkinleştirmeden önce denetim olaylarını yorumlamak için denetim modunun nasıl kullanılacağı açıklanmaktadır.

Açıklardan yararlanma koruması, diğer aygıtları yaymak ve bu cihazlara bulaşmak için açıklardan yararlanan kötü amaçlı yazılımlardan cihazların korunmasına yardımcı olur. Risk azaltma, işletim sistemine veya tek bir uygulamaya uygulanabilir. Gelişmiş Risk Azaltma Deneyimi Araç Seti'nin (EMET) parçası olan özelliklerin çoğu, açıklardan yararlanma korumasına dahildir. (EMET destek süresinin sonuna ulaştı.)

Denetimde, bir test ortamındaki belirli uygulamalar için risk azaltmanın nasıl çalıştığını görebilirsiniz. Denetim modu, üretim ortamınızda açık koruması etkinleştirirseniz ne olacağını gösterir. Denetim modunu kullanarak istismar korumasının kurum içi uygulamalarınızı olumsuz etkilemediğini doğrulayabilir ve hangi şüpheli veya kötü amaçlı olayların meydana geldiğini görebilirsiniz.

Açıklardan yararlanma korumasını değerlendirmeye yönelik genel yönergeler

Exploit protection risk azaltmaları işletim sisteminde düşük düzeyde çalışır ve benzer düşük düzeyli işlemler gerçekleştiren bazı yazılım türleri, kötüye kullanım koruması kullanılarak korunacak şekilde yapılandırıldığında uyumluluk sorunları yaşayabilir.

Hangi tür yazılımların yararlanma koruması ile korunmaması gerekir?

  • Kötü amaçlı yazılımdan koruma ve izinsiz girişi önleme veya algılama yazılımı
  • Hata ayıklayıcı
  • Dijital hak yönetimi (DRM) teknolojilerini (video oyunları) işleyen yazılım
  • Hata ayıklama, gizleme veya kancalama teknolojilerini kullanan yazılım

Açıklardan yararlanma korumasını etkinleştirmeyi hangi tür uygulamalar dikkate almanız gerekir?

Güvenilmeyen verileri alan veya işleyen uygulamalar.

Yararlanma koruması için hangi tür süreçler kapsam dışındadır?

Hizmetler

  • Sistem hizmetleri
  • Ağ hizmetleri

Varsayılan olarak etkinleştirilen yararlanma koruması önlemleri

Aşağıdaki tabloda, varsayılan olarak etkinleştirilen açıklardan yararlanma koruması azaltmaları listelenir:

Risk azaltma Varsayılan olarak etkin
Veri Yürütme Önleme (DEP) 64 bit ve 32 bit uygulamalar
Özel durum zincirlerini doğrula (SEHOP) 64 bit uygulamalar
Yığın bütünlüğünü doğrula 64 bit ve 32 bit uygulamalar

Kullanım dışı bırakılan "Program ayarları" risk azaltmaları

Aşağıdaki program ayarı önlemleri kullanımdan kaldırılmıştır. Tabloda her birinin neden kaldırıldığı açıklanmaktadır:

"Program ayarları" azaltmaları Neden
Dışarı aktarma adresi filtrelemesi (EAF) Uygulama uyumluluğu sorunları
İçeri aktarma adresi filtrelemesi (IAF) Uygulama uyumluluğu sorunları
Yürütme simülasyonu (SimExec) Arbitrary Code Guard (ACG) ile değiştirildi
API çağrısını doğrula (CallerCheck) Arbitrary Code Guard (ACG) ile değiştirildi
Yığın bütünlüğünü doğrula (StackPivot) Arbitrary Code Guard (ACG) ile değiştirildi

Office uygulaması en iyi yöntemleri

Outlook, Word, Excel, PowerPoint ve OneNote gibi Office uygulamaları için Exploit Protection yerine saldırı yüzeyi azaltma (ASR) kurallarını kullanın. ASR kuralları, bu uygulamaların kötüye kullanılmasını önlemek için daha modern bir yol sağlar:

Adobe Reader için aşağıdaki ASR kuralını kullanın:

Adobe Reader'ın alt işlemler oluşturmalarını engelleme

Google Chrome, Exploit Protection'ın (EMET) etkinleştirilmesini artık önermiyor; çünkü bu özellik ya gereksizdir ya da yerini yerleşik saldırı azaltma önlemleri almıştır.

Uygulama uyumluluk listesi

Aşağıdaki tabloda, açıklardan yararlanma korumasına dahil edilen risk azaltmalarla ilgili uyumluluk sorunları olan belirli ürünler listelenmiştir. Ürünü kötüye kullanım koruması kullanarak korumak istiyorsanız, belirli uyumsuz azaltmaları devre dışı bırakmanız gerekir. Bu listenin, ürünün en son sürümleri için varsayılan ayarları dikkate aldığını unutmayın. Standart yazılıma belirli eklentileri veya diğer bileşenleri uyguladığınızda uyumluluk sorunları ortaya çıkar.

Note

EMET azaltmaları, sanal makine için büyük bir bellek öbekleri ayıran ayarlar kullanılarak çalıştırıldığında (yani -Xms seçeneğini kullanarak) Oracle Java ile uyumsuz olabilir.

Ürün Exploit koruması önlemleri
.NET 2.0/3.5 EAF/IAF
7-Zip Konsol/GUI/Dosya Yöneticisi EAF
AMD 62xx işlemciler EAF
Avecto (GüvenIn Ötesinde) Güç Aracısı EAF, EAF+, Stack Pivot
Belirli AMD (ATI) video sürücüleri Sistem ASLR=AlwaysOn
Dropbox EAF
Excel Power Query, Power View, Power Map ve PowerPivot EAF
Google Chrome (artık önerilmez) EAF+
Immidio Flex+ EAF
Microsoft Office Web Bileşenleri (OWC) Sistem DEP=AlwaysOn
Microsoft PowerPoint EAF
Microsoft Ekipleri EAF+
Oracle Javaǂ Heapspray
Pitney Bowes Baskı Denetimi 6 SimExecFlow
Siebel CRM sürümü 8.1.1.9 SEHOP
Skype EAF
SolarWinds Syslogd Yöneticisi EAF
Windows Medya Oynatıcı ZorunluASLR, EAF

ǂ EMET risk azaltmaları, sanal makine için büyük bir bellek öbeği ayıran ayarlar (yani -Xms seçeneğini kullanarak) kullanılarak çalıştırıldığında Oracle Java ile uyumsuz olabilir.

Test amacıyla istismar koruması sistem ayarlarını etkinleştirin

Zorunlu Adres Alanı Düzeni Rastgeleleştirmesi (ASLR) hariç, bu Exploit Protection sistem ayarları Windows 10 ve sonraki sürümlerde, Windows Server 2019 ve sonraki sürümlerde ve Windows Server sürüm 1803 Core sürümü ve sonraki sürümlerde varsayılan olarak etkindir.

Sistem ayarları Ayar
Kontrol akışı koruması (CFG) Varsayılanı kullan (Açık)
Veri Yürütme Önleme (DEP) Varsayılanı kullan (Açık)
Görüntüler için rastgeleleştirmeyi zorunlu kıl (Zorunlu ASRL) Varsayılanı kullan (Kapalı)
Bellek ayırmalarını rastgeleleştir (Aşağıdan yukarı ASRL) Varsayılanı kullan (Açık)
Yüksek entropili ASRL Varsayılanı kullan (Açık)
Özel durum zincirlerini doğrula (SEHOP) Varsayılanı kullan (Açık)

Aşağıdaki XML örneği, varsayılan sistem azaltma yapılandırmasını gösterir:

<?xml version="1.0" encoding="UTF-8"?>
<MitigationPolicy>
  <SystemConfig>
    <DEP Enable="true" EmulateAtlThunks="false" />
    <ASLR ForceRelocateImages="false" RequireInfo="false" BottomUp="true" HighEntropy="true" />
    <ControlFlowGuard Enable="true" SuppressExports="false" />
    <SEHOP Enable="true" TelemetryOnly="false" />
    <Heap TerminateOnError="true" />
  </SystemConfig>
</MitigationPolicy>

Test için exploit protection program ayarlarını etkinleştirme

İpucu

ASR kurallarını kullanmak olan güvenlik açığı azaltmaları için modern yaklaşımı gözden geçirmenizi kesinlikle öneririz.

Windows Güvenliği uygulamasını veya Windows PowerShell'i kullanarak belirli programlar için bir test modunda risk azaltıcı etkenleri ayarlayabilirsiniz.

Windows Güvenliği uygulaması

Belirli bir program için test modunda açıklardan yararlanma koruması azaltmalarını yapılandırmak için Windows Güvenliği uygulamasını kullanın:

  1. Windows Güvenliği uygulamasını açın. Görev çubuğundaki kalkan simgesini seçin veya Windows Güvenliği için başlat menüsünde arama yapın.

  2. Uygulama ve tarayıcı denetimi kutucuğunu (veya sol menü çubuğundaki uygulama simgesini) seçin ve ardından Açıklardan yararlanma koruması öğesini seçin.

  3. Program ayarları’na gidin ve koruma uygulamak istediğiniz uygulamayı seçin:

    1. Yapılandırmak istediğiniz uygulama zaten listelenmişse, uygulamayı seçin ve ardından Düzenle'yi seçin.

    2. Uygulama listenin en üstünde listelenmiyorsa Özelleştirmek için program ekle'yi seçin. Ardından, uygulamayı nasıl eklemek istediğinizi seçin.

      • Risk azaltmanın bu adla çalışan herhangi bir işleme uygulanması için Program adına göre ekle'yi kullanın. Uzantısı olan bir dosya belirtin. Risk azaltmayı yalnızca bu konumdaki bu ada sahip uygulamayla sınırlamak için tam bir yol girebilirsiniz.
      • İstediğiniz dosyayı bulmak ve seçmek için standart bir Windows Gezgini dosya seçici penceresi kullanmak üzere Tam dosya yolunu seçin'i kullanın.
  4. Uygulamayı seçtikten sonra, uygulanabilecek tüm risk azaltmalarının bir listesini göreceksiniz. Denetim seçildiğinde azaltma yalnızca test modunda uygulanır. İşlemi, uygulamayı veya Windows'ı yeniden başlatmanız gerekiyorsa size bildirilir.

  5. Yapılandırmak istediğiniz tüm uygulamalar ve risk azaltmaları için bu yordamı tekrarlayın. Yapılandırmanızı ayarlamayı tamamladığınızda Uygula'yı seçin.

PowerShell

Uygulama düzeyindeki önlemleri test moduna ayarlamak için, Audit mode cmdlet'iyle birlikte Set-ProcessMitigation kullanın.

Belirli bir uygulama için azaltmaları etkinleştirmek veya denetlemek için aşağıdaki Set-ProcessMitigation söz dizimini kullanın. Yer tutucuları kapsam, yürütülebilir dosya, eylem ve risk azaltma cmdlet'leriyle değiştirin:

Set-ProcessMitigation -<scope> <app executable> -<action> <mitigation or options>,<mitigation or options>,<mitigation or options>

Nerede:

  • <Kapsam>:
    • Risk azaltmaların belirli bir uygulamaya uygulanması gerektiğini belirtmek için -Name. Bu işaretten sonra uygulamanın çalıştırılabilir dosyasını belirtin.
  • <Eylem>:
    • Risk azaltmayı etkinleştirmek için -Enable
      • Risk azaltmayı devre dışı bırakmak için -Disable
  • < >Azaltma:
    • Aşağıdaki tabloda tanımlanan risk azaltma cmdlet'i. Her risk azaltma bir virgülle ayrılır.
Risk azaltma Test modu cmdlet'i
İsteğe Bağlı Kod Koruması (ACG) AuditDynamicCode
Bütünlük düzeyi düşük görüntüleri engelle AuditImageLoad
Güvenilmeyen yazı tiplerini engelle AuditFont, FontAuditOnly
Kod bütünlüğü koruması AuditMicrosoftSigned, AuditStoreSigned
Win32k sistem çağrılarını devre dışı bırak AuditSystemCall
Alt süreçlere izin verme AuditChildProcess

Örneğin, aşağıdaki komut testing.exeadlı bir uygulama için denetim modunda Rastgele Code Guard'ı (ACG) etkinleştirir, böylece dinamik kod kısıtlamalarını zorlamadan önce etkisini test edebilirsiniz:

Set-ProcessMitigation -Name c:\apps\lob\tests\testing.exe -Enable AuditDynamicCode

-Enable yerine -Disable koyarak denetim modunu devre dışı bırakabilirsiniz.

Açıklardan yararlanma koruması denetim olaylarını gözden geçirme

Engellenecek uygulamaları gözden geçirmek için Olay Görüntüleyicisi açın ve Security-Mitigations günlüğünde aşağıdaki olayları filtreleyin.

Özellik Sağlayıcı/kaynak Olay Kimliği Açıklama
İstismar koruması Güvenlik-Risk Azaltmaları (Çekirdek Modu/Kullanıcı Modu) 1 ACG denetimi
İstismar koruması Güvenlik-Risk Azaltmaları (Çekirdek Modu/Kullanıcı Modu) 3 Alt işlemlerin denetimine izin verme
İstismar koruması Güvenlik-Risk Azaltmaları (Çekirdek Modu/Kullanıcı Modu) 5 Düşük bütünlük görüntülerin denetimini engelle
Kötüye Kullanma Koruması Güvenlik-Risk Azaltmaları (Çekirdek Modu/Kullanıcı Modu) 7 Uzak görüntülerin denetimini engelle
Kötüye kullanmaya karşı koruma Güvenlik-Risk Azaltmaları (Çekirdek Modu/Kullanıcı Modu) 9 win32k sistem çağrıları denetimini devre dışı bırak
Kötüye Kullanma Koruması Güvenlik-Risk Azaltmaları (Çekirdek Modu/Kullanıcı Modu) 11 Kod bütünlüğü koruyucusu denetimi