Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
Najciemniej jest pod latarnią, czyli zdalne wykonanie kodu w Microsoft Defenderze (CVE-2021-31985)
Ten przypadek idealnie wpasowuje się w powiedzenie, że najciemniej jest pod latarnią. Badacz bezpieczeństwa Tavis Ormandy odkrył błąd pozwalający na zdalne wykonanie kodu we flagowym antywirusie Microsoft Defender:
Według raportu słabym punktem Defendera jest kod do dekompresji i analizy tysięcy różnych formatów plików. Dlaczego? Bo antywirus wspiera setki rozmaitych formatów i packerów, które często nie były używane od ponad 20 lat, co w praktyce oznacza dosłownie „wylęgarnie” krytycznych podatności.
W przypadku luki znalezionej przez Tavisa problemem okazała się obsługa plików wykonywalnych zabezpieczonych przez packer ASProtect:
Innymi słowy, Defender, próbując „chronić” nas przed zagrożeniem, idąc na łatwiznę, starał się odzyskać pierwotną zawartość pliku, a następnie przeanalizować go w celu wykrycia potencjalnego złośliwego oprogramowania. Niestety, funkcja ta wprowadziła błąd, pozwalający na zdalne wykonanie kodu w momencie przeskanowania odpowiednio przygotowanego pliku.
Badacz zwrócił uwagę na jeszcze jeden problem – Windows Defender nie jest domyślnie w tak zwanej „piaskownicy” (sandbox), więc każda luka może zostać bez problemu wykorzystana do zaatakowania naszego systemu:
~ Jakub Bielaszewski
Jak umieścić W. Defender w piaskownicy?
W Wierszu polecenia wprowadzamy:
setx /M MP_FORCE_USE_SANDBOX 1
Trzeba go tam wrzucić z całym komputerem ;-)
Najlepiej ubijać defendera skryptem i zapomnieć o nim
Osobiście uważam, że Defender for Endpoint (EDR) jak i defender na kompy personalne jest produktem bardzo dojrzałym i jest kompleksowy z punktu widzenia korporacyjnego. Testowałem produkt osobiście i wygrywał ponad wszystko: Widoczność w to co się dzieje na stacjach końcowych, VM, zdalny dostęp, EDR. Każdy produkt bezpieczeństwa ma luki i to nie powinno mieć wpływu na końcową decyzję.
I pomyslec ze windows jest uzywany jako system-serwer i to nie tylko przez policje czy szpitale. Pyk i „sluzby” nie dzialaja ;-D. To w glupiej bibliotece u mnie uzywa sie linuxow na serwerze jak i na komputerkach przeznaczonych dla czytelnikow (obecnie centos :D) a ci windofsa uzywaja XD.
Ale wiesz, mózgu, że na Linucha równie łatwo przygotować malware? I wcale nie jest bezpieczniejszy. Krótka komenda i bach, mamy shell. Potem wystarczy poczekać aż user się zalogouje za pomocą sudo i mamy roota (inny trick). A wiesz ile w tych wszystkich przeglądarkach obrazków, pdfów, eksploratorach jest luk? Samo VLC miało kilka RCE w zeszłym roku.
Dlatego ja mam osobny system do rzeczy gdzie się loguje do ważnych serwisów a osobny do pracy. W tym do pracy korzystam z maszyn wirtualnych do rzeczy które niosą ryzyko. A do banku loguje się z liveCD.
Na Linuxa jest mało malware TYLKO DLATEGO, że jest mało popularny. Nie jest w żaden sposób lepiej zaprojektowany, w dodatku bycie open-source ułatwia nie tylko wyszukiwanie luk, ale też umiejscowianie backdoorów (najlepiej ukrytych jako błędy).
Centos na desktopie dla czytelników w bibliotece?
To przecież masochizm jakiś. Przecież to się nie nadaje na desktopa. Równie dobrze można by było tam wrzucić windows server – równie idiotyczne posunięcie.
Za serwer szanuje aczkolwiek niedługo centos na serwerze przed Red hata nie będzie miał racji bytu…
Jasne, bo Linuxy nie są dziurawe. Wcale.
Mają dziury, ale są statystycznie szybciej łatane. Poza tym to dużo mniej popularny system na desktopy i trudniej o wykorzystanie tych luk. Wraz ze wzrostem popularności pewnie się to zacznie zmieniać.
Można się spierać o wyższość jednego systemu na drugim, ale na Windows przez lata wypracowano techniki atakowania go na różne sposoby i najczęściej właśnie przy wykorzystaniu systemowych komponentów takich jak Defender, MS Office, MSHTA.exe, PowerShell …
Złośliwe komponenty też mają się gdzie tam ukryć np. w alternatywnych strumieniach pliku, rejestrze (jako kod wykonywalny bez plikowy), niewinnie wyglądających obrazkach z których wyciągane są doklejone fragmenty kodu, składane i wykonywane np. w kontekście jakiejś systemowej aplikacji.