Windows Defender – przed czym nas chroni i jak kazać mu przestać?
Obecność antywirusa w systemie jest w pewnym sensie przyznaniem się do porażki. Przyjmujemy bowiem, że nie mamy kontroli nad kodem wykonywanym na komputerze i pewności co do jego pochodzenia. Ponadto, nasz system albo nie gwarantuje kontroli dostępu, albo jest ona wysoce niegodna zaufania. W idealnym świecie antywirus jest niepotrzebny, nawet, gdy wirusów są miliony. Niestety, nie żyjemy w idealnym świecie. Wystarczy wyjrzeć za okno, by sobie o tym przypomnieć.
Potencjalnych scenariuszy wykorzystania komputera z Windowsem jest tak wiele, że doprawdy nie da się stworzyć wspólnej, uniwersalnie bezpiecznej konfiguracji, pozbawiającej wirusy racji bytu. Niemal każde ustawienie może się dla jednych okazać racjonalną blokadą, a dla innych - paraliżującą kulą u nogi pozbawioną sensu. Przesuwając margines w ten sposób wprowadzamy zapotrzebowanie na antywirusa. Z tego powodu, oraz celem ochrony przed nieznanymi zagrożeniami, Microsoft zintegrował Defendera z Windowsem.
Windows Defender nie wzbudza jednak zaufania: wiele osób decyduje się na instalację innego narzędzia antywirusowego. Można tu wdawać się w polemikę, czy jest to tak naprawdę kiedykolwiek uzasadnione. System Windows przez długie dekady przyzwyczajał użytkowników, że oferuje około 30% oprogramowania potrzebnego do codziennej pracy, przez co dalej uchodzi za naturalne, że świeżą instalację systemu należy zasilić zbiorem „niezbędnych” programów - w tym właśnie antywirusem. Z tym, że wraz z Windows 8 otrzymaliśmywreszcie program antywirusowy zintegrowany z systemem. Czy jest on w ogóle potrzebny? I na ile spełnia swoje zadanie?
Dzisiejszy Windows Defender to nie ten sam program, który debiutował jako funkcja systemu Windows Vista w 2006 roku. Tamta wersja Defendera chroniła jedynie przed oprogramowaniem szpiegowskim. Oznaczało tomniej więcej, że w systemie pracuje pełnoprawny skaner plików, ale ze względu na brak definicji, skanuje on tylko pod kątem spyware'u. Na poprawę tego stanu trzeba było czekać 6 lat, acz w międzyczasie wydano „protezę”, czyli program Microsoft Security Essentials. MSE był tak naprawdę rozszerzeniem Defendera o mechanizm inspekcji sieci i zbioru definicji wirusów (a nie tylko szpiegów).
Defender w Windows 10 1709
W najnowszym systemie Windows 10, program Windows Defender otrzymał nowy interfejs, który wraz z zawsze aktywną ikoną obszaru powiadomień, ma niejako przypominać użytkownikowi, że jest chroniony antywirusem (w domyśle: nie potrzebuje innego). Polityka „niewidzialności” Defendera i prezentowania go jako wbudowaną, przezroczystą funkcjonalność okazała się chybiona i psychologicznie niewłaściwa dla typowych użytkowników. Dlatego obecnie Defender jest budowany jako marka-parasol: poza samym antymalwarem nazwę „Defender” nosi też np. przemianowana Zapora system Windows oraz SmartScreen. Celem tej zmiany jest promowanie produktu typu „Internet Security”, bowiem tylko w taki sposób da się dotrzeć np. do nieświadomych technicznie użytkowników domowych.
Czy Defender w ogóle działa? Aby odpowiedzieć na to pytanie, zbadajmy narzędzia, którymi dysponuje. Celowo pominę na początku kwestię aktualności i kompletności definicji, koncentrując się jedynie na tym, że ochrona oparta o definicje jest istotnie głównym mechanizmem wykrywania stosowanym przez Defendera. Istnieje jednak kilka innych. Przede wszystkim, i to już od dość dawna, dostępna jest analiza heurystyczna. Obecnie jest to kanon-klasyk funkcjonalności antywirusowej a polega na szacowaniu potencjalnejszkodliwości kodu poprzez symulowane przejście przez jego ścieżki w kontrolowanym środowisku. Analiza heurystyczna nie korzysta z definicji, opiera się na „sandboksach”, pozwala chronić przed nieznanymi jeszcze zagrożeniami i ze swej natury nie może być stuprocentowo skuteczna (w przeciwnym razie mielibyśmy do czynienia wyłącznie z heurystycznymi antywirusami).
Analiza behawioralna
Poza analizą heurystyczną, nowsze wersje Defendera oferują mechanizmy ochrony przed zagrożeniami o znanych objawach, ale źródłach tak złożonych i zmiennych, że umykają one definicjom. Mowa o skanerze behawioralnym. Ochrona behawioralna opiera się o definicje, ale nie wirusów, a zachowań. Opisana w Katalogu Zagrożeń Online definicja zachowania szkodnika „Win32/Gamarue” jest doskonałym przykładem objaśniającym działanie tej warstwy ochrony: wektorów wejścia jest bardzo dużo, wersji szkodnika są setki, kolejne powstają każdego dnia, kod jest silnie polimorficzny, a nazwy plików losowe. Istnieje jednak zbiór zbieżności między tuzinami wariantów Gamarue. Nasłuchiwanie na konkretnych adresach i komunikacja ze specyficznymi, wysoce niestandardowymi serwerami jest zachowaniem wykazywanym przez wszystkie z nich. Stąd też Defender wykrywa i blokuje takie zachowanie, odcinając dzięki temu możliwość zdalnego sterowania szkodnikiem, nie usuwając zarazem samego źródła - co być może zostanie uczynione wraz z kolejną aktualizacją definicji, która pozwoli jednoznacznie je odnaleźć i zlikwidować.
Dokumentacja obiektu MSFT_MpThreat informuje, że poza definicją „behavior” istnieją też dwa inne rodzaje „bezplikowych” definicji. Są to „vulnerability” oraz „policy”. Oznacza to zatem, że Windows Defender dysponuje mechanizmami badania, czy system wykazuje podatność na dziury w zabezpieczeniach lub pracuje z wykorzystaniem niebezpiecznych reguł zabezpieczeń. Najpierw należy jednak dostarczyć mu definicję takowych. Odpytanie Katalogu Zagrożeń Mechanizmu Ochrony (Malware Protection Threat Catalog, MpThreatCatalog) z wykorzystaniem PowerShella zwraca zero wyników dla takich kategorii definicji, pokazując przy okazji, że numeracja na stronie WMI jest błędna. Taki ESET na przykład informuje, czy system wykazuje podatność na jakąś lukę w zabezpieczeniach, ale nie znajduje tej informacji w skutek skanu, a poprzez… odpytanie DISM, czy mamy zainstalowane najnowsze łatki. A od tego przecież jest Windows Update. Dzięki zabawom z WMI udało się też odkryć, że oprogramowanie klasy „ransomware” otrzymało oddzielną kategorię zagrożenia (50) i nie ląduje już w dziale „trojan” lub „virus”.
Trustworthy Computing się opłaciło?
Nie ma jednak oddzielnej kategorii (a więc i specjalnego traktowania) dla rootkitów. Wynika to założeń projektowych opartych o stosowanie procesu Secure Boot. Dokładnie w taki sposób należy projektować systemy operacyjne, aby potem zmniejszać konieczność stosowania ciągle pracujących skanerów antywirusowych. Secure Boot gwarantuje brak możliwości ładowania kodu na wczesnym etapie uruchomienia. W połączeniu z wymaganiem podpisów cyfrowych dla sterowników i wczesnym uruchamianiem silnika MsMpEng eliminuje to konieczność wprowadzania kolejnego mechanizmu skanowania i kontroli do Defendera. Swoją drogą, takie zabezpieczenie Windowsa (a więc jego poprawne zaprojektowanie) zostało skrytykowane przez producentów oprogramowania antywirusowego, którzy przekonywali, że dostęp do jądra systemu jest znacznie trudniejszy, niż wcześniej, co upośledza ich programy. Cóż, niewątpliwie w interesie producentówoprogramowania AV leży, by Windows ze swej natury był tak niebezpieczny, jak to tylko możliwe.
Tymczasem Windows Defender w wielu miejscach zakłada po prostu, że Windows zadziała poprawnie. Jest jednak nieufny: nawet w przypadku wyłączenia ochrony w czasie rzeczywistym i/lub stosowania innego narzędzia antywirusowego, Defender dalej kontroluje pliki pobierane do domyślnych katalogów pobierania przeglądarek i skanuje je pod kątem programów zgodnych z definicją PUA, czyli „potencjalnie niechcianego oprogramowania” (Potentially Unwanted Software, a więc wszelkie paski narzędzi i pobieraczki). Takie oprogramowanie i tak zostałoby znalezione przez główny skaner, a pozorna duplikacja funkcjonalności wynika tutaj z natury mechanizmów zarządzania: po pierwsze, administratorzy mogą chcieć stosować inne skanowanie dla pobieranych plików i inne dla wszystkich pozostałych, a po drugie Microsoft twierdzi, że „wie lepiej” i nawet jeżeli ktoś wyłączy Defendera, pobrane pliki dalej będą skanowane. Co więcej - dodatkowe skanowanie Defenderem w tle można włączyć nawet w przypadku stosowania na co dzień innego skanera.
W czasach, gdy Windows Defender, jeszcze jako Microsoft Security Essentials, posiadał oddzielny instalator i dawał użytkownikowi możliwość odpowiedzi na jakiekolwiek pytanie dotyczące konfiguracji, sugerował zapisanie się do sieci „Microsoft Active Protection Service”. Według opisu była to „społeczność” pomagająca w określeniu, czy oprogramowanie jest szkodliwe, czy nie. W praktyce była to gigantyczna sieć komputerów z Windows, raportująca informacje heurystyczne o nowo pobieranych plikach wykonywalnych. Pozwala to Microsoftowi nie tylko tworzyć rozległą bazę wiedzy na temat zagrożeń, ale i przeprowadzać procesy uczenia maszynowego na dość gigantyczną skalę. Dziś owa opcja nazywa się „Ochroną opartą na chmurze obliczeniowej” (Windows Defender Antivirus cloud-delivered protection), jest domyślnie włączona i nie jest mechanizmem wyjątkowym, bowiem na takich „tajnych przesłuchaniach” polegają dziś wszystkie antywirusy.
W tym miejscu kończy się właściwy antywirus (czy też raczej pakiet Internet Security). Pozostałe funkcje promowane pod marką-parasolem „Windows Defender” nie należą tak naprawdę do samego Defendera (czyli narzędzia Microsoft Malware Protection Engine, MsMpEng). Dlatego trudno porównywać Defendera z innymi pakietami Internet Security. Z jednej strony Defender zawsze będzie „lepszy”, bo zawiera wbudowane w system mechanizmy dodatkowej ochrony, z drugiej jednak żaden dostawca konkurencyjnego oprogramowania nie sprzeda użytkownikowi domowemu alternatywnego stosu TCP/IP i zapory, wirtualizatora dla oprogramowania, wykrywacza eksploitów i całej olbrzymiej konsoli do monitorowania propagacji szkodników w sieci lokalnej. Tutaj otrzymujemy je „za darmo” wskutek prac nad Windows Server, Intune i SCCM. Przyjrzyjmy się zatem pozostałym komponentom Defendera, które tak naprawdę są funkcjami systemu Windows 10:
- Zapora, przemianowana na Zaporę programu Windows Defender. To dalej ten sam doskonały i wysoce konfigurowalny firewall, który miał swoją premierę wraz z Vistą.
- SmartScreen: dawny filtr przeciwphishingowy z Internet Explorera 7 dziś jest najwyraźniej częścią antywirusa
- Application Guard(https://docs.microsoft.com/en-us/windows/threat-protection/windows-defender-application-guard/wd-app-guard-overview): wirtualizacja przeglądarki internetowej aplikowana w locie, ewidentnie projektowana pod coś większego w przyszłości, na przykład aplikacje PWA
- Exploit Guard(https://docs.microsoft.com/en-us/windows/threat-protection/windows-defender-exploit-guard/exploit-protection-exploit-guard): zbiór „umocnień” (hardening) systemu 1709 pochodzący z niegdyś oddzielnego narzędzia EMET (Enhanced Mitigation Experience Toolkit)
- Kontrolowany Dostęp do Folderu(https://docs.microsoft.com/en-us/windows/threat-protection/windows-defender-exploit-guard/controlled-folders-exploit-guard): możliwość oznaczenia folderu jako „szczególnie chroniony”, co odetnie dostęp do niego wszystkim aplikacjom lub wywołaniom, które pasują do definicji szkodliwego kodu lub zachowania
- Advanced Threat Protection(https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-preview-belowfoldlink): aplikacja w sieci lokalnej, dostępna za pomocą portalu IIS, zbierająca dane o podejrzanym ruchu w sieci i statystykach wykrywania szkodliwego oprogramowania, a także wykorzystująca uczenie maszynowe, bywykrywać podejrzane wzorce w skali makro. Robi wrażenie. Dodatkowo płatna.
Dzisiejszy Windows Defender jest więc zaskakująco konkurencyjny pod względem swojej funkcjonalności, a w systemie Windows 10 1709 działa szczególnie dobrze. Ale ile tak naprawdę jest warta ta oferta? Program wydaje się mieć wszystkie cechy oczekiwane w pakiecie Internet Security, ale to przecież nic ponad slogany z broszurki reklamowej. Liczy się efekt i wykonanie. Security Essentials miał mocny debiut i był polecany jako szalenie skuteczne i zaskakująco wydajne rozwiązanie antywirusowe. W roku 2011 polecali je w zasadzie wszyscy. Problemy zaczęły się później, mniej więcej wraz ze zintegrowaniem antywirusa z Windows 8.
MSE/Defender zaczął swoją powolną wyprawę na dno rankingu antywirusów. Wtedy też padła niezwykle kuriozalna wypowiedź Holly Stewart, która PMem w dziale „Microsoft Malware Protection Center” została chyba przez pomyłkę. Pani Stewart stwierdziła między innymi, że testy antywirusów to surrealistyczna bujda (tutaj jeszcze trudno się nie zgodzić), ale także, że Defender „zawsze będzie na dole rankingów”, bo praca nad nim nie polega na celowaniu w testy, jak dotychczas, a powinna być „czymś więcej”, co dostarcza ekspertyzę producentom prawdziwych antywirusów, z których klienci powinni korzystać.
Interpretacja tej wypowiedzi została legendarnie wręcz rozdmuchana i nie chodziło w niej o tak często przytaczane „przestaliśmy się przejmować Defenderem”, ale mimo to ktoś najwyraźniej nie powiedział pani Stewart, o co ma chodzić w Windows 8. Defender miał się bowiem stać wystarczającym, kompletnym antywirusem, którego niewidzialność miała po pierwsze przyzwyczaić ludzi do tego, że dodatkowe antywirusy są już niepotrzebne, a po drugie - zniechęcić ich do kupowania pakietów Internet Security na słabe, krótko pracujące na baterii tablety z Windows 8 ze skromną ilością pamięci. Dziś widzimy odwrót od tej niewidzialności, niestety nie widać powrotu do dobrego zdania na temat Defendera, mimo, że wrócił on na znacznie wyższe lokaty w rankingach.
„Twój komputer jest prawdopodobnie chroniony”
Obecnie, AV-Test informuje, że Defender chroni przed 99.9% najbardziej rozpowszechnionych szkodników i 96.3% szkodników typu „real-world”. Zwycięzcy rankingu osiągają tutaj 100%. Rzekomo każdego dnia powstaje 250 tysięcy nowych szkodliwych programów. Jest to wartość podana przez ośrodek badania propagacji malware'u, więc dla wywarcia odpowiedniego wrażenia musi być odpowiednio wysoka. Trudno ją z czymkolwiek zestawić: według kilkumiesięcznego badania Katalogu Zagrożeń, Defender dziennie otrzymuje około 15 nowych definicji, a raz na dwa tygodnie zachodzi konsolidacja definicji, wyrzucająca regularnie kilkaset. Nie wiemy, jaka jest szczegółowość owych definicji i tym bardziej nie wiemy, ile definicji dorzucają sobie konkurenci. Trudno wręcz powiedzieć, czy 96% to naprawdę mało. Zrozumiałą rezerwę budzi myśl stosowania czegoś o skuteczności poniżej 100%, ale jakie to ma znaczenie w tym przypadku?
Analiza Katalogu Zagrożeń pozwala jednak odkryć inną kwestię, która jest ciekawą poszlaką. Liczba zagrożeń wykrywanych przez Defendera znacząco wzrosła trzy dni przed ogólnoświatową epidemią ransomware'u WannaCry. Dziury, przez które tenże szkodnik się rozpowszechniał były znane o wiele wcześniej, ale definicja wirusa oznacza reagowanie na ściśle określoną próbkę kodu. Trzy dni to zaskakująco duże wyprzedzenie jak na ukraiński malware. Trudno mi też uwierzyć tutaj w zbieg okoliczności. Może przypadkiem natrafiłem na ślad jakiejś bardzo ciekawej historii…? Polecam samodzielne zbadanie Katalogu Zagrożeń. Służą do tego cmdlety najnowszego PowerShella. Można się wspomóc skryptem, który przygotowałem. Generuje on arkusz Excela z wykresem. Dodałem go sobie do codziennego harmonogramu zadań.
Podatności w antywirusach
Skuteczność na poziomie 96% to dość kluczowa informacja w kwestii oceny Defendera, ale jest jeszcze kilka innych. Jest jeszcze kwestia wydajności, a przede wszystkim - bezpieczeństwa. Najlepsze definicje nie uchronią nas przed niczym, jeżeli antywirus okaże się łatwy do obejścia. Na przykład kilka dni temu rozpętała się burza związana z podatnością „AVGater” polegającą na bezczelnej eskalacji uprawnień wskutek nadużycia w procesie przywracania pliku z kwarantanny. Podatnych jest podobno wiele antywirusów, co ponownie podniosło kwestię, modną kilka lat temu, że systemy są już obecnie tak dobrze zabezpieczone, że nowe szkodniki będą celować w coraz częstsze luki w samych antywirusach. Kilka gigabajtów aktualizacji krytycznych później, optymizm względem systemów nieco osłabł, ale antywirusy dalej pozostają czynnikiem podejrzanym o przeciekanie. Microsoft chwali się, że jest odporny na AVGater. To dobrze. Na przestrzeni dekady wykryto w nim tylko 16 luk. To niby niewiele, z tym, że aż 10 z nich wykryto w tym roku(!!), a dotyczą one uszkodzeń pamięci i w konsekwencji podniesienia uprawnień, a więc i ominięcia skanera. Co prawda taki Norton ma całą tabelę ze zbiorem podatności,których są dziesiątki, ale to, że u innych jest gorzej, nie znaczy, że z Defenderem jest dobrze.
Wyłączmy to wszystko!
Istnieje sporo scenariuszy, w których wyłączenie antywirusa jest całkiem rozsądnym krokiem. Ma to na przykład bardzo wiele sensu w wirtualnych środowiskach testowych, ale nie tylko. Defender zawiera przełącznik blokujący ochronę, ale ma on kilka wad. Po pierwsze, znajduje się w jednym z trzech (już trzech!) interfejsów użytkownika. A po drugie, obowiązuje tylko do wylogowania. Po ponownym zalogowaniu lub restarcie urządzenia, usługa Centrum Zabezpieczeń włączy Defendera z powrotem.
Aby naprawdę wyłączyć Defendera, należy użyć niezastąpionych Zasad Grupy. W gałęzi [frame]Konfiguracja Komputera\Szablony Administracyjne\Składniki systemu Windows\Program antywirusowy Windows Defender[/frame]
znajduje się pokaźny zbiór reguł do skonfigurowania. Defender uśnie (acz system będzie krzyczał!) gdy włączymy regułę „Wyłącz usługę Windows Defender” oraz wyłączymy reguły:
Ochrona w czasie rzeczywistym\Monitoruj aktywność plików i programów na tym komputerzeOchrona w czasie rzeczywistym\Włącz skanowanie procesówOchrona w czasie rzeczywistym\Włącz monitorowanie zachowania
Po ponownym uruchomieniu komputera, Defender będzie na urlopie.
A czym są Zasady Grupy? Niczym ponad metodą wymuszania odpowiedniej konfiguracji Rejestru. Zatem jeżeli nasz system nie zawiera Edytora Obiektów Zasad Grupy, pozostaje nam zmodyfikować Rejestr. W ścieżce [frame]HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender[/frame] potrzebujemy nowej wartości DWORD o nazwie “DisableAntiSpyware” i zawartości 1, a w ścieżce [frame]HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection[/frame] - wartości DWORD “DisableScanOnRealtimeEnable”, “DisableBehaviorMonitoring” i “DisableOnAccessProtection”. Również o wartości 1 wewnątrz każdej.
Tymczasowe wyłączenie Defendera jest pomocne na przykład podczas instalacji zaufanych, ale dużych programów, zwłaszcza z powolnych nośników, jak obciążona sieć, kiepski pendrive albo płyta DVD. Defender słynie bowiem z rujnowania wydajności instalacji oprogramowania (w tym aktualizacji dla Windows!). Trwałe zablokowanie Defendera to już inicjatywa dla osób, które dobrze wiedzą co robią. A przynajmniej są o tym wystarczająco przekonane :)