Nowa metoda ataków podważa działanie programów antywirusowych

Nowa metoda ataków podważa działanie programów antywirusowych
12.05.2010 14:22
Nowa metoda ataków podważa działanie programów antywirusowych

Pewna (prawie) nowa metoda ataków może omijać działanie programów antywirusowych w systemie Windows, aby np. ładować zainfekowane sterowniki z pominięciem mechanizmów obronnych. Atak wymyślony przez grupę hakerów Matousec wykorzystuje fakt, że wiele programów antywirusowych, np. w celu obserwacji zachowania aplikacji, przekierowuje na siebie wywołania tablicy System Service Descriptor Table (SSDT) kernela.

Pewna (prawie) nowa metoda ataków może omijać działanie programów antywirusowych w systemie Windows, aby np. ładować zainfekowane sterowniki z pominięciem mechanizmów obronnych. Atak wymyślony przez grupę hakerów Matousec wykorzystuje fakt, że wiele programów antywirusowych, np. w celu obserwacji zachowania aplikacji, przekierowuje na siebie wywołania tablicy System Service Descriptor Table (SSDT) kernela.

Jeśli więc dana aplikacja wywołuje funkcję systemową, np. do ładowania sterownika, to najpierw program antywirusowy sprawdza, czy za tym wywołaniem nie kryje się próba nadużycia. Jeśli nic takiego nie zostaje stwierdzone, antywirus przekierowuje wywołanie do właściwej funkcji. Jednak według specjalistów z Matouseca dzięki metodzie Argument Switching podczas zmiany kontekstu (przełączanie między dwoma procesami) programu antywirusowego możliwe jest pomyślne zakończenie testów skanera, a następnie załadowanie zainfekowanego sterownika lub wywołanie niedozwolonej funkcji.

288756104912255123

Problem

Na czym polega ta sztuczka? Chodzi o to, aby dzięki sprytnemu określaniu czasu pracy znaleźć moment, w którym proces skanera zakończył już wszystkie testy wywołania, ale mimo to napastnik ma jeszcze przez chwilę możliwość zmiany np. nazwy pobieranego sterownika, wskaźnika albo uchwytu funkcji systemowej. Jednak na pytanie o to, jak bardzo należy się postarać i na ile skuteczna jest ta metoda, nie ma chętnych do udzielenia odpowiedzi. Matousec wymienia 3. produkty wszystkich renomowanych producentów antywirusów, które mają być podatne na Argument Switching, ponieważ używają w swoich funkcjach wyzwalaczy (hooks) z udziałem tablicy SSDT albo innych tego rodzaju sposobów. W tym celu grupa Matousec zastosowała własny framework o nazwie KHOBE (Kernel HOok Bypassing Engine).

Producenci antywirusów, których dotyczy ten problem, zostali o nim powiadomieni przez specjalistów już przed kilkoma miesiącami; poza tym proponowano im zakup testowych exploitów. Nie wiadomo, ilu skorzystało z tej oferty. Wygląda na to, że większość z nich miała problemy z rekonstrukcją luki na podstawie dostępnych informacji –. mimo że potwierdzają oni istnienie problemu.

Metoda opisana przez grupę Matousec nie jest wcale nowa: ma już 14 lat i jest szerzej znana jako Time-Of-Check-to-Time-Of-Use-Problem (TOCTOU). Po raz pierwszy ten problem w roku 1996 opisali Matt Bishop i Michael Dilger w związku z usterką typu Race Condition przy dostępie do plików. Pod koniec 2003 roku Andriej Koliszak skonkretyzował ten opis pod kątem wyzwalaczy w Windows.

Zagrożenie

W stanowisku przedstawionym heise Security firma McAfee uważa, że skuteczny atak tego typu jest w praktyce mało prawdopodobny. Aby można było efektywnie zmanipulować argument podczas przełączania kontekstu, potrzebnych jest bardzo wiele prób –. co ostatecznie skończyłoby się najprawdopodobniej wyświetleniem niebieskiego ekranu. Poza tym "szkodnik" musi już znajdować się w systemie, aby próby manipulacji były możliwe. W wyniku ataku typu Argument Switching malware może jedynie uzyskać wyższe uprawnienia – jeśli jeszcze ich nie ma, ponieważ użytkownik pracuje na prawach administratora.

Z tych samych względów także F-Secure nie widzi powodów do paniki. Problem jest istotny jedynie dla tych wirusów, dla których i tak nie istnieją sygnatury –. ale to jest rozwiązywane przez inne systemy rozpoznawania.

Rozwiązanie

Wszyscy producenci traktują wspomniany problem poważnie i pracują nad jego rozwiązaniem, ale nie zamierzają go implementować od razu. O ile w przypadku Windows 7 i Visty SP1 Microsoft zaleca stosowanie specjalnego API do zagnieżdżania skanerów antywirusowych i odradza stosowanie SSDT, o tyle w przypadku wciąż bardzo rozpowszechnionego Windows XP takiego API nie ma. Poza tym według informacji Aviry oficjalne API nie obsługuje wszystkich funkcji. Dlatego przy implementacji rozpoznawania behawioralnego w Antivir 10 firma musiała skorzystać z uchwytów wyzwalaczy umieszczanych w tablicy SSDT. Jednak starszą wersję Antivir 9 dało się zrealizować bez ich stosowania, przynajmniej w wariancie dla Windows 7 i Visty SP1.

wydanie internetowe www.heise-online.pl

Oceń jakość naszego artykułuTwoja opinia pozwala nam tworzyć lepsze treści.
Udostępnij:
Wybrane dla Ciebie
Komentarze (3)