Eksploit z automatu

Windows doczekał się mechanizmu umożliwiającego włamywaczom automatyczne tworzenie programów wykorzystujących jego słabości. To nowe wyzwanie, któremu muszą sprostać administratorzy systemów IT odpowiedzialni za bezpieczeństwo.

Windows doczekał się mechanizmu umożliwiającego włamywaczom automatyczne tworzenie programów wykorzystujących jego słabości. To nowe wyzwanie, któremu muszą sprostać administratorzy systemów IT odpowiedzialni za bezpieczeństwo.

Do niedawna najważniejszą techniką komputerowych włamywaczy było szukanie luk w systemach lub aplikacjach i przygotowywanie wykorzystujących te słabości programów (eksploitów) zanim producent oprogramowania opracuje odpowiednie poprawki. Pojedynek na dziury i łaty trwa i nic nie wskazuje na możliwość jego rozstrzygnięcia. Szukanie luk w oprogramowaniu wymaga jednak wiele pracy. Znacznie łatwiej więc skorzystać z pracy innych, a najlepiej producenta, który dba o aktualność swoich programów i regularnie dostarcza ich aktualizacje. Oczywistym przykładem jest tu Microsoft, który systematycznie, raz w miesiącu publikuje zestawy łat, zwłaszcza dla Windows.

Analiza aktualizacji, dostarczanych za pomocą Windows Update jest ciekawym sposobem wyszukiwania podatności systemów Windows. Umożliwia ona znalezienie przez potencjalnego włamywacza nie tylko luk znanych wcześniej, ale również tych, o których producent nie wspominał, a hakerzy lub eksperci od analizy bezpieczeństwa nawet ich nie zauważyli. Na pierwszy rzut oka mogłoby się wydawać, że wyszukiwanie załatanych luk nie ma sensu, ale tak nie jest. Należy pamiętać, że w skali masowej proces instalacji poprawek trwa dość długo, bo z jednej strony mechanizmy automatycznej aktualizacji wciąż nie są doskonałe, a z drugiej użytkownicy nie zawsze chcą lub mogą z nich korzystać (np. obawiają się potencjalnych problemów i zaburzenia pracy systemu produkcyjnego).

Dlatego też pojawienie się programów do automatycznej analizy poprawek, które szybko dostarczają informacji o łatanych lukach może być bardzo efektywnym narzędziem w rękach włamywaczy. Wystarczy szybko pobrać najnowsze aktualizacje, porównać z poprzednio dostępnymi, a obecnie łatanymi plikami i za pomocą odpowiednich programów przygotować nowe narzędzie ataku. Oczywiście na atak taki wrażliwe będą tylko te komputery, które jeszcze nie zostały zaktualizowane. Ale przy wykorzystaniu mechanizmów automatyzujących proces przygotowania eksploitów, można go skrócić do kilku godzin, więc podatnych na włamanie komputerów na pewno nie zabraknie.

Maszynka dla włamywaczy

Program tworzący eksploity (zwany APEG) na podstawie porównań dwóch plików (przed i po aktualizacji) jest oparty na kilku sprytnych pomysłach. Typowym błędem programistycznym jest przepełnienie bufora. Naprawa tego błędu często jest wykonywana najprościej jak to tylko możliwe, czyli przez dodanie instrukcji sprawdzających, czy wartość mieści się w dozwolonym przedziale. Gdy narzędzie porówna dwa pliki i znajdzie różnicę między nimi, bardzo prawdopodobne jest to, że wśród tych różnic będą właśnie instrukcje sprawdzania poprawności danych. Po analizie wyników można znaleźć, jakie dane należy wprowadzić do programu, aby wywołać błąd skutkujący naruszeniem bezpieczeństwa aplikacji lub nawet systemu. System lub program po aktualizacji nie będzie podatny na ten konkretny błąd, ale ten nie załatany - owszem.

Skuteczność tego typu narzędzi oraz ataków jest bardzo wysoka. Wynika to nie tylko z pośpiechu w tworzeniu aktualizacji. W pewnych przypadkach deweloperzy wolą dodać jedynie podprogram testujący poprawność danych, gdyż nie narusza to pozostałych części aplikacji lub systemu. Ma to szczególne znaczenie, gdy aktualizacja dotyczy biblioteki, która może być wywoływana z różnych programów, bo wtedy testowanie poprawki jest znacznie prostsze. Wiele aktualizacji dotyczy właśnie bibliotek, dlatego narzędzie analizujące APEG jest przygotowane do ich analizy. W przypadku złożonych programów lub bibliotek wyników może być wiele, zatem APEG jest przystosowany do pracy z wersjami polimorficznymi. Wyniki analizy są dostępne bardzo szybko - w czasie nie przekraczającym minut.


TOP 200