Defender: antywirus Windowsa. Ile jest wart i jak go skonfigurować? Część IV

Interfejs graficzny systemowego Defendera jest bardzo przystępny i łatwy w użyciu. Jest tak przystępny, że może prędko sprawić trudności użytkownikom, którzy szukają w nim zaawansowanych ustawień oraz szczegółów działania. Na szczęście, ukrycie opcji i detali w UI nie poszło w parze z usunięciem ich z programu. Wiele interesujących cech Defendera oraz cały wachlarz szczegółów dotyczących jego pracy dostarczą nam systemowy Dziennik Zdarzeń oraz dedykowane cmdlety środowiska PowerShell.

Defender: antywirus Windowsa (fot. PxHere, CC0)
Defender: antywirus Windowsa (fot. PxHere, CC0)
Kamil J. Dudek

15.11.2020 | aktual.: 15.11.2020 18:14

Zalogowani mogą więcej

Możesz zapisać ten artykuł na później. Znajdziesz go potem na swoim koncie użytkownika

Ponieważ Defender usiłuje przejąć część rynku korporacyjnych antywirusów, dostarcza bardzo rozbudowane środowisko logowania, celem dostarczania dokładnych raportów ochrony do większych systemów SIEM. Dostawca logów "Microsoft-Windows-Windows Defender" i jego dziennik "Operational", dostarczane razem z Windows, zawierają bardzo dokładne informacje na temat tego, czym Defender zajmuje się podczas pracy w tle. Mimo swojej objętości, logi te mogłyby być jednak nieco lepsze: nie dowiemy się z nich na przykład o przesyłanych do chmury próbkach. Ale zapoznamy się z wieloma innymi informacjami.

Dziennik Zdarzeń

Na przykład, gdy silnik Defendera znajdzie zagrożenie, utworzy w Dzienniku Zdarzeń ślad informujący o nim i przydzieli mu klasyfikację Ostrzeżenie. Gdy użytkownik podejmie akcję (lub po chwili Defender podejmie ją automatycznie), w Dzienniku zostanie utworzony drugi ślad, tym razem o poziomie Informacja. Dopiero niepowodzenie w usunięciu zagrożenia wygeneruje ślad o klasyfikacji Błąd.

Obraz

Aby zapoznać się z historią wszystkich zagrożeń wykrytych przez Defendera, należy przeszukać Dziennik pod kątem zdarzeń o identyfikatorach 1006, 1015 i 1116. Zawierają one informacje o zatrzymaniu działania wirusa, wykrycia pliku z wirusem lub zablokowaniu podejrzanego zachowania. Osiągniemy to następującym poleceniem:

