Přizpůsobení ochrany před zneužitím

Ochrana před zneužitím automaticky používá mnoho technik zmírnění zneužití na procesy operačního systému i na jednotlivé aplikace.

Nakonfigurujte tato nastavení pomocí aplikace Zabezpečení Windows na jednotlivých zařízeních. Potom exportujte konfiguraci jako soubor XML, abyste ho mohli nasadit do jiných zařízení. Použijte Zásady skupiny k distribuci souboru XML do více zařízení najednou. Zmírnění rizik můžete také nakonfigurovat pomocí PowerShellu.

Tento článek uvádí všechna zmírnění rizik, která jsou k dispozici při ochraně před zneužitím. Označuje, jestli se zmírnění rizik dá použít v celém systému, nebo na jednotlivé aplikace, a poskytuje stručný popis, jak zmírnění rizik funguje.

Tento článek také popisuje, jak povolit nebo nakonfigurovat zmírnění rizik pomocí poskytovatelů konfiguračních služeb (CSP) Zabezpečení systému Windows, PowerShellu a správy mobilních zařízení (MDM). Konfigurace nastavení ochrany zneužití na jednom zařízení je prvním krokem při vytváření konfigurace, kterou můžete nasadit v síti. Pokud chcete tuto konfiguraci nasadit na více zařízeních, přečtěte si téma Import, export a nasazení konfigurací ochrany zneužití.

Upozornění

Některé technologie pro zmírnění rizik zabezpečení můžou mít s některými aplikacemi problémy s kompatibilitou. Před nasazením konfigurace v produkčním prostředí nebo ve zbytku sítě byste měli otestovat ochranu zneužitím ve všech scénářích použití pomocí režimu auditování ochrany zneužitím .

Zmírnění rizik ochrany před zneužitím

Všechna zmírnění rizik je možné nakonfigurovat pro jednotlivé aplikace. Některá zmírnění rizik lze také použít na úrovni operačního systému.

Každé omezení rizik můžete nastavit na hodnotu zapnuto, vypnuto nebo na výchozí hodnotu. Některá omezení rizik mají více možností, které jsou uvedené v popisu v tabulce.

Výchozí hodnoty se vždy zadávají v hranatých závorkách v možnosti Použít výchozí pro každé zmírnění rizik. V následujícím příkladu je výchozí hodnota prevence spuštění dat Zapnuto.

Možnost Použít výchozí konfiguraci pro každé nastavení zmírnění rizik označuje naše doporučení pro základní úroveň ochrany každodenního používání pro domácí uživatele. Podniková nasazení by měla zvážit ochranu vyžadovanou pro jejich individuální potřeby, a proto musí změnit konfiguraci mimo výchozí hodnoty.

Přidružené rutiny PowerShellu pro každé zmírnění rizik najdete v rutinách PowerShellu pro zmírnění rizik zneužití ochrany v dolní části tohoto článku.

