Dostosuj ochronę przed wykorzystaniem

Dotyczy:

Chcesz poznać usługę ochrony punktu końcowego w usłudze Microsoft Defender? Utwórz konto, aby skorzystać z bezpłatnej wersji próbnej.

Ochrona przed programami wykorzystującymi luki w zabezpieczeniach automatycznie stosuje szereg technik ograniczania ryzyka związanego z tymi programami zarówno w procesach systemu operacyjnego, jak i w poszczególnych aplikacjach.

Skonfiguruj te ustawienia przy użyciu aplikacji Zabezpieczenia Windows na poszczególnych urządzeniach. Następnie wyeksportuj konfigurację jako plik XML, aby można było ją wdrożyć na innych urządzeniach. Użyj zasad grupy, aby rozpowszechnić plik XML na wielu urządzeniach jednocześnie. Możesz również skonfigurować środki zaradcze za pomocą programu PowerShell.

W tym artykule wymieniono wszystkie środki zaradcze dostępne w ramach ochrony przed programami wykorzystującymi luki w zabezpieczeniach. Wskazuje, czy środki zaradcze można zastosować w całym systemie, czy do poszczególnych aplikacji oraz zawiera krótki opis sposobu działania ograniczania ryzyka.

Opisuje również sposób włączania lub konfigurowania środków zaradczych przy użyciu Zabezpieczeń systemu Windows, programu PowerShell i dostawców usług konfiguracji zarządzania urządzeniami przenośnymi (MDM). Jest to pierwszy krok tworzenia konfiguracji, którą można wdrożyć w całej sieci. Następny krok obejmuje generowanie, eksportowanie, importowanie i wdrażanie konfiguracji na wielu urządzeniach.

Ostrzeżenie

Niektóre technologie ograniczania ryzyka w ramach zabezpieczeń mogą mieć problemy ze zgodnością w odniesieniu do niektórych aplikacji. Przed wdrożeniem konfiguracji w środowisku produkcyjnym lub w pozostałej części sieci należy przetestować ochronę przed programami wykorzystującymi luki we wszystkich docelowych scenariuszach użycia za pomocą trybu inspekcji.

Środki zaradcze ochrony przed programami wykorzystującymi luki w zabezpieczeniach

Wszystkie środki zaradcze można skonfigurować dla poszczególnych aplikacji. Niektóre środki zaradcze można również zastosować na poziomie systemu operacyjnego.

Możesz włączyć, wyłączyć lub ustawić wartość domyślną każdego z tych środków zaradczych. Niektóre środki zaradcze mają dodatkowe opcje wskazane w opisie w tabeli.

Wartości domyślne są zawsze określane w nawiasach jako opcja Użyj domyślnej dla każdego ograniczenia ryzyka. W poniższym przykładzie domyślnym ustawieniem zapobiegania wykonywaniu danych jest wartość „Włączone”.

Konfiguracja Użyj domyślnej dla każdego z ustawień ograniczania ryzyka wskazuje nasze zalecenie dotyczące podstawowego poziomu ochrony dla codziennego użytkowania dla użytkowników domowych. Wdrożenia przedsiębiorstw powinny uwzględniać ochronę wymaganą dla ich indywidualnych potrzeb, w związku z czym może być konieczne zmodyfikowanie konfiguracji na inna niż wartości domyślne.

Aby uzyskać informacje o skojarzonych poleceniach cmdlet programu PowerShell dla każdego ograniczenia ryzyka, zobacz tabelę referencyjną programu PowerShell w dolnej części tego artykułu.