[code=powershell]Get-WinEvent -LogName "Microsoft-Windows-Windows Defender/Operational" | `Where-Object { $.Id -eq 1006 -or $.Id -eq 1015 -or $_.Id -eq 1116 }[/code]

cmdlety użytkowe

Jest to jednak informacja interesująca z perspektywy administratora, zbierającego logi ze wszystkich stacji roboczych pod swoją opieką. Dla użytkowników końcowych, Microsoft przygotował bardziej przystępne polecenia, dzięki którym nie jest potrzebne samodzielne filtrowanie i przetwarzanie wpisów z Dziennika. Mowa o Get-MpThreat oraz Get-MpThreatDetection.

Obraz

Get-MpThreat pokaże mniej więcej to, co pojawia się na interaktywnych powiadomieniach w razie wykrycia zagrożenia. Jest to cmdlet patrzący z perspektywy ochrony: własności zwracanego przez niego obiektu dotyczą takich rzeczy, jak to czy zagrożenie dalej jest aktywne, czy udało mu się wykonać, jaka jest nazwa wirusa i poziom zagrożenia, oraz w jakim został wykryty elemencie.

Get-MpThreatDetection jest bliższy wyjściu z Dziennika Zdarzeń i zawiera szczegóły z perspektywy badania incydentów bezpieczeństwa: kiedy nastąpiło wykrycie, która wersja silnika i definicji tego dokonała, czy akcja prewencyjna zakończyła się sukcesem. Zagrożenie widoczne tylko raz w Get-MpThreat może obfitować wieloma wpisami w Get-MpThreatDetection, jeżeli antywirus "walczył" z nim i podejmował wiele kroków. Aby poznać listę wszystkich wirusów wykrytych na komputerze przez Defendera, należy wydać polecenie:

[code=powershell]Get-MpThreatDetection | % { Get-MpThreatCatalog -ThreatID $_.ThreatID | Select-Object -ExpandProperty ThreatName } | Sort-Object -Unique[/code]

Zapraszamy do podzielenia się listą w komentarzach (lub pochwaleniem się, że jest pusta!)

Obraz

Zdarzenia administracyjne

Incydenty bezpieczeństwa to jednak nie tylko wykrycie wirusów. Istnieje znacznie więcej "niepokojących" zdarzeń, o których może informować logowanie Defendera. Należą do nich:

Zatrzymanie skanowania (1002)Awaria skanowania (1005, 2031)Niepowodzenie podjęcia akcji obrony przed wirusem (1008, 1118)Historia ochrony została wyczyszczona (1013, 1014)Niepowodzenie akcji obrony w stopniu podważającym skuteczność pracy (1119)Nieudana aktualizacja (2001, 2003, 2006, 2012, 2021)Usunięcie wszystkich definicji (!) (2013)Awaria silnika (3002, 3007, 5008)Ochrona jest wyłączona (5001, 5010, 5012)Przewlekle nieaktualne definicje (5101)

Odpytanie Dziennika o powyższe wydarzenia da się osiągnąć następującymi poleceniami:

[code=powershell]$worryingEvents = "1002", "1005", "1006", "1008", "1013", "1014", "1015", "1116", "1118", "1119", "2001", "2003", "2006", "2012", "2013", "2021", "2031", "3002", "3007", "5001", "5008", "5010", "5012", "5101"Get-WinEvent -LogName "Microsoft-Windows-Windows Defender/Operational" | Where-Object { $worryingEvents -contains $_.Id } [/code]

Scenariusz idealny to taki, w którym otrzymana lista jest oczywiście pusta.

Kontrolka "Check Engine"

Stan Defendera opisany w sposób najogólniejszy można otrzymać na pomocą cmdletu Get-MpComputerStatus. Jest on zaawansowanym odpowiednikiem panelu z zielonymi/żółtymi ikonami stanu z Centrum Zabezpieczeń. Możemy zbadać, czy wszystkie składniki antywirusa działają poprawnie (choć powinna to zapewniać Ochrona przed naruszeniami):

[code=powershell]$s = Get-MpComputerStatus# Silnik nie uległ awarii$r = $s.AMRunningMode -eq "Normal"# Wszystkie narzędzia ochrony włączone$t = $true ; "AMServiceEnabled", "AntispywareEnabled", "AntivirusEnabled", "BehaviorMonitorEnabled", "IoavProtectionEnabled", "IsTamperProtected", "NISEnabled", "OnAccessProtectionEnabled" | Foreach-Object { if (\(s.\)_ -ne "True") {$t = $false} }# Definicje aktualne$u = $true ; "AntispywareSignatureAge", "AntivirusSignatureAge", "NISSignatureAge", "QuickScanAge" | % { if (\(s.\)_ -ne 0 ) {$u = $false}# Komputer nie ma zaległego skanu, restartu celem usunięcia wirusa ani nie czeka na decyzje użytkownika$c =$s.ComputerState -eq 0# Wszystkie powyższe warunki spełnione jednocześnie$r -and $t -and $u -and $c[/code]W kolejnej części zajmiemy się ustawieniem zaawansowanych parametrów Defendera, z uwzględnieniem tego, które ustawienia są ignorowane przez Ochronę przed naruszeniami.

Programy

Zobacz więcej
Komentarze (45)