Pod znakiem czarnego kapelusza

Gość pod lupą

Dzisiaj w firmach często stosowana jest wirtualizacja systemów operacyjnych i powszechnie znane są sposoby zabezpieczenia systemów w niej eksploatowanych. Nowością w tej dziedzinie jest, zaprezentowana przez Matta Conovera, technika wstrzyknięcia agenta do systemu hostowanego wewnątrz hypervisora VMware. Zamiast rozproszonej architektury wymagającej wielu punktów kontroli, instalowania agentów i zapewnienia kontroli ich działania, technologia SADE ma w swoich założeniach oferować możliwość aktualizacji oprogramowania, kontroli bezpieczeństwa systemów i skanowania plików bezpośrednio z poziomu hypervisora. W odróżnieniu od mechanizmu, który umożliwia uruchomienie dowolnej aplikacji wewnątrz systemu gościa VMware, podejście to nie wymaga instalacji żadnego oprogramowania. Uruchomienie agenta wewnątrz systemu hostowanego może być wykryte przez rootkita pracującego w trybie jądra, który monitoruje start procesów (sprawdza NtCreateProcess). Technika SADE nie wymaga zapisu plików na dysk ani montowania żadnego zasobu, kod działa w jądrze, sam proces uruchamiania jest bardzo krótki. Typowy proces uruchamiania i pracy agenta jest liczony w milisekundach, co sprawia, że prawdopodobieństwo reakcji złośliwego oprogramowania jest bardzo niskie. Takie podejście umożliwia przeniesienie ciężaru kontroli antywirusowej ze sprawdzania plików na dysku do okresowego skanowania pamięci pracującego systemu za pomocą wstrzykiwanego kodu agenta.

Inną prezentację dotyczącą środowiska wirtualizowanego wygłosił Kostya Kortchinsky. Objęła ona metodę łamania zabezpieczeń Vmware i możliwość zarażenia serwera hostującego maszynę wirtualną.

Niewidoczny wróg

Przy analizach powłamaniowych nie należy zapominać o tradycyjnych technikach kryminalistyki, na przykład o badaniu zamków.

Tematem, który cieszył się wyjątkowo dużym zainteresowaniem badaczy były rootkity. Oprócz badań złośliwego kodu w platformie Windows i Linux (w tym system Android bazujący właśnie na Linuksie), bardzo ciekawą koncepcję rootkitów dla systemu MacOS X przedstawił Dino Dai Zovi. Infrastruktura Mach stosowana w MacOS X daje większe szanse, by kod został niezauważony niż w przypadku tradycyjnych systemów typu UNIX. Jądro MacOS X (xnu) jest hybrydą Mach 3.0 i FreeBSD, zawiera rozwiązania znane z BSD oraz serwery RPC i IOKit pochodzące z jądra Mach. Rootkit działający w jądrze Mach może być równie skuteczny, co w typowym kernel mode w innych systemach typu UNIX, ale jest znacznie trudniejszy do wykrycia. Jednocześnie jest nakierowany na konkretny cel, może wstrzykiwać kod do różnych procesów, na przykład przeglądarki internetowej.

Infekcja przeglądarki internetowej pozwala na pracę kodu przez długi czas z dostępem do otwartych na zaporze portów 80 i 443. Przy tym może także analizować kod HTML otwierany przez przeglądarkę w poszukiwaniu interesującej treści. Wstrzyknięcie kodu nie powoduje naruszenia dynamicznych podpisów kodu, więc taki rootkit może być bardzo trudny do wykrycia. Nieoficjalnie pojawiły się komentarze mówiące, że ruch kojarzony z jednym z omawianych rootkitów został już wykryty, zatem istnienie bardzo dobrze zakamuflowanego, złośliwego oprogramowania dla platformy MacOS X jest już faktem. Na tym tle informacja o luce w bezpieczeństwie usługi SMS niektórych telefonów wydaje się mało znacząca.

Eksploit wybierze się sam

Cyberprzestępcy przy atakowaniu kolejnych komputerów stoją przed wyborem eksploita kierowanego przeciw przeglądarce użytkownika. Ponieważ atakowanie niewłaściwym eksploitem mija się z celem, opracowano techniki identyfikacji przeglądarki ofiary. James Lee, jeden z deweloperów projektu Metasploit, przedstawił właśnie to zagadnienie, ujęte w praktyczne reguły. Najprostsza z metod polega na analizie informacji, które dostarcza zmienna UserAgent, ale bardzo prosto można ją oszukać (niektóre przeglądarki mają tę opcję wbudowaną, inne wymagają odpowiedniego dodatku). Znacznie bardziej niezawodne są inne cechy przeglądarki, takie jak obiekty JavaScript. Można w tym celu wykorzystać także różnice w renderowaniu zawartości oraz błędy parsera (szczególnie IE). Po dokonaniu wyboru, atakujący mogą automatycznie dostarczyć przeglądarce kod, który wykorzysta lukę w bezpieczeństwie danej wersji programu bez niepotrzebnego atakowania innym kodem, który nie miałby szans działać.

Dość dużo miejsca poświęcono na konferencji bezpieczeństwu urządzeń wbudowanych, dostępnych publicznie (parkometry) albo przez Internet (konsole webowe). W takim przypadku problemem nie jest jednostkowa podatność, ale niedopracowany model i skala wdrożenia.


TOP 200