Test ochrony antywirusów przed exploitami

17 lipca, 2018

Exploit, czyli szkodliwe oprogramowanie wykorzystujące błąd programistyczny w systemie lub w zainstalowanych aplikacjach nie jest najczęściej występującą odmianą wirusów. Ma za to przewagę nad powszechnie występującymi makrowirusami lub złośliwymi skryptami JavaScript, ponieważ są używane do wykonania kodu z uprawnieniami zalogowanego użytkownika. Są też trudniejsze do wykrycia, gdyż w większości przypadków cyberataków dostarczane są poprzez luki w przeglądarce lub w zainstalowanych rozszerzeniac. Dodatkowo mogą pozostawać w ukryciu przez ługi czas, tak jak to miało miejsce podczas zainfekowania serwerów Komisji Nadzoru Finansowego (na wykrycie zagrożenia potrzeba był aż 5 miesięcy).  

W przeprowadzonym teście ochrony przez exploitami, sprawdzono w jaki sposób produkty zabezpieczające radzą sobie z popularnymi technikami exploitowania.

Opracowano 35 różnych symulacji, w tym:

1. Wykorzystano aplikację do przetestowania systemowej funkcji DEP (Data Execution Prevention) spotykanej we współczesnych systemach operacyjnych. Celem tego zabezpieczenia jest uniemożliwienie wykonywania kodu z segmentu danych. Pomaga to w ochronie przed exploitami wykorzystującymi przepełnienie bufora. DEP działa w dwóch trybach: sprzętowym, w którym procesor oznacza strony pamięci jako niewykonywalne oraz programowym, który daje ograniczoną ochronę i jest stosowany wtedy, gdy procesor nie potrafi oznaczyć stron pamięci jako niewykonywalne. Pierwsza wersja DEP pojawiła się w systemie Windows XP Service Pack 2.

2. Do przetestowania funkcjonalności ASLR także wykorzystano własną aplikację. Mechanizm ASLR po raz pierwszy został zastosowany w systemie Windows Vista. Losowy układ alokacji przestrzeni adresowej (ASLR – Address Space Layout Randomization) zabezpiecza (czyt. utrudnia) przed przepełnieniem bufora na skutek ataku exploita. Ten skomplikowany mechanizm w skrócie oznacza, że ASLR losowo przydziela stos adresów pamięci aplikacji, co sprawia, że żaden z istotnych elementów systemu (między innymi pliki exe, dll, sys) nie może zostać łatwo namierzony przez złośliwy kod obcej aplikacji. Jest to tym trudniejsze, jeśli złośliwy kod „nie wie”, w jakiej lokalizacji w pamięci i w danym czasie znajduje się legalna aplikacja.

3. W tym scenariuszu sprawdzono ochronę przed techniką „process hollowing” używaną przez niektóre złośliwe programy do zastępowania legalnego kodu aplikacji złośliwymi instrukcjami.

W teście wykorzystano publicznie dostępne narzędzia, takie jak: DoublePulsar, Mimikatz, ShellterPro, Backdoor Factory i inne, które posłużyły do odwzorowania 35 technik ataków wstrzykiwania bibliotek DLL i wykonywania własnego, złośliwego kodu. Większość z tych narzędzi jest dostępna na platformie GitHub — za darmo dla każdego testera i przestępcy. To w jaki sposób zostaną wykorzystane zależy przede wszystkim od moralnego kręgosłupa osoby siedzącej po drugiej stronie monitora.

Testowane systemy:

  • Microsoft Windows 7 Professional x64 (6.1.7601 Service Pack 1).
  • Microsoft Windows 10 Pro (10.0.16299 Fall Creators Update).

Testowane produkty zabezpieczające:

  • McAfee Endpoint Security with Threat Protection
  • Symantec Endpoint Protection
  • Trend Micro Smart Protection for Endpoints
  • CrowdStrike Falcon Prevent
  • Sophos Intercept X
  • SentinelOne Endpoint Protection
  • Microsoft Windows 10 Professional z zainstalowanym Windows Defender (Fall Creators
  • Update)
  • Microsoft Windows 10 Professional z zainstalowanym Windows Defender i aktywnym Exploit Guard (Fall Creators Update)
  • Produkt A (zgodnie z ustaleniami z producentem nie ujawniono nazwy produktu)

Poniższe wyniki nie oddają całkowitej skuteczności produktów, ale raczej są odbiciem skuteczności ochrony przed exploitami. 