Zmírnění rizik Popis Lze použít na K dispozici je režim auditování
Ochrana řídicího toku (CFG) Zajistí integritu toku řízení pro nepřímá volání. Volitelně může potlačit exporty a používat striktní CFG. Systém a úroveň aplikace Ne
Prevence spouštění dat (DEP) Zabraňuje spouštění kódu z datových paměťových stránek, jako jsou halda a zásobník. Dá se konfigurovat jenom pro 32bitové (x86) aplikace, trvale povolené pro všechny ostatní architektury. Lze volitelně povolit emulaci thunků ATL. Systém a úroveň aplikace Ne
Vynutit randomizaci obrázků (povinné ASLR) Vynuceně přemístí image, které nejsou kompilované pomocí /DYNAMICBASE. Volitelně může selhat při načítání imagí, které nemají informace o přemístění. Systém a úroveň aplikace Ne
Náhodné přidělování paměti (ASLR zdola nahoru) Náhodně určuje umístění přidělení virtuální paměti. Zahrnuje haldy systémových struktur, zásobníky, TEB a také PEB. Volitelně může pro 64bitové procesy použít širší odchylku randomizace. Systém a úroveň aplikace Ne
Ověřování řetězců výjimek (SEHOP) Zajišťuje integritu řetězu výjimek během odesílání výjimek. Dá se konfigurovat jenom pro 32bitové (x86) aplikace. Systém a úroveň aplikace Ne
Ověřit integritu haldy Ukončí proces při zjištění poškození haldy. Systém a úroveň aplikace Ne
Ochrana před libovolným kódem (ACG) Zabrání zavedení spustitelného kódu bez obrázku a zabrání úpravám znakových stránek. Volitelně lze povolit odhlášení z konverzačních vláken a vzdálený přechod na nižší verzi (konfigurovatelné pouze pomocí PowerShellu). Pouze na úrovni aplikace Ano
Blokovat obrázky s nízkou integritou Zabrání načítání obrázků označených nízkou integritou. Pouze na úrovni aplikace Ano
Blokovat vzdálené obrázky Znemožní načítání imagí ze vzdálených zařízení. Pouze na úrovni aplikace Ne
Blokovat nedůvěryhodná písma Zabrání načítání písem založených na rozhraní GDI, která nejsou nainstalovaná v adresáři systémových písem, zejména písma z webu. Pouze na úrovni aplikace Ano
Ochrana integrity kódu Omezuje načítání obrázků podepsaných Microsoftem, WHQL nebo novějším. Může volitelně povolit bitové kopie podepsané službou Microsoft Store. Pouze na úrovni aplikace Ano
Zakázat body rozšíření Zakáže různé mechanismy rozšiřitelnosti, které umožňují vkládání knihoven DLL do všech procesů, například knihovny AppInit DLL, hooky oken a poskytovatele služeb Winsock. Pouze na úrovni aplikace Ne
Zakázat systémová volání Win32k Zabrání aplikaci používat tabulku systémových volání Win32k. Pouze na úrovni aplikace Ano
Nepovolit podřízené procesy Zabrání aplikaci v tom, aby vytvářela podřízené procesy. Pouze na úrovni aplikace Ano
Filtrování exportovaných adres (EAF) Detekuje nebezpečné operace, které jsou vyřešeny škodlivým kódem. Volitelně ověřuje přístup pomocí modulů běžně používaných exploity. Pouze na úrovni aplikace Ano
Filtrování importovaných adres (IAF) Detekuje nebezpečné operace, které jsou vyřešeny škodlivým kódem. Pouze na úrovni aplikace Ano
Simulovat provádění (SimExec) Zajišťuje, aby se volání citlivých rozhraní API vracela zpět oprávněným volajícím. Dá se konfigurovat jenom pro 32bitové (x86) aplikace. Není kompatibilní s ACG. Pouze na úrovni aplikace Ano
Ověřit vyvolání rozhraní API (CallerCheck) Zajišťuje, aby k citlivým rozhraním API přistupovali pouze oprávnění volající. Dá se konfigurovat jenom pro 32bitové (x86) aplikace. Není kompatibilní s ACG Pouze na úrovni aplikace Ano
Ověřit použití popisovače Způsobí vyvolání výjimky u všech neplatných odkazů na popisovač. Pouze na úrovni aplikace Ne
Ověřit integritu závislosti obrázku Vynucuje podepisování kódu pro načítání závislostí bitových kopií Systému Windows. Pouze na úrovni aplikace Ne
Ověřit integritu zásobníku (StackPivot) Zajišťuje, že zásobník nebyl přesměrován pro citlivá rozhraní API. Není kompatibilní s ACG. Pouze na úrovni aplikace Ano

Důležité

Pokud přidáte aplikaci do části Nastavení programu a nakonfigurujete tam jednotlivá nastavení opatření ke zmírnění rizik, budou mít přednost před konfigurací pro stejná opatření ke zmírnění rizik zadanou v části Nastavení systému. Následující matice a příklady vám ukážou, jak fungují výchozí hodnoty:

