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

Strona główna Aktualności
Defender: antywirus Windowsa (fot. PxHere, CC0)
Defender: antywirus Windowsa (fot. PxHere, CC0)

O autorze

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.

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.

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:


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

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.

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:


Get-MpThreatDetection | % { Get-MpThreatCatalog -ThreatID $_.ThreatID | Select-Object -ExpandProperty ThreatName } | Sort-Object -Unique

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

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:


$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 } 

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):


$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

W kolejnej części zajmiemy się ustawieniem zaawansowanych parametrów Defendera, z uwzględnieniem tego, które ustawienia są ignorowane przez Ochronę przed naruszeniami.

© dobreprogramy
s