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