Uruchamianie programu antywirusowego Microsoft Defender w piaskownicy
Dotyczy:
- Microsoft Defender XDR
- Ochrona punktu końcowego w usłudze Microsoft Defender (plan 2)
- Microsoft Defender dla Firm
- Ochrona punktu końcowego w usłudze Microsoft Defender (plan 1)
- Program antywirusowy Microsoft Defender
Platformy:
- System Windows
Chcesz poznać usługę ochrony punktu końcowego w usłudze Microsoft Defender? Utwórz konto, aby skorzystać z bezpłatnej wersji próbnej.
W tym artykule opisano sposób uruchamiania programu antywirusowego Microsoft Defender w środowisku piaskownicy w celu zwiększenia ochrony przed naruszeniami.
program antywirusowy Microsoft Defender z wbudowanymi funkcjami antywirusowymi może działać w piaskownicy w systemie Windows od 26 października 2018 r. Było to pierwsze kompletne rozwiązanie antywirusowe, które ma tę możliwość i nadal prowadzi branżę w podnoszeniu poprzeczki dla bezpieczeństwa.
Przed rozpoczęciem należy spełnić następujące wymagania:
- program antywirusowy Microsoft Defender (tryb aktywny)
- Windows 11 lub Windows 10 wersji 1703 lub nowszej
- Windows Server 2022 lub Windows Server 2019 lub Windows Server 2016 lub nowsze
Badacze zabezpieczeń, zarówno wewnątrz firmy Microsoft, jak i poza nią, zidentyfikowali wcześniej sposoby, w jakie osoba atakująca może wykorzystać luki w zabezpieczeniach w analizatorach zawartości programu antywirusowego Microsoft Defender, które mogłyby umożliwić dowolne wykonywanie kodu. Aby sprawdzić cały system pod kątem złośliwej zawartości i artefaktów, program antywirusowy działa z wysokimi uprawnieniami (System lokalny, NT Authority\SYSTEM), co czyni go celem ataków.
Podczas gdy eskalacja uprawnień z piaskownicy jest o wiele trudna w przypadku najnowszych wersji Windows 10 lub nowszych, a uruchomienie programu antywirusowego Microsoft Defender w piaskownicy zapewnia, że w mało prawdopodobnym przypadku naruszenia zabezpieczeń złośliwe działania są ograniczone do środowiska izolowanego, chroniąc resztę systemu przed szkodą. Jest to część ciągłych inwestycji firmy Microsoft, aby wyprzedzić osoby atakujące dzięki innowacjom w zakresie bezpieczeństwa.
Nowoczesne produkty chroniące przed złośliwym oprogramowaniem sprawdzają wiele danych wejściowych, na przykład pliki na dysku, strumienie danych w pamięci i zdarzenia behawioralne w czasie rzeczywistym. Wiele z tych możliwości wymaga pełnego dostępu do danych zasobów. Pierwszy duży wysiłek związany z piaskownicą był związany z nakładaniem Microsoft Defender możliwości inspekcji programu antywirusowego na składniki, które absolutnie muszą być uruchamiane z pełnymi uprawnieniami i składnikami, które mogą być w trybie piaskownicy. Celem składników w trybie piaskownicy było zapewnienie, że obejmują one funkcje o najwyższym ryzyku, takie jak skanowanie niezaufanych danych wejściowych, rozszerzanie kontenerów itd. Jednocześnie musieliśmy zminimalizować liczbę interakcji między dwiema warstwami, aby uniknąć znacznych kosztów wydajności.
Użycie zasobów to również kolejny problem, który wymaga znacznych inwestycji, zarówno proces uprzywilejowany, jak i proces piaskownicy muszą mieć dostęp do aktualizacji analizy zabezpieczeń, innych wykrywania i metadanych korygowania. Aby uniknąć duplikowania i zachować silne gwarancje zabezpieczeń, które mają na celu uniknięcie niebezpiecznych sposobów udostępniania stanu lub wprowadzenie znacznych kosztów środowiska uruchomieniowego związanych z przekazywaniem danych/zawartości między procesami, używamy modelu, w którym większość danych ochrony jest hostowana w plikach mapowanych na pamięć, które są tylko do odczytu w czasie wykonywania. Oznacza to, że dane ochrony mogą być hostowane w wielu procesach bez żadnych nakładów pracy.
Aby włączyć piaskownicę, możesz wykonać następujące kroki, ustawiając zmienną środowiskową dla całej maszyny:
Uruchom następujące polecenie jako administrator w programie PowerShell lub cmd:
setx /M MP_FORCE_USE_SANDBOX 1
Uruchom urządzenie ponownie. Po ponownym uruchomieniu zobaczysz nowy proces oprócz MsMpEng.exe, który znajduje
MsMpEngCP.exe
się w następujących folderach:Ścieżka Proces Opis C:\ProgramData\Microsoft\Windows Defender\Scans MsMpEngCP.exe Proces zawartości wykonywalnej usługi chroniącej przed złośliwym oprogramowaniem C:\Users\All Users\Microsoft\Windows Defender\Scans MsMpEngCP.exe Proces zawartości wykonywalnej usługi chroniącej przed złośliwym oprogramowaniem Uwaga
Cp in
MsMpEngCP.exe
to proces zawartości.
Aby wyłączyć piaskownicę dla programu antywirusowego Microsoft Defender, uruchom następujące polecenie jako administrator w programie PowerShell lub cmd:
setx /M MP_FORCE_USE_SANDBOX 0
Microsoft Defender Program antywirusowy wykonuje rezerwowy proces in-proc, który hostuje skanowanie zawartości w procesie uprzywilejowanym/nadrzędnym w celu zapewnienia ochrony.
Procesy zawartości, które są uruchamiane z niskimi uprawnieniami, również agresywnie wykorzystują wszystkie dostępne zasady ograniczania ryzyka, aby ograniczyć atak na powierzchnię. Umożliwiają one i zapobiegają zmianom w czasie wykonywania dla nowoczesnych technik ograniczania luk w zabezpieczeniach, takich jak zapobieganie wykonywaniu danych (DEP), randomizacja układu przestrzeni adresowej (ASLR) i Control Flow Guard (CFG). Wyłączają również wywołania systemowe Win32K i wszystkie punkty rozszerzalności, a także wymuszają załadowanie tylko podpisanego i zaufanego kodu.
Wydajność mdav z włączoną piaskownicą
Wydajność jest często głównym problemem dotyczącym piaskownicy, zwłaszcza biorąc pod uwagę, że produkty chroniące przed złośliwym oprogramowaniem znajdują się w wielu krytycznych ścieżkach, takich jak synchroniczne sprawdzanie operacji plików oraz przetwarzanie i agregowanie lub dopasowywanie dużej liczby zdarzeń środowiska uruchomieniowego. Aby zapewnić, że wydajność nie obniży się, musieliśmy zminimalizować liczbę interakcji między piaskownicą a procesem uprzywilejowanym. Jednocześnie te interakcje są wykonywane tylko w kluczowych momentach, w których ich koszt nie byłby znaczący, na przykład podczas wykonywania operacji we/wy.
Microsoft Defender Program antywirusowy podejmuje zaaranżowany wysiłek, aby uniknąć niepotrzebnych operacji we/wy, na przykład minimalizacja ilości danych odczytanych dla każdego badanego pliku jest najważniejsza w utrzymaniu dobrej wydajności, zwłaszcza na starszym sprzęcie (dysk obrotowy, zasoby zdalne). Dlatego kluczowe było utrzymanie modelu, w którym piaskownica może żądać danych do inspekcji w razie potrzeby, zamiast przekazywać całą zawartość.
Niezawodność mdav z włączoną piaskownicą
Uwaga
Przekazywanie dojść do piaskownicy (aby uniknąć kosztów przekazywania rzeczywistej zawartości) nie jest możliwe, ponieważ istnieje wiele scenariuszy, takich jak inspekcja w czasie rzeczywistym, interfejs AMSI itp., w którym nie ma uchwytu "sharable", który może być używany przez piaskownicę bez przyznawania znaczących uprawnień, co zmniejsza bezpieczeństwo.
Innym istotnym problemem związanym z piaskownicą jest mechanizm komunikacji między procesami, aby uniknąć potencjalnych problemów, takich jak zakleszczenia i inwersje priorytetowe. Komunikacja nie powinna wprowadzać żadnych potencjalnych wąskich gardeł, ograniczania przepustowości obiektu wywołującego lub ograniczania liczby współbieżnych żądań, które mogą być przetwarzane. Ponadto proces piaskownicy nie powinien wyzwalać operacji inspekcji samodzielnie. Wszystkie inspekcje powinny odbywać się bez wyzwalania większej liczby skanów. Wymaga to pełnego kontrolowania możliwości piaskownicy i zapewnienia, że nie można wyzwolić żadnych nieoczekiwanych operacji. Aplikacje o niskich uprawnieniach to doskonały sposób na zaimplementowanie silnych gwarancji, ponieważ model oparty na możliwościach umożliwi szczegółową kontrolę nad określaniem możliwości procesu piaskownicy.
Korygowanie mdav z włączoną piaskownicą
Ponadto istotne wyzwanie z punktu widzenia bezpieczeństwa jest związane z korygacją lub dezynfekcją zawartości. Biorąc pod uwagę poufny charakter akcji (próby przywrócenia pliku binarnego do oryginalnej zawartości preinfection), musieliśmy upewnić się, że dzieje się to z wysokimi uprawnieniami w celu wyeliminowania przypadków, w których proces zawartości (piaskownica) może zostać naruszony, a dezynfekcja może zostać użyta do zmodyfikowania wykrytego pliku binarnego w nieoczekiwany sposób.
Co zrobić podczas rozwiązywania problemów z procesem MsMpEng.CP.exe, jeśli zostanie uruchomiony i zatrzymany po kilku minutach?
Zbierz dzienniki diagnostyczne pomocy technicznej i wszelkie odpowiednie zrzuty/informacje o awarii, jeśli istnieją skojarzone zdarzenia Raportowanie błędów systemu Windows (WER) w czasie zatrzymania procesu.