EMET v4

Powszechnie uwaza sie, ze nie istnieje oprogramowanie, w którym nie ma bledów. Choc to mocno uproszczony sposób patrzenia na swiat, to zwraca uwage na wazna rzecz: fakt, ze nie wiemy o jakims bledzie, wcale nie oznacza, ze go nie ma. Jezeli blad dotyczy krzywego drukowania tabelek na sto siedemnastej stronie dokumentu – nie musimy zwykle nadmiernie sie nim przejmowac. Jezeli jednak wiaze sie on z zagrozeniem bezpieczenstwa, to predzej czy pózniej, fakt jego wykrycia sprawi, ze ktos pokusi sie o utworzenie exploita – potencjalnie skutecznej metody ataku majacego na celu uzyskanie w systemie jakichs nienaleznych uprawnien. Konczy sie to róznie: od dokumentu PDF, który "wywraca" aplikacje majaca go wyswietlic, po przejecie pelnej kontroli nad systemem w wyniku wejscia na jakas zupelnie niepozornie (albo wrecz przeciwnie) wygladajaca strone internetowa.

I tu pojawia sie oczywiste pytanie: jak sie bronic przed takimi atakami?

Generalnie przyjmuje sie, ze aktualizacja oprogramowania (wszelkiego, nie tylko systemu) jest tym, co powinno zmniejszyc ryzyko do poziomu akceptowalnego przez typowego uzytkownika. Zazwyczaj, skoro pojawia sie blad, pojawia sie i poprawka i nawet skuteczna dotad metoda ataku przestaje dzialac. Problem tylko w tym, ze zdarza sie, ze skuteczna metoda ataku istnieje w przyrodzie zanim pojawi sie poprawka. Nie jest to czeste, bo najpierw trzeba znalezc niezalatana usterke a potem opracowac proof of concept i stworzyc exploit. Ze wzgledu na potencjalne korzysci dla sil Ciemnej Strony Mocy, exploit taki (okreslany zwykle jako 0day) ma ogromna wartosc, dochodzaca na czarnym rynku do setek tysiecy dolarów. Skoro istnieje wymierna finansowa korzysc ze skutecznego ataku, to istnieje popyt na exploity. Takie czasy... Warto jednak zdawac sobie sprawe z realnego ryzyka. Jezeli ktos posiada narzedzie warte majatek – prawdopodobnie bedzie uzywal go z rozwaga. Zaatakowanie miliona przypadkowych komputerów w Internecie jest kuszace, ale zwieksza prawdopodobienstwo, ze ktos taki atak wykryje i przeanalizuje. Nie dosc, ze sam bedzie mógl sie zabezpieczyc, to jeszcze pewnie predzej czy pózniej poinformuje MSRC albo inna ekipe dzialajaca po stronie tych dobrych. W efekcie, wkrótce powstanie poprawka, która posiadaczowi exploita 0day odbierze cala przewage nad reszta swiata. Mozna wiec przyjac, ze konkretny komputer zostanie zaatakowany raczej w sytuacji, gdy dla atakujacego, korzysci z ataku beda wyzsze niz poniesione koszty.

A co, jezeli moje dane sa naprawde cenne? Co jezeli, to wlasnie ja mam pecha i na mnie zostanie skierowany atak? Wtedy pojawia sie powazniejszy problem, ale nie pozostajemy bezbronni. Mamy szanse na obrone dlatego, ze mimo pozornej róznorodnosci wiekszosc wspólczesnych ataków (równiez tych 0day) w srodku uzywa praktycznie tych samych technik. Wiedzac to, mozemy próbowac zastosowac jedna z metod przeciwdzialania takich, jak:

Warto tez wspomniec o technikach aktywnie przeciwdzialajacych wspólczesnym mechanizmom stosowanym w malware. Nie zabezpieczaja one systemu bezposrednio, jednak sprawiaja, ze udany atak jest dodatkowo utrudniony:

  • EAF – Export Address Table Access Filtering
  • Heapspray Allocations

Tyle teorii. Tylko jak zastosowac ja w praktyce typowego profesjonalisty IT, który niekoniecznie chce wiedziec co sie dzieje na stosie czy w chronionych obszarach pamieci? I tu z pomoca przychodzi tytulowy EMET czyli Enhanced Mitigation Experience Toolkit. Rozwijany od wielu lat pakiet oprogramowania Microsoftu, który nadal istnieje w wersji Beta, jednak wyraznie dojrzewa do postaci dajacej sie na powaznie zastosowac w skali duzej sieci, nawet zawierajacej muzealne Windowsy XP. Wersja oznaczona numerem 4 wlasnie pojawila sie na portalach Microsoft i zdecydowanie warto przyjrzec jej sie blizej.

Autor: Grzegorz Tworek [MVP]