Povoleno vNastavení Programu Povoleno v Nastavení Systému Chování
Ano Ne Jak je definováno v Nastavení Programu
Ano Ano Jak je definováno v Nastavení Programu
Ne Ano Jak je definováno v Nastavení Systému
Ne Ne Výchozí podle definice ve volbě Použít výchozí
  • Příklad 1 Michael konfiguruje zabránění spuštění dat (DEP) v části Nastavení systému tak, aby bylo ve výchozím nastavení vypnuté. Michael pak přidá soubor test.exe aplikace do části Nastavení programu. V možnostech pro tuto aplikaci v části Zabránění spuštění dat (DEP)povolí možnost Přepsat nastavení systému a nastaví přepínač na Zapnuto. V části Nastavení programu nejsou uvedené žádné další aplikace. Výsledkem bude, že program DEP bude povolen pouze pro test.exe. U všech ostatních aplikací se Zabránění spuštění dat (DEP) nepoužije.

  • Příklad 2 Jana konfiguruje zabránění spuštění dat (DEP) v části Nastavení systému tak, aby bylo ve výchozím nastavení vypnuté. Jana pak přidá soubor test.exe aplikace do části Nastavení programu. V možnostech pro tuto aplikaci v části Zabránění spuštění dat (DEP)povolí možnost Přepsat nastavení systému a nastaví přepínač na Zapnuto. Josie také přidá soubor miles.exe aplikace do části Nastavení programu a nakonfiguruje Ochranu toku řízení (CFG) na Zapnuto. Nepovolí možnost Přepsat nastavení systému pro DEP ani žádná jiná omezení rizik pro danou aplikaci. Výsledkem bude, že program DEP bude povolen pro test.exe. Zabránění spouštění dat (DEP) nebude povoleno pro žádnou jinou aplikaci, včetně aplikace miles.exe. Pro miles.exe se povolí Ochrana toku řízení (CFG).

Poznámka

Pokud jste v tomto článku našli nějaké problémy, můžete je nahlásit přímo Windows Server nebo klientskému partnerovi windows nebo použít čísla technické podpory Společnosti Microsoft pro vaši zemi nebo oblast.

Konfigurace zmírnění rizik na úrovni systému pomocí aplikace Zabezpečení Windows

Ke konfiguraci omezení ochrany na úrovni systému a ochrany na úrovni aplikace na jednotlivých zařízeních použijte aplikaci Zabezpečení systému Windows:

  1. Otevřete aplikaci Zabezpečení Windows výběrem ikony štítu na hlavním panelu nebo vyhledáním v nabídce Start Zabezpečení Windows.

  2. Vyberte dlaždici Ovládání aplikací a prohlížeče (nebo ikonu aplikace na levém panelu nabídek) a potom vyberte Ochrana před zneužitím.

  3. V části Nastavení systému najděte zmírnění rizik, které chcete nakonfigurovat, a vyberte jednu z následujících možností. Aplikace, které nejsou nakonfigurované jednotlivě v části Nastavení programu, budou používat nastavení nakonfigurovaná tady:

    • Ve výchozím nastavení zapnuté – Omezení rizik je povolené pro aplikace, které nemají toto omezení rizik nastavené v části nastavení programu specifického pro aplikaci.
    • Vypnuto ve výchozím nastavení – Omezení rizik je zakázáno pro aplikace, které nemají toto omezení rizik nastaveno v části nastavení programu specifického pro aplikaci.
    • Použít výchozí – omezení rizik je buď povolené, nebo zakázané v závislosti na výchozí konfiguraci, která je nastavená instalací Windows 10 nebo Windows 11. Výchozí hodnota (Zapnuto nebo Vypnuto) je vždy zadaná vedle popisku Použít výchozí pro každé zmírnění rizik.

    Poznámka

    Při změně některých nastavení se může zobrazit okno Řízení uživatelských účtů. Pokud chcete nastavení použít, zadejte přihlašovací údaje správce.

    Změna některých nastavení může vyžadovat restartování zařízení.

  4. Opakujte tyto kroky konfigurace pro všechna omezení rizik na úrovni systému, která chcete nakonfigurovat.

  5. Přejděte do části Nastavení programu a zvolte aplikaci, u které chcete zmírnit rizika:

    1. Pokud už je aplikace, kterou chcete nakonfigurovat, uvedená, vyberte ji a pak vyberte Upravit.
    2. Pokud aplikace není uvedená, v horní části seznamu vyberte Přidat program, který chcete přizpůsobit, a pak zvolte, jak chcete aplikaci přidat:
      • Pokud chcete, aby se zmírnění rizik použilo u všech spuštěných procesů s tímto názvem, použijte příkaz Přidat podle názvu programu. Musíte zadat soubor s příponou. Můžete zadat úplnou cestu, abyste omezení rizik omezili jenom na aplikaci s tímto názvem v daném umístění.
      • Pomocí možnosti Zvolit přesnou cestu k souboru můžete otevřít standardní okno Průzkumníka Windows pro výběr souboru a vyhledat a vybrat soubor, který chcete.
  6. Po výběru aplikace se zobrazí seznam všech omezení rizik, která je možné použít. Pokud chcete zmírnění rizik povolit, zaškrtněte políčko a pak nastavte posuvník na Zapnuto. Vyberte další možnosti. Výběrem možnosti Auditovat použijete omezení rizik pouze v režimu auditování. Pokud potřebujete restartovat proces nebo aplikaci nebo restartovat Windows, budete upozorněni.

  7. Tento postup opakujte pro všechny aplikace a omezení rizik, která chcete nakonfigurovat. Až dokončíte nastavení konfigurace, vyberte Použít.

Konfiguraci ochrany zneužití teď můžete exportovat jako soubor XML nebo pokračovat v konfiguraci zmírnění rizik specifických pro aplikaci.

Export konfigurace jako souboru XML umožňuje zkopírovat konfiguraci z jednoho zařízení do jiných zařízení.

Referenční informace k PowerShellu

K nastavení ochrany před zneužitím můžete použít aplikaci Zabezpečení Windows nebo rutiny prostředí PowerShell.

Nastavení konfigurace, která se naposledy změnila, se použijí vždy bez ohledu na to, jestli používáte PowerShell nebo Zabezpečení Windows. Vzhledem k tomu, že se vždy použije naposledy upravená konfigurace, použijete-li aplikaci ke konfiguraci zmírnění rizik, pak pomocí PowerShellu nakonfigurujete stejné zmírnění rizik, aplikace se aktualizuje a zobrazí změny, které jste provedli v PowerShellu. Pokud byste pak pomocí aplikace toto zmírňující opatření znovu změnili, tato změna by se projevila.

Důležité

Veškeré změny nasazené na zařízení prostřednictvím Zásad skupiny přepíšou místní konfiguraci. Při nastavování počáteční konfigurace použijte zařízení, u kterého se nepoužije konfigurace Zásady skupiny, abyste zajistili, že se vaše změny nepřepíšou.

Můžete použít příkaz PowerShell Get nebo Set s rutinou ProcessMitigation. Pomocí Get zobrazíte seznam aktuálního stavu konfigurace všech zmírnění rizik, která byla na zařízení povolena – přidejte -Name rutinu a nástroj App Exe, abyste viděli zmírnění rizik pouze pro tuto aplikaci:

Get-ProcessMitigation -Name processName.exe

Důležité

Omezení rizik na úrovni systému, která nebyla nakonfigurována, zobrazí stav NOTSET.

U nastavení na úrovni systému NOTSET označuje, že bylo použito výchozí nastavení pro toto zmírnění.

U nastavení na úrovni aplikace NOTSET označuje, že se použije nastavení na úrovni systému pro zmírnění rizik.

Výchozí nastavení pro každé zmírnění rizik na úrovni systému je možné zobrazit v Zabezpečení Windows.

Ke konfiguraci jednotlivých zmírnění rizik použijte Set v následujícím formátu:

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

Kde:

  • <Rozsah>:
    • -Name k označení, že se opatření ke zmírnění rizik mají použít na konkrétní aplikaci. Po tomto příznaku zadejte spustitelný soubor aplikace.
    • -System, aby bylo zřejmé, že by se omezení rizik mělo použít na úrovni systému
  • <Akce>:
    • -Enable pro povolení zmírnění rizik
    • -Disable pro zakázání zmírnění rizik
  • <Zmírnění rizik>:

Pokud chcete například povolit mitigaci Zabránění spuštění dat (DEP) s emulací thunků ATL pro spustitelný soubor testing.exe ve složce C:\Apps\LOB\tests a zabránit tomuto spustitelnému souboru ve vytváření podřízených procesů, použili byste následující příkaz:

Set-ProcessMitigation -Name c:\apps\lob\tests\testing.exe -Enable DEP, EmulateAtlThunks, DisallowChildProcessCreation

Důležité

Jednotlivé možnosti zmírnění rizik oddělte čárkami.

Chcete-li použít mitigaci na úrovni celého systému místo pro konkrétní aplikaci, použijte obor platnosti -System. Pokud chcete například povolit program DEP pro všechny procesy na zařízení, použijte následující příkaz:

Set-Processmitigation -System -Enable DEP

Omezení rizik můžete zakázat tak, že -Enable nahradíte -Disable. Nicméně u opatření ke zmírnění rizik na úrovni aplikace to způsobí, že se toto opatření zakáže pouze pro danou aplikaci.

Pokud potřebujete obnovit omezení rizik na úrovni aplikace zpět do výchozího nastavení systému, musíte zahrnout i rutinu -Remove . Následující příklad odstraní přepsání DEP pro konkrétní aplikaci pro test.exe, aby používala výchozí nastavení systému:

Set-Processmitigation -Name test.exe -Remove -Disable DEP

Některá omezení rizik můžete také nastavit na režim auditování. Místo použití cmdletu PowerShellu ke zmírnění dopadu použijte cmdlet Audit mode, jak je uvedeno níže v tabulce cmdletů pro zmírnění dopadu ochrany před zneužitím.

Například následující příkaz povolí monitorování pouze v režimu auditu pro zmírnění rizik Arbitrary Code Guard (ACG) u dříve použitého souboru testing.exe, které zaznamenává porušení zásad, aniž by blokovalo spuštění:

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

Režim auditu můžete zakázat pomocí stejného příkazu, ale místo -Enable použijte -Disable.

Referenční tabulka PowerShellu

Tato tabulka obsahuje rutiny PowerShellu (a přidruženou rutinu režimu auditování), které se dají použít ke konfiguraci jednotlivých zmírnění rizik.

Zmírnění rizik Platí pro Rutiny PowerShellu Cmdlet režimu auditu
Ochrana řídicího toku (CFG) Systém a úroveň aplikace CFG, StrictCFG, SuppressExports Audit není k dispozici
Prevence spouštění dat (DEP) Systém a úroveň aplikace DEP, EmulateAtlThunks Audit není k dispozici
Vynutit randomizaci obrázků (povinné ASLR) Systém a úroveň aplikace ForceRelocateImages Audit není k dispozici
Náhodné přidělování paměti (ASLR zdola nahoru) Systém a úroveň aplikace BottomUp, HighEntropy Audit není k dispozici
Ověřování řetězců výjimek (SEHOP) Systém a úroveň aplikace SEHOP, SEHOPTelemetrie Audit není k dispozici
Ověřit integritu haldy Systém a úroveň aplikace TerminateOnError Audit není k dispozici
Ochrana před libovolným kódem (ACG) Pouze na úrovni aplikace DynamicCode AuditDynamicCode
Blokovat obrázky s nízkou integritou Pouze na úrovni aplikace BlockLowLabel AuditImageLoad
Blokovat vzdálené obrázky Pouze na úrovni aplikace BlockRemoteImages Audit není k dispozici
Blokovat nedůvěryhodná písma Pouze na úrovni aplikace DisableNonSystemFonts AuditFont, FontAuditOnly
Ochrana integrity kódu Pouze na úrovni aplikace MicrosoftSignedOnly, AllowStoreSignedBinaries AuditMicrosoftSigned, AuditStoreSigned
Zakázat body rozšíření Pouze na úrovni aplikace ExtensionPoint Audit není k dispozici
Zakázat systémová volání Win32k Pouze na úrovni aplikace DisableWin32kSystemCalls AuditSystemCall
Nepovolit podřízené procesy Pouze na úrovni aplikace DisallowChildProcessCreation AuditChildProcess
Filtrování exportovaných adres (EAF) Pouze na úrovni aplikace EnableExportAddressFilterPlus, EnableExportAddressFilter [1] Audit není k dispozici[2]
Filtrování importovaných adres (IAF) Pouze na úrovni aplikace EnableImportAddressFilter Audit není k dispozici[2]
Simulovat provádění (SimExec) Pouze na úrovni aplikace EnableRopSimExec Audit není k dispozici[2]
Ověřit vyvolání rozhraní API (CallerCheck) Pouze na úrovni aplikace EnableRopCallerCheck Audit není k dispozici[2]
Ověřit použití popisovače Pouze na úrovni aplikace StrictHandle Audit není k dispozici
Ověřit integritu závislosti obrázku Pouze na úrovni aplikace Vynutit podepisování závislostí modulů Audit není k dispozici
Ověřit integritu zásobníku (StackPivot) Pouze na úrovni aplikace EnableRopStackPivot Audit není k dispozici[2]

[1]: Chcete-li povolit export filtrování adres plus (EAF+) pro proces a omezit ho na konkrétní moduly DLL, použijte následující formát:

Set-ProcessMitigation -Name processName.exe -Enable EnableExportAddressFilterPlus -EAFModules dllName1.dll,dllName2.dll

[2]: Audit pro toto zmírnění rizik není dostupný prostřednictvím rutin PowerShellu.

Přizpůsobení oznámení o ochraně před zneužitím

Další informace o přizpůsobení oznámení při aktivaci pravidla a blokování aplikace nebo souboru najdete v tématu Zabezpečení Windows.