Test ochorny przed exploitami

Podsumowanie podzielono na etapy:

  • Zielony oznacza wynik pozytywny — produkt zatrzymał exploit lub rozpoznał atak przez uruchomieniem złośliwego kodu. Dodatkowo niektóre techniki lub narzędzie nie działały w Windows 10 (ze względu na lepszy hardening niż w Windows 7), ale wynik zaliczano na korzyść produktu zabezpieczającego.
  • Żółty oznacza pozytywne rozpoznanie i zablokowanie techniki ataku przed uruchomieniem złośliwego kodu (np. w niektórych przypadkach używano PowerShell, który jest obarczony podwyższonym ryzykiem przez niektóre produkty zabezpieczające).
  • Szarym zaznaczono sytuację, kiedy testerzy stwierdzili, że produkt nie zatrzymał zagrożenia, a producent był zdania, że niepoprawnie skonfigurowano produkt.
  • Czerwony oznacza wynik negatywny.

Szczegółowe wyniki z podziałem na 35 rodzajów ataków i technik exploitacji:

Test ochrony przed exploitami

Nie dziwi nas fakt, że Sophos uzyskał najlepszy wynik w sponsorowanym przez siebie teście. Nie, nie — nie zarzucamy firmie MRG Efiitas manipulowania wynikami. Bardziej prawdopodobny jest drugi scenariusz. Otóż Sophos tak bardzo czuł na siłach w ochronie przed exploitami, że zapłacił za przeprowadzenie takiego testu, aby udowodnić konkurencji oraz potencjalnym klientom, że w tej kategorii jest po prostu lepszy. Ale najbardziej zadziwiające jest to, że natywne rozwiązania systemowe Microsoftu okazały się gorsze w zabezpieczeniu środowiska Windows niż oprogramowanie stworzone przez firmy trzecie.

Czy ten artykuł był pomocny?

Oceniono: 0 razy

Picture of Adrian Ścibor

Adrian Ścibor

W ramach działań związanych z cyberbezpieczeństwem odpowiada w AVLab za przeprowadzanie testów rozwiązań ochronnych przed zagrożeniami. Opracowuje strategie oraz narzędzia, które pomagają w ochronie danych i systemów przed cyberatakami. Współuczestnik międzynarodowej grupy non-profit AMTSO, która zrzesza ekspertów IT.
Picture of Adrian Ścibor

Adrian Ścibor

W ramach działań związanych z cyberbezpieczeństwem odpowiada w AVLab za przeprowadzanie testów rozwiązań ochronnych przed zagrożeniami. Opracowuje strategie oraz narzędzia, które pomagają w ochronie danych i systemów przed cyberatakami. Współuczestnik międzynarodowej grupy non-profit AMTSO, która zrzesza ekspertów IT.

PODZIEL SIĘ:

guest
0 komentarzy
najstarszy
najnowszy oceniany
Inline Feedbacks
View all comments

[ninja_tables id=”27481″]

\r\n <\/div>\r\n<\/div>\r\n","isUserRated":"0","version":"7.6.29","wc_post_id":"18888","isCookiesEnabled":"1","loadLastCommentId":"0","dataFilterCallbacks":[],"phraseFilters":[],"scrollSize":"32","is_email_field_required":"1","url":"https:\/\/avlab.pl\/wp-admin\/admin-ajax.php","customAjaxUrl":"https:\/\/avlab.pl\/wp-content\/plugins\/wpdiscuz\/utils\/ajax\/wpdiscuz-ajax.php","bubbleUpdateUrl":"https:\/\/avlab.pl\/wp-json\/wpdiscuz\/v1\/update","restNonce":"15e2073781","is_rate_editable":"0","menu_icon":"https:\/\/avlab.pl\/wp-content\/plugins\/wpdiscuz\/assets\/img\/plugin-icon\/wpdiscuz-svg.svg","menu_icon_hover":"https:\/\/avlab.pl\/wp-content\/plugins\/wpdiscuz\/assets\/img\/plugin-icon\/wpdiscuz-svg_hover.svg"}; var wpdiscuzUCObj = {"msgConfirmDeleteComment":"Are you sure you want to delete this comment?","msgConfirmCancelSubscription":"Are you sure you want to cancel this subscription?","msgConfirmCancelFollow":"Are you sure you want to cancel this follow?","additionalTab":"0"}; -->