Ograniczenie ryzyka Opis Można zastosować do Dostępny tryb inspekcji
Ochrona przepływu sterowania (CFG) Gwarantuje integralność przepływu sterowania dla wywołań pośrednich. Opcjonalnie można wstrzymywać eksporty i używać ścisłej grupy CFG. Poziom systemu i aplikacji Nie
Zapobieganie wykonywaniu danych (DEP) Zapobiega uruchamianiu kodu ze stron pamięci tylko do danych, takich jak sterta i stosy. Można skonfigurować tylko dla aplikacji 32-bitowych (x86), a dla wszystkich innych architektur są trwale włączone. Opcjonalnie można włączyć emulację konwersji bitowej ATL. Poziom systemu i aplikacji Nie
Wymuś losowe generowanie obrazów (obowiązkowa funkcja ASLR) Wymusza przeniesienie obrazów, które nie zostały skompilowane za pomocą funkcji /DYNAMICBASE. Opcjonalnie ładowanie obrazów, które nie mają informacji o relokacji, może zakończyć się niepowodzeniem. Poziom systemu i aplikacji Nie
Generuj losowo alokacje pamięci (funkcja ASLR „od dołu do góry”) Generuj losowo lokalizacje alokacji pamięci wirtualnej. Obejmuje struktury systemu, takie jak sterty, stosy, TEB i PEB. Opcjonalnie można użyć szerszej wariancji losowej dla procesów 64-bitowych. Poziom systemu i aplikacji Nie
Weryfikuj łańcuchy wyjątków (SEHOP) Zapewnia integralność łańcucha wyjątków podczas wysyłania wyjątków. Można skonfigurować tylko dla aplikacji 32-bitowych (x86). Poziom systemu i aplikacji Nie
Weryfikuj integralność stosu Kończy proces po wykryciu uszkodzenia sterty. Poziom systemu i aplikacji Nie
Ochrona dowolnego kodu (ACG) Zapobiega wprowadzeniu kodu wykonywalnego bez wsparcia obrazu i uniemożliwia modyfikowanie stron kodowych. Opcjonalnie można zezwolić na rezygnację z wątku i zezwolić na zdalne obniżanie poziomu zaawansowania (można to skonfigurować tylko w programie PowerShell). Tylko na poziomie aplikacji Tak
Blokuj obrazy o niskiej integralności Uniemożliwia ładowanie obrazów oznaczonych jako obrazy o niskiej integralności. Tylko na poziomie aplikacji Tak
Blokuj obrazy zdalne Uniemożliwia ładowanie obrazów z urządzeń zdalnych. Tylko na poziomie aplikacji Nie
Blokuj niezaufane czcionki Uniemożliwia ładowanie czcionek opartych na interfejsie GDI, które nie są zainstalowane w katalogu czcionek systemowych, w szczególności czcionek z sieci Web. Tylko na poziomie aplikacji Tak
Ochrona integralności kodu Ogranicza ładowanie obrazów podpisanych przez firmę Microsoft, WHQL lub nowszych programów. Opcjonalnie można zezwolić na podpisane obrazy ze sklepu Microsoft Store. Tylko na poziomie aplikacji Tak
Wyłącz punkty rozszerzeń Wyłącza różne mechanizmy rozszerzalności, które umożliwiają iniekcję biblioteki DLL do wszystkich procesów, takich jak biblioteki DLL AppInit, punkty zaczepienia okien i dostawcy usług Winsock. Tylko na poziomie aplikacji Nie
Wyłącz wywołania systemowe Win32k Uniemożliwia aplikacji korzystanie z tabeli wywołań systemowych Win32k. Tylko na poziomie aplikacji Tak
Nie zezwalaj na procesy podrzędne Uniemożliwia aplikacji tworzenie procesów podrzędnych. Tylko na poziomie aplikacji Tak
Filtrowanie adresów eksportu (EAF) Wykrywa niebezpieczne operacje rozwiązywane przez złośliwy kod. Opcjonalnie może weryfikować dostęp przez moduły często używane przez programy wykorzystujące luki w zabezpieczeniach. Tylko na poziomie aplikacji Tak
Filtrowanie adresów importu (IAF) Wykrywa niebezpieczne operacje rozwiązywane przez złośliwy kod. Tylko na poziomie aplikacji Tak
Symuluj wykonywanie (SimExec) Zapewnia, że wywołania poufnych interfejsów API będą zwracane do uprawnionych obiektów wywołujących. Można skonfigurować tylko dla aplikacji 32-bitowych (x86). Niezgodne z usługą ACG. Tylko na poziomie aplikacji Tak
Weryfikuj wywołanie interfejsu API (CallerCheck) Zapewnia, że poufne interfejsy API są wywoływane przez uprawnione obiekty wywołujące. Można skonfigurować tylko dla aplikacji 32-bitowych (x86). Niezgodne z usługą ACG Tylko na poziomie aplikacji Tak
Weryfikuj użycie dojścia Powoduje, że wyjątek jest zgłaszany dla wszelkich nieprawidłowych odwołaniach do dojścia. Tylko na poziomie aplikacji Nie
Weryfikuj integralność zależności obrazu Wymusza podpisywanie kodu na potrzeby ładowania zależności obrazu systemu Windows. Tylko na poziomie aplikacji Nie
Weryfikuj integralność stosu (StackPivot) Zapewnia, że stos nie został przekierowany dla poufnych interfejsów API. Niezgodne z usługą ACG. Tylko na poziomie aplikacji Tak

