Cała historia zaczyna się w 18 czerwca tego roku. Yonathan Klijnsma sprawdzając mechanizmy zabezpieczające Malwarebytes Anti-Malware odkrył, jak bardzo łatwo przejąć kontrolę nad mechanizmem aktualizacji programów, dzięki któremu możliwe jest wymuszenie na programie antywirusowym pobranie złośliwego oprogramowania zamiast aktualizacji. Dwa tygodnie później, kiedy światło dzienne ujrzała wersja beta programu Malwarebytes Anti-Exploit Yonathan sprawdził, czy aby aplikacja ta nie zawiera tego samego błędu. Zawierała…Błędy zaraportował producentowi dla MBAM i A-E, odpowiednio 16 lipca i 19 sierpnia.

Zidentyfikowana luka w nomenklaturze CVE-2014-4936 dotyczyła programów dla użytkowników domowych Malwarebytes Anti-Malware 2.0.2 i wersji wcześniejszych oraz programu Malwarebytes Anti-Exploit 1.03 i wersji wcześniejszych. Wersje biznesowe produktów Malwarebytes nie zawierają(ły) tego błędu.

Według Klijnsma błąd dotyczył mechanizmu aktualizacji baz sygnatur i plików, które pobierane są otwartym i niezabezpieczonym protokołem HTTP, nie są też używane żadne zabezpieczania weryfikujące walidację ich poprawności. Pobrane aktualizacje przed uruchomieniem nie są sprawdzane, atakujący mógł więc podstawić własne pliki PE, a ich kod wykorzystać do uruchomienia się z pełnymi uprawnieniami administratora w systemie ofiary.

Oba programy (Malwarebytes Anti-Malware i Anti-Exploit ) były zaprojektowane w taki sposób, aby pobierać swoje aktualizacje z adresu data-cdn . mbamupdates . com, a więc z Malwarebytes Content Delivery Network (CDN). Aby wstrzyknąć swój złośliwy kod atakujący musiał przechwycić żądania DNS dla sieci CDN, mógł to osiągnąć za pomocą różnych metod, w tym modyfikując plik HOSTS lub przeprowadzając atak DHCP spoofing zmieniając DNS-y.

W eksperymencie, w którym maszyna atakującego postawiona była na Kali Linux a maszyna ofiary na Windows XP, Klijnsma do podstawienia własnych aktualizacji przeprowadził atak DHCP spoofing przekierowując żądania produktu Malwarebytes do podstawionego złośliwego serwera. Poprzez atak MITM badacz był w stanie pobrać przez oprogramowanie antywirusowe swój dowolny plik i uruchomić go bez przejmowania kontroli nad komputerem ofiary.

Firma Malwarebytes dodała nazwisko badacza do swojej galerii sław, czyli strony, gdzie publikuje prace niezależnych badaczy na rzecz bezpieczeństwa aplikacji otrzymując w ten sposób darmowe pentesty.

Czy luka kiedykolwiek została wykorzystana?

Zdaniem Malwarebytes nie:

Nie znaleziono żadnych dowodów, by zgłaszana luka została kiedykolwiek wykorzystana.

Ponadto Malwarebytes w wywiadzie dla SecurityWeek twierdzi, że:

"Ściśle współpracujemy z niezależnymi ekspertami i jesteśmy im wdzięczni na znalezione błędy i możliwość udoskonalania naszych produktów.”

Yonathan Klijnsma znany jest z analizy CryptoPHP - kampanii, w której atakujący wykorzysywali backdoora w popularnych CMS-ach Wordpress, Joomla, Drupala do infekowania serwerów internetowych.

Luki w MBAM zostały załatane w wersji 2.0.3, a więc 3 października, dla programu Anti-exploit błąd załatano 5 września z wersją 1.04.1.1012.

Dlaczego o tym piszemy?

Opisywany przypadek nie jest odosobniony. W lipcu tego roku przeprowadzona przez Joxeana Koreta z COSEINC analiza kilkudziesięciu programów antywirusowych wskazała, że silniki tych producentów zawierają większą lub mniejszą liczbę błędów, które stwarzają zagrożenie dla bezpieczeństwa użytkowników. Badacz odkrył opisywany powyżej podobny błąd w większości programów antywirusowych!, które otrzymują aktualizacje za pośrednictwem protokołów HTTP. Skutkować to może atakiem man-in-the-middle, w efekcie którego zamiast dostarczać aktualizacji, haker może spowodować pobieranie złośliwego oprogramowania.

A więc producenci – weryfikujcie, co pobierają Wasze antywirusy na Nasze dyski!

AUTOR:

Adrian Ścibor

Podziel się