Komputer bez antywirusa! Sysintegrus – bastion ochrony
Transkrypt
Komputer bez antywirusa! Sysintegrus – bastion ochrony
Copyright© 2012 by [email protected] Komputer bez antywirusa! Sysintegrus – bastion ochrony komputerów przed złośliwym oprogramowaniem (Dodatek do e-booka „DeRATyzacja komputera. Jak usunąć szkodniki, gdy antywirus zawodzi?”) Oprogramowanie antywirusowe nie wykrywa najgroźniejszego złośliwego oprogramowania - na komputerze ofiary instalują się unikatowe w formie binarnej, kontrolowane przez cyberprzestępców programy. Symantec w Raporcie z 2012 roku1 podaje, że w 2011 roku rozpoznawał ponad 403 miliony unikatowych wariantów złośliwego oprogramowania (wzrost o 41% w stosunku do 2010 roku). W 2006 roku było około pół miliona, głównie wirusów, których teraz prawie nie ma. Zresztą obecnie dawny klarowny podział na wirusy, robaki czy trojany, oparty na ich zawartości i metodach propagacji nie ma już zastosowania. Dziś złośliwe oprogramowanie jest najczęściej hybrydowe, łączy w sobie różnorodne funkcjonalności i metody rozprzestrzeniania. Natomiast mnogość unikatowych wariantów wynika z coraz powszechniejszego stosowania polimorfizmu, metamorfizmu czy innych technik zaciemniania złośliwego kodu. A co mamy do obrony? Oprogramowanie antywirusowe - ze zmieniającym się, atrakcyjnym interfejsem graficznym i wciąż tą samą od ponad 20 lat technologią wykrywania. Było ono przez wiele lat skuteczne. A teraz? Zanim odpowiemy na to pytanie, warto przypomnieć, jak działa klasyczny antywirus; niewielu użytkowników komputerów ma taką wiedzę. Klasyczna technologia antywirusowa polega na poszukiwaniu w skanowanych plikach charakterystycznych dla danego szkodnika ciągów binarnych – sygnatur. Baza sygnatur jest słownikiem próbek złośliwego kodu. Kiedy plik jest skanowany, antywirus odwołuje się do bazy sygnatur i sprawdza, czy w pliku nie występują zdefiniowane w niej próbki binarne złośliwego kodu. Jeśli wynik sprawdzenia jest pozytywny, antywirus sygnalizuje wykrycie szkodnika i podejmuje dalsze działania: naprawienia zainfekowanego pliku, umieszczenia w kwarantannie lub skasowania. Warto zauważyć, że antywirus wykryje i być może unieszkodliwi złośliwy program tylko wtedy, gdy posiada odpowiednią sygnaturę. Wykrywanie szkodliwego oprogramowania w oparciu o technologię sygnatur może być efektywne pod warunkiem, że dysponujemy kompletną bazą próbek złośliwego kodu. Aktualizowanie bazy sygnatur jest coraz trudniejsze z kilku powodów, które przesądzają o słabości tej technologii w walce ze współczesnym złośliwym oprogramowaniem. Najistotniejszym jest prawie wykładniczy wzrost wolumenu złośliwego oprogramowania. Producenci oprogramowania antywirusowego po pierwsze nie mają możliwości otrzymania wszystkich nowych szkodników, a wytwarzanie sygnatur dla tych schwytanych w czasie kilku godzin jest coraz większym wyzwaniem. Kolejny problem to zagwarantowanie bezzwłocznego zaktualizowania sygnatur złośliwego oprogramowania na komputerach użytkowników. Aktualizacja jest zwykle zautomatyzowana, lecz może zawieść. Jej przywrócenie wymaga uwagi i interwencji użytkownika. Częściowym remedium na powyższe słabości klasycznych antywirusów jest wykrywanie heurystyczne. Polega ono na identyfikacji podejrzanego zachowania programu, które może wskazywać na potencjalne zagrożenie. Metoda ta, zaimplementowana w zaawansowanych antywirusach, może wykrywać nowe szkodniki lub nowe formy binarne znanego złośliwego oprogramowania. Jest to odmienne podejście od wykrywania opartego na sygnaturach, bo opiera się na monitorowaniu zachowania wszystkich programów i wykryciu złośliwego działania. Może ono polegać na przykład na wykryciu próby modyfikacji plików systemowych i powiadomieniu o 1 http://www.symantec.com/tv/shows/details.jsp?vid=1582508944001 Strona 1 4.11.2012/16:00:59 Copyright© 2012 by [email protected] tym fakcie użytkownika. Daje to dodatkowy poziom ochrony przed nieznanym złośliwym oprogramowaniem. Inną metoda wykrywania heurystycznego jest emulowanie działania badanego programu z wykorzystaniem tzw. heurystycznych mikroprogramów. Umożliwia ocenę, czy program jest potencjalnie złośliwy, a wybór dalszego działania pozostawia użytkownikowi. Metody heurystyczne mają istotne wady: stosunkowo dużo fałszywych wykryć, spore stałe dodatkowe obciążenie komputera, a także istotne wydłużenie czasu skanowania dysków. Współczesne komercyjne antywirusy są najczęściej pewną kombinacją obu omówionych wyżej metod wykrywania złośliwego oprogramowania. Pomimo to ich skuteczność w walce ze złośliwym oprogramowaniem z roku na rok maleje. Zastanówmy się, dlaczego? Kluczowym momentem infekcji komputera jest uchwycenie tzw. przyczółka, czyli pierwsze umieszczenie złośliwego kodu na komputerze ofiary. Następną fazą jest ukrycie się przed antywirusem lub jego obezwładnienie. Kolejna faza to ściągniecie z Internetu dodatkowego złośliwego oprogramowania, które umożliwi przejęcie i wykorzystanie komputera ofiary w przestępczych celach. Sprofesjonalizowany cyberprzestępczy biznes jest w stanie skutecznie „wytwarzać” niewykrywalne przez antywirusy szkodniki. Wykorzystywane są w tym celu zaawansowane techniki modyfikacji i zaciemniania kodu „produkujące” zmienione pliki binarne, realizujące te same szkodliwe funkcje. Jest to swoisty recykling już wcześniej eksploatowanych szkodników, po zapewnieniu im niewykrywalności przez antywirusy. Oczywiście nadal możliwe jest wykorzystanie w celu uchwycenia przyczółka nieznanej podatności systemu lub oprogramowania, lecz jest to dość trudne. Łatwiejsze (i zarazem bardzo przewrotne) jest wykorzystanie już opublikowanych aktualizacji systemu lub oprogramowania. Okazuje się, że cyberprzestępcy przy pomocy inżynierii wstecznej odkrywają podatność, której dotyczy aktualizacja. I w ciągu kilku godzin „produkują” złośliwe oprogramowanie wykorzystujące tę podatność. Aktualizacja komputerów użytkowników i wytworzenie sygnatur dla antywirusów może zająć nawet kilka dni. To czas wystarczająco długi do uchwycenia wielu przyczółków i w efekcie zamiany wielu komputerów w kontrolowane przez cyberprzestępców zombie. Klasyczna technologia antywirusowa jest więc niewydolna i znajduje się w fazie schyłkowej. Co więc w zamian? Niezbędne jest opracowanie nowych technologii ochrony przed złośliwym oprogramowaniem. Punktem wyjścia powinno być odwrócenie podstawowej zasady działania klasycznego oprogramowania antywirusowego. Podstawą działania „antywirusów” nowej generacji powinno być identyfikowanie oprogramowania „czystego”, czyli bezpiecznego. Nowej technologii jeszcze nie ma, a nowe złośliwe oprogramowanie już jest! Ma się całkiem dobrze w naszych komputerach, my niestety raczej gorzej. Cyberprzestępcy infekujący nasze komputery niewykrywalnymi trojanami wyciągają z nich nasze poufne dane. Mogą nas okraść lub wpędzić w kłopoty, używając do przestępczej działalności naszych - nie naszych komputerów. Komputer zainfekowany Trojanem zdalnego dostępu (ang. RAT) już nie jest nasz. Cyberprzestępcy skrycie i zdalnie, za pośrednictwem Internetu, mają do niego pełny dostęp. Godna pożałowania może być sytuacja właściciela komputera, na którym cyberprzestępcy przechowują i udostępniają dziecięcą pornografię. Organa ścigania mogą zidentyfikować taki komputer, natomiast wykrycie w nim trojana może być o wiele trudniejsze. W takiej sytuacji z pomocą przychodzą metody informatyki śledczej, które były inspiracją do opracowania założeń nowego typu ochrony komputera przed złośliwym oprogramowaniem. Nazwa antywirus jest już nieadekwatna. O wiele lepiej istotę tego nowego oprogramowania oddaje nazwa Sysintegrus, czyli utrzymujący integralność systemu. Strona 2 4.11.2012/16:00:59 Copyright© 2012 by [email protected] Sysintegrus to nowe oprogramowanie służące do ochrony komputerów z systemami Windows przed złośliwym i innym niepożądanym oprogramowaniem. Zastąpi dotychczas wykorzystywane klasyczne oprogramowanie antywirusowe. Oparte jest na koncepcji reputacji plików, która - jako dodatkowa ochrona - jest już stosowana w niektórych rozwiązaniach antywirusów. Najbardziej rozwinięta jest technologia Microsoft SmartScreen, zastosowana w Windows 8. Jest ona uzupełnieniem ochrony zapewnianej przez nowy Windows Defender lub oprogramowanie antywirusowe innego producenta. Jednakże jej skuteczność będzie można ocenić dopiero po premierze tego systemu. Niezależne od wyniku tej oceny, Sysintegrus nadaje się do wszystkich systemów z rodziny Windows zaczynając od Windows XP. Istotne jest wykorzystanie pewnych właściwości systemu plików NTFS, co zostanie wyjaśnione dalej. Podstawową zasadą działania Sysintegrusa jest ustalenie i bieżące sprawdzanie typu, stanu i statusu plików na twardym dysku komputera. W tym celu jest wyposażony w bazę zawierającą sumy kontrolne MD5 i SHA1 znanych „dobrych” plików systemowych i oprogramowania Windows, a także bazę sygnatur do identyfikowania typów plików niezależnie od ich rozszerzeń. Po jego zainstalowaniu następuje sprawdzenie integralności systemu, które polega na rozpoznaniu każdego pliku i określeniu jego typu, stanu i statusu. Wynik takiego sprawdzenie będzie zapisany w tzw. Alternatywnych Strumieniach Danych (ang. ADS), oddzielnie dla każdego pliku. Pomysł wykorzystania statusów zapisywanych w ADS jest kluczowy dla koncepcji Sysintegrusa; zapewnia istotne korzyści. Ustalony status może być sprawdzany przy każdym dostępie do pliku, bez konieczności każdorazowego ponownego jego badania. Zapis w ADS jest niewidoczny, co zapewnia dużą odporność na jego przypadkowe uszkodzenie lub celowe zmanipulowanie. Sprawdzenie statusu jest analogiczne do ochrony rezydentnej realizowanej przez oprogramowanie antywirusowe, lecz pozbawione jej istotnych wad. Nie spowalnia działania komputera, szczególnie przy kopiowaniu plików i gwarantuje zablokowanie dostępu do każdego pliku bez zapisanego w skojarzonym z nim ADS właściwego statusu. Oczywiście Sysintegrus powinien również wykrywać i blokować wszelkie próby dostępu do plików zawierających złośliwy kod - ich uruchomienie może zainfekować komputer. Rozpoznanie takich plików zapewni baza zawierająca sumy kontrolne MD5 i SHA1 zidentyfikowanych złośliwych plików. A jak powinien zachować się Sysintegrus w przypadku nie znalezienia sumy kontrolnej ani w bazie „dobrych” plików, ani w bazie znanego złośliwego oprogramowania? Powinien potraktować taki plik jako potencjalnie złośliwy, zablokować do niego dostęp i przekazać do analizy online. Mogą tu być wykorzystane różnorodne, zaawansowane techniki heurystyczne; będzie się ona odbywać na serwerach producenta Sysintegrusa, a nie na komputerze użytkownika. Wynikiem takiej analizy powinna być przesłana zwrotnie rekomendacja: czy potraktować plik jako dobry i zezwolić na dostęp, czy też jako złośliwy i zablokować dostęp. W takim przypadku status będzie ustalony jako tymczasowy i będzie zweryfikowany po dodaniu sum kontrolnych tego pliku do bazy plików dobrych lub złośliwych. Taką weryfikację zapewni zaimplementowany silnik sprawdzania statusu przy każdym dostępie do pliku. Z powyższego opisu wynika, że sprawdzane są wszystkie pliki. Przedłuża to istotnie inicjalne ustalenie statusu plików w komputerze, lecz minimalizuje ryzyko pominięcia pliku zawierającego złośliwy kod. Stąd wynika konieczność identyfikowania typu pliku na podstawie jego sygnatury, a nie rozszerzenia, które może być sfałszowane. W kolejnym kroku następuje określenie stanu pliku, czyli zidentyfikowanie plików tymczasowych, obecności kodu wykonywalnego itp. Ostatecznie każdy plik na dysku ma ustalony status, który zezwala (bądź nie zezwala) na dostęp. Plik bez ustalonego statusu zostanie domyślnie zablokowany, aż zostanie ustalony status zezwalający. Strona 3 4.11.2012/16:00:59 Copyright© 2012 by [email protected] Przedstawiony powyżej zarys koncepcji Sysintegrusa nie jest teoretyczną ideą, lecz praktycznym przepisem na realizację ochrony przed złośliwym oprogramowaniem. Całkowicie odmiennym od nadal stosowanej, lecz coraz bardziej niewydolnej technologii antywirusowej. Opracowanie nowej technologii opartej na koncepcji Sysintegrusa, zaimplementowanie jej w oprogramowaniu, przetestowanie finalnych rozwiązań i przekonanie użytkowników do ich używania nie będzie łatwe. Producenci oprogramowania antywirusowego znają słabości swoich produktów, lecz dużo zainwestowali w ich rozwój i nie są skłoni do inwestowania w nowe rozwiązania 2. Zresztą ponad 70% internautów bagatelizuje zagrożenia w sieci3. Pomysłowość i perfidia cyberprzestępców jest doprawdy nieograniczona. Współczesne złośliwe oprogramowanie jest zdolne do blokowania antywirusów. Użytkownik może tego nie zauważyć, a szkodniki pozostaną nie wykryte, nawet jak już zostaną opracowane właściwe sygnatury. Obezwładniony przez złośliwe oprogramowanie antywirus jest bezużyteczny. Szczególnie agresywne szkodniki zablokują każdy program, który zostanie przez nie rozpoznany jako antywirus. Na ogół nie pomoże zmiana nazwy pliku programu, bowiem zostanie on rozpoznany na podstawie cech określonych w swoistej sygnaturze. Tym razem, o ironio będzie ona służyć do wykrycia antywirusa. Więcej szczegółów można znaleźć w artykule Petera Kleissnera „Creating an Anti-AV scanner…and blocking Avs”4. No, ale najpierw trzeba uchwycić przyczółek, o czym pisałem wcześniej. To nic trudnego. Wystarczy zakupić odpowiedni „toolkit”, z wygodnym interfejsem graficznym, a nawet ze wsparciem technicznym. Wytworzenie unikatowego wariantu złośliwego oprogramowania przy pomocy zawartego w nim „buildera” jest stosunkowo proste5. Następnie, za niewielką opłatą (abonament miesięczny - 25$, za jedno sprawdzenie- 0.15$) można anonimowo przetestować jego wykrywalność na 35 antywirusach6. Cyberprzestepczy biznes rozwija się dynamicznie, bo jest dochodowy i stosunkowo mało ryzykowny. Trudno schwytać cyberprzestępców, a jeszcze trudniej udowodnić ich winę i skazać. Tym ważniejsza jest więc skuteczna obrona przed ich działalnością. Składa się ona z dwóch podstawowych obszarów: oprogramowania ochronnego oraz czynnika ludzkiego, czyli świadomości zagrożeń. W obu dziedzinach jest wiele do zrobienia. Jest to zadanie nie tylko dla specjalistów bezpieczeństwa IT, lecz także dla wszystkich korzystających z cyberprzestrzeni. Oprogramowanie takie jak Sysintegrus z pewnością zostanie wyprodukowane, jeśli pojawi się zapotrzebowanie ze strony użytkowników. A pojawi się, jeśli do użytkowników komputerów będą docierać informacje o małej skuteczności antywirusów jako ochrony przed współczesnym złośliwym oprogramowaniem. Autor: Leszek IGNATOWICZ, twórca i lider projektu www.SysClinic.pl DeRATyzacja komputera, ekspert w zakresie badania cyfrowych śladów w komputerach PC, członek stowarzyszenia Instytut Informatyki Śledczej7 2 John Viega „Mity bezpieczeństwa IT. Czy na pewno nie masz się czego bać?” („The Myths of Security: What the Computer Security Industry Doesn’t Want You to Know”) http://pdf.helion.pl/mibeit/mibeit-1_3.pdf 3 http://www.chip.pl/news/bezpieczenstwo/wirusy/2011/12/polacy-wciaz-latwym-celem-dla-cyberprzestepcow-1 4 http://www.stoned-vienna.com/downloads/Creating%20an%20Anti-AV%20scanner%20Article.pdf 5 http://www.trendmicro.com/cloud-content/us/pdfs/security-intelligence/white-papers/wp_zeus-persistent-criminalenterprise.pdf 6 http://scan4you.net/version.php 7 http://www.siis.org.pl/index.php?page=czlonkowie-stowarzyszenia Strona 4 4.11.2012/16:00:59