Ważna

Jeśli dodasz aplikację do sekcji Ustawienia programu i skonfigurujesz w niej poszczególne ustawienia środków ograniczania ryzyka, będą one honorowane w pierwszej kolejności względem konfiguracji dla tych samych środków określonych w sekcji Ustawienia systemu. Poniższa macierz i przykłady pomagają zilustrować sposób działania ustawień domyślnych:

Włączone w Ustawieniach programu Włączone w Ustawieniach systemu Zachowanie
Tak Nie Zgodnie z definicją w Ustawieniach programu
Tak Tak Zgodnie z definicją w Ustawieniach programu
Nie Tak Zgodnie z definicją w Ustawieniach systemu
Nie Nie Domyślne, zgodnie z definicją w opcji Użyj domyślnych
  • Przykład 1 Michał konfiguruje funkcję Zapobieganie wykonywaniu danych (DEP) w sekcji Ustawienia systemowe na wartość domyślnie Wyłączone. Firma Mikael dodaje następnie aplikację test.exe do sekcji Ustawienia programu. W opcjach dla tej aplikacji w obszarze Zapobieganie wykonywaniu danych (DEP), włącza opcję Zastąp ustawienia systemowe i ustawia przełącznik na wartość Włączone. W sekcji Ustawienia programu nie ma żadnych innych aplikacji. W rezultacie funkcja DEP będzie włączona tylko dla aplikacji test.exe. Wszystkie inne aplikacje nie będą miały zastosowanej funkcji DEP.

  • Przykład 2 Joanna konfiguruje funkcję Zapobieganie wykonywaniu danych (DEP) w sekcji Ustawienia systemowe na wartość domyślnie Wyłączone. Joanna dodaje następnie aplikację test.exe do sekcji Ustawienia programu. W opcjach dla tej aplikacji, w obszarze Zapobieganie wykonywaniu danych (DEP), włącza opcję Zastąp ustawienia systemowe i ustawia przełącznik na wartość Włączone. Monika dodaje również aplikację miles.exe do sekcji Ustawienia programu i konfiguruje funkcję Ochrony przepływu sterowania (CFG) na wartość Włączone. Nie włącza opcji Zastąp ustawienia systemowe dla funkcji DEP ani żadnych innych środków ograniczania ryzyka dla tej aplikacji. W rezultacie funkcja DEP zostanie włączona dla aplikacji test.exe. Program DEP nie będzie włączony dla żadnej innej aplikacji, w tym miles.exe. Funkcja Strażnika przepływu sterowania zostanie włączona dla aplikacji miles.exe.

Uwaga

Jeśli w tym artykule znaleziono jakiekolwiek problemy, możesz zgłosić je bezpośrednio do partnera klienckiego systemu Windows Server/Systemu Windows lub użyć numerów pomocy technicznej firmy Microsoft dla twojego kraju/regionu.

Konfigurowanie środków zaradczych na poziomie systemu za pomocą aplikacji Zabezpieczenia Windows

  1. Otwórz aplikację Zabezpieczenia Windows, wybierając ikonę tarczy na pasku zadań lub wyszukując w menu Start pozycję Zabezpieczenia Windows.

  2. Wybierz kafelek Sterowanie aplikacjami i przeglądarką (lub ikonę aplikacji na pasku menu po lewej stronie), a następnie wybierz Ochronę przed programami wykorzystującymi luki w zabezpieczeniach.

  3. W sekcji Ustawienia systemowe znajdź środki zaradcze, które chcesz skonfigurować i wybierz jedną z następujących opcji. Aplikacje, które nie są skonfigurowane indywidualnie w sekcji Ustawienia programu, użyją ustawień skonfigurowanych tutaj:

    • Domyślnie włączone – środki ograniczania ryzyka są włączone dla aplikacji, dla których ich nie skonfigurowano w specyficznej dla aplikacji sekcji Ustawienia programu
    • Domyślnie wyłączone – środki ograniczania ryzyka są wyłączone dla aplikacji, dla których ich nie skonfigurowano w specyficznej dla aplikacji sekcji Ustawień programu
    • Użyj wartości domyślnej – środki ograniczania ryzyka są włączone lub wyłączone, w zależności od domyślnej konfiguracji ustawionej przez instalację systemu Windows 10 lub Windows 11; wartość domyślna (Włączone lub Wyłączone) jest zawsze określona obok etykiety Użyj domyślnej dla każdego środka ograniczania ryzyka

    Uwaga

    Podczas zmieniania niektórych ustawień może zostać wyświetlone okno Kontrola konta użytkownika. Wprowadź poświadczenia administratora, aby zastosować ustawienie.

    Zmiana niektórych ustawień może wymagać ponownego uruchomienia.

  4. Powtórz tę czynność dla wszystkich środków zaradczych na poziomie systemu, które chcesz skonfigurować.

  5. Przejdź do sekcji Ustawienia programu i wybierz aplikację, do której chcesz zastosować środki zaradcze:

    1. Jeśli aplikacja, którą chcesz skonfigurować, znajduje się już na liście, zaznacz ją, a następnie wybierz pozycję Edytuj.
    2. Jeśli aplikacji nie ma na liście, w górnej części listy wybierz pozycję Dodaj program, aby dostosować, a następnie wybierz sposób dodawania aplikacji:
      • Użyj polecenia Dodaj według nazwy programu, aby zastosować środki ograniczania ryzyka do dowolnego uruchomionego procesu o tej nazwie. Należy określić plik z rozszerzeniem. Możesz wprowadzić pełną ścieżkę, aby ograniczyć zastosowanie środków ograniczania ryzyka tylko do aplikacji o tej nazwie w danej lokalizacji.
      • Użyj opcji Wybierz dokładną ścieżkę pliku, aby użyć standardowego okna selektora plików Eksploratora Windows w celu znalezienia i wybrania odpowiedniego pliku.
  6. Po wybraniu aplikacji zostanie wyświetlona lista wszystkich środków ograniczania ryzyka, które można zastosować. Aby włączyć ograniczanie ryzyka, zaznacz pole wyboru, a następnie zmień suwak na pozycję Włączone. Wybierz dodatkowe opcje. Wybranie opcji Inspekcja spowoduje zastosowanie środków ograniczania ryzyka tylko w trybie inspekcji. Otrzymasz powiadomienie, jeśli musisz ponownie uruchomić proces lub aplikację albo jeśli musisz ponownie uruchomić system Windows.

  7. Powtórz te kroki dla wszystkich aplikacji i środków zaradczych, które chcesz skonfigurować. Po zakończeniu konfiguracji wybierz pozycję Zastosuj.

Teraz możesz wyświetlić te ustawienia jako plik XML lub kontynuować konfigurowanie środków zaradczych specyficznych dla aplikacji.

Eksportowanie konfiguracji jako pliku XML umożliwia skopiowanie konfiguracji z jednego urządzenia na inne urządzenia.

Dokumentacja programu PowerShell

Za pomocą aplikacji Zabezpieczenia Windows można skonfigurować ochronę przed programami wykorzystującymi luki w zabezpieczeniach lub użyć w tym celu poleceń cmdlet programu PowerShell.

Ustawienia konfiguracji, które zostały zmodyfikowane jako ostatnie, będą zawsze stosowane — niezależnie od tego, czy używasz programu PowerShell, czy zabezpieczeń systemu Windows. Oznacza to, że jeśli skonfigurujesz środki zaradcze za pomocą aplikacji, a następnie użyjesz programu PowerShell do skonfigurowania tego samego ograniczenia ryzyka, aplikacja zostanie zaktualizowana w celu wyświetlenia zmian wprowadzonych za pomocą programu PowerShell. Gdyby następnie ponownie chciano zmienić środki zaradcze za pomocą aplikacji, ta ostatnia zmiana zostałaby zastosowana.

Ważna

Wszelkie zmiany wdrożone na urządzeniu za pomocą zasad grupy zastąpią konfigurację lokalną. Podczas ustawiania konfiguracji początkowej użyj urządzenia, które nie będzie miało zastosowanej konfiguracji zasad grupy, aby upewnić się, że zmiany nie zostaną zastąpione.

Możesz użyć operatora programu PowerShell Get lub Set polecenia cmdlet ProcessMitigation. Użycie Get spowoduje wyświetlenie bieżącego stanu konfiguracji wszelkich środków ograniaczania ryzyka, które zostały włączone na urządzeniu — dodaj -Name polecenie cmdlet i plik exe aplikacji, aby zobaczyć środki ograniczania ryzyka tylko dla tej aplikacji:

Get-ProcessMitigation -Name processName.exe

Ważna

Środki ograniczania ryzyka na poziomie systemu, które nie zostały skonfigurowane, będą wyświetlać stan NOTSET.

W przypadku ustawień na poziomie systemu, NOTSET wskazuje, że zostało zastosowane domyślne ustawienie tego środka ograniczania ryzyka.

W przypadku ustawień na poziomie aplikacji, NOTSET wskazuje, że zostanie zastosowane ustawienie na poziomie systemu dla tego środka ograniczania ryzyka.

Domyślne ustawienie dla każdego środka ograniczania ryzyka na poziomie systemu można zobaczyć w zabezpieczeniach systemu Windows.

Użyj Set, aby skonfigurować poszczególne środki ograniczania ryzyka w następującym formacie:

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

Gdzie:

  • <Zakres>:
    • -Name wskazujące, że środki ograniczania ryzyka należy zastosować do określonej aplikacji. Określ plik wykonywalny aplikacji po tym oflagowaniu.
    • -System wskazujące, że środki ograniczania ryzyka należy zastosować na poziomie systemowym
  • <Akcja>:
    • -Enable, aby włączyć środki ograniczania ryzyka
    • -Disable, aby wyłączyć środki ograniczania ryzyka
  • <Środki zaradcze>:
    • Polecenie cmdlet ograniczania ryzyka zdefiniowane w tabeli poleceń cmdlet poniżej wraz z wszelkimi opcjami podrzędnymi (ujętymi w spacje). Poszczególne środki ograniczania ryzyka są oddzielone przecinkami.

Aby na przykład włączyć środki ograniczanie ryzyka funkcji Zapobiegania wykonywaniu danych (DEP) za pomocą emulacji ATL i dla pliku wykonywalnego o nazwie testing.exe w folderze C:\Apps\LOB\tests i uniemożliwić temu plikowi wykonywalnemu tworzenie procesów podrzędnych, należy użyć następującego polecenia:

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

Ważna

Oddziel każdą opcję ograniczania ryzyka przecinkami.

Jeśli chcesz zastosować funkcję DEP na poziomie systemu, użyj następującego polecenia:

Set-Processmitigation -System -Enable DEP

Aby wyłączyć środki ograniczania ryzyka, można zamienić -Enable na -Disable. Jednak w przypadku środków zaradczych na poziomie aplikacji, wymusi to wyłączenie ograniczania ryzyka tylko dla tej aplikacji.

Jeśli chcesz przywrócić środki ograniczania ryzyka z powrotem do domyślnego ustawienia systemu, musisz również uwzględnić -Remove polecenie cmdlet, jak w poniższym przykładzie:

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

Możesz również ustawić niektóre środki zaradcze w trybie inspekcji. Zamiast używać polecenia cmdlet programu PowerShell do ograniczania ryzyka, użyj polecenia cmdlet w Trybie inspekcji, jak określono w tabeli poleceń cmdlet poniżej.

Aby na przykład włączyć funkcję Arbitrary Code Guard (ACG) w trybie inspekcji dla aplikacji testing.exe użytej wcześniej, należy użyć następującego polecenia:

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

Tryb inspekcji można wyłączyć przy użyciu tego samego polecenia, ale zastępując -Enable za pomocą -Disable.

Tabela referencyjna programu PowerShell

W tej tabeli wymieniono polecenia cmdlet programu PowerShell (i skojarzone polecenie cmdlet trybu inspekcji), których można użyć do skonfigurowania poszczególnych środków zaradczych.

Ograniczenie ryzyka Informacje zawarte w tym artykule dotyczą Polecenia cmdlet programu PowerShell Polecenie cmdlet trybu inspekcji
Ochrona przepływu sterowania (CFG) Poziom systemu i aplikacji CFG, StrictCFG, SuppressExports Inspekcja niedostępna
Zapobieganie wykonywaniu danych (DEP) Poziom systemu i aplikacji DEP, EmulateAtlThunks Inspekcja niedostępna
Wymuś losowe generowanie obrazów (obowiązkowa funkcja ASLR) Poziom systemu i aplikacji ForceRelocateImages Inspekcja niedostępna
Generuj losowo alokacje pamięci (funkcja ASLR „od dołu do góry”) Poziom systemu i aplikacji BottomUp, HighEntropy Inspekcja niedostępna
Weryfikuj łańcuchy wyjątków (SEHOP) Poziom systemu i aplikacji SEHOP, SEHOPTelemetry Inspekcja niedostępna
Weryfikuj integralność stosu Poziom systemu i aplikacji TerminateOnError Inspekcja niedostępna
Ochrona dowolnego kodu (ACG) Tylko na poziomie aplikacji DynamicCode AuditDynamicCode
Blokuj obrazy o niskiej integralności Tylko na poziomie aplikacji BlockLowLabel AuditImageLoad
Blokuj obrazy zdalne Tylko na poziomie aplikacji BlockRemoteImages Inspekcja niedostępna
Blokuj niezaufane czcionki Tylko na poziomie aplikacji DisableNonSystemFonts AuditFont, FontAuditOnly
Ochrona integralności kodu Tylko na poziomie aplikacji BlockNonMicrosoftSigned, AllowStoreSigned AuditMicrosoftSigned, AuditStoreSigned
Wyłącz punkty rozszerzeń Tylko na poziomie aplikacji ExtensionPoint Inspekcja niedostępna
Wyłącz wywołania systemowe Win32k Tylko na poziomie aplikacji DisableWin32kSystemCalls AuditSystemCall
Nie zezwalaj na procesy podrzędne Tylko na poziomie aplikacji DisallowChildProcessCreation AuditChildProcess
Filtrowanie adresów eksportu (EAF) Tylko na poziomie aplikacji EnableExportAddressFilterPlus, EnableExportAddressFilter [1] Inspekcja jest niedostępna[2]
Filtrowanie adresów importu (IAF) Tylko na poziomie aplikacji EnableImportAddressFilter Inspekcja jest niedostępna[2]
Symuluj wykonywanie (SimExec) Tylko na poziomie aplikacji EnableRopSimExec Inspekcja jest niedostępna[2]
Weryfikuj wywołanie interfejsu API (CallerCheck) Tylko na poziomie aplikacji EnableRopCallerCheck Inspekcja jest niedostępna[2]
Weryfikuj użycie dojścia Tylko na poziomie aplikacji StrictHandle Inspekcja niedostępna
Weryfikuj integralność zależności obrazu Tylko na poziomie aplikacji EnforceModuleDepencySigning Inspekcja niedostępna
Weryfikuj integralność stosu (StackPivot) Tylko na poziomie aplikacji EnableRopStackPivot Inspekcja jest niedostępna[2]

[1]: Użyj następującego formatu, aby włączyć moduły EAF dla bibliotek dll dla procesu:

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

[2]: Inspekcja tego ograniczenia ryzyka nie jest dostępna za pośrednictwem poleceń cmdlet programu PowerShell.

Dostosuj powiadomienie

Aby uzyskać więcej informacji na temat dostosowywania powiadomienia po wyzwoleniu reguły i blokowania aplikacji lub pliku, zobacz Zabezpieczeń systemu Windows.

Zobacz też

Porada

Chcesz dowiedzieć się więcej? Engage ze społecznością microsoft security w naszej społeczności technicznej: Ochrona punktu końcowego w usłudze Microsoft Defender Tech Community.