Stan zagrożeń w internecie znajduje się obecnie na poziomie standardowym. Nie występują duże epidemie a eksperci z Kaspersky Lab nie zanotowali żadnych poważnych incydentów związanych z bezpieczeństwem. Poziom zagrożenia: 1

Tradycyjne rozwiązania antywirusowe - czy są skuteczne wobec współczwesnych zagrożeń?


Nie ma wątpliwości, że na przestrzeni lat zmieniła się natura zagrożeń, jakie napotkać mogą użytkownicy komputerów PC. Obecne zagrożenia są znacznie bardziej złożone niż dawniej. Większość dzisiejszych złośliwych programów, takich jak trojany, backdoory, wykorzystywane przez spamerów serwery proxy, jak również wirusy i robaki, tworzone są w konkretnym celu: przechwycenia komputerów użytkowników. Jeden trojan może znajdować się na kilku tysiącach zainfekowanych komputerów. Złośliwy kod może być zawarty w wiadomości e-mail, umieszczony w fałszywych pakietach oprogramowania lub na stronach WWW "szarej strefy", a następnie ściągany za pomocą trojana zainstalowanego na zainfekowanym komputerze. Skala problemu wzrosła również pod względem liczby wykrywanych wirusów - obecnie antywirusowe bazy danych firmy Kaspersky Lab zawierają prawie 100 000 wpisów.

W ostatnich latach okazało się, że tradycyjne rozwiązania antywirusowe oparte na sygnaturach nie są w stanie poradzić sobie z coraz bardziej złożonymi atakami. Od czasu epidemii wirusa CodeRed w lipcu 2001 r. niektórzy specjaliści uznali, że skaner oparty na sygnaturach jest przestarzały, a przyszłość należy do różnego typu analizy behawioralnej.

"Oparte na sygnaturach oprogramowanie antywirusowe używane obecnie przez większość firm posiada wartość marginalną, która stale się zmniejsza. Według Gartnera, firmy powinny rozwijać się i ostatecznie zastępować techniki oparte na sygnaturach silniejszym podejściem. Firmy, które tego nie uczynią, zostaną zalane złośliwymi programami przychodzącymi wraz z falę usług internetowych".
Signature-Based Virus Detection at the Desktop is Dying, Gartner, 2001.

Jak zmieniły się zagrożenia i jakie wnioski można wyciągnąć odnośnie skuteczności tradycyjnych rozwiązań antywirusowych?

W obecnych czasach tempo rozprzestrzeniania zagrożeń zmieniło się niewyobrażalnie. W "starych, dobrych czasach" szybkość rozprzestrzeniania wirusa zależała od czynności użytkownika. Wirusy mogły przemieszczać się tak szybko, jak pozwalały na to czynności użytkownika. Aby możliwe było rozprzestrzenianie wirusów sektora startowego, które do połowy lat 90. wywołały 75% wszystkich infekcji i stanowiły dla użytkowników komputerów PC największe zagrożenie, użytkownicy musieli wymieniać się dyskietkami. Oznaczało to, że w kategoriach globalnych wirusy rozprzestrzeniały się bardzo wolno i zwykle udawało się zlokalizować infekcje. Sytuacja zmieniła się dramatycznie, gdy w 1995 r. po raz pierwszy pojawiły się makrowirusy. Atakowane przez makrowirusy obiekty - pliki danych (głównie dokumenty w Microsoft Office i arkusze kalkulacyjne) zapewniły im pewną przewagę. Podobne znaczenie miał fakt, że w tym czasie wiadomości e-mail stawały się głównym narzędziem prowadzenia działalności. Oznaczało to, że wirusy mogły być przenoszone w każdej wiadomości przesłanej przez zainfekowanego użytkownika i w ten sposób dotrzeć do każdej osoby, z którą się on kontaktował. Jednak, nawet makrowirusy wymagały pewnych czynności podjętych przez użytkownika.

Wirus Melissa, który pojawił się w marcu 1999 r., stanowił potężny krok naprzód pod względem prędkości infekcji. Na pierwszy rzut oka Melissa wydawała się jedynie kolejnym makrowirusem. Jednak, w przeciwieństwie do innych makrowirusów, które czekały, aż użytkownik prześle zainfekowane dane, Melissa przechwytywała system poczty elektronicznej w celu proaktywnego rozprzestrzeniania się. (Wirus Melissa nie był pierwszym, który próbował wykorzystać wiadomości e-mail do masowego rozsyłania się. W roku 1998 wirus RedTeam zawierał kod umożliwiający mu wysyłanie się przez Internet. Jednak, wirus ten atakował tylko klienta pocztowego Eudora Mail i nie rozprzestrzeniał się w dużych ilościach). Udział użytkownika sprowadzał się tylko do dwukrotnego kliknięcia zainfekowanego załącznika wiadomości. Wirus zbierał adresy e-mail z książki adresowej Outlooka i przesyłał się bezpośrednio zawartych w niej użytkowników. Dzięki temu "masowemu rozsyłaniu" wirus Melissa mógł rozprzestrzenić się dalej i szybciej niż jakikolwiek wcześniejszy makrowirus. Korporacyjne systemy poczty elektronicznej szybko zapchały się wiadomościami e-mail i wiele z nich po prostu ugięło się pod ich ciężarem. Nie ma więc nic dziwnego w tym, że wirus Melissa wyznaczył pewien trend. Od marca 1999 r. niemal wszystkie główne wirusy i robaki zagrażające użytkownikom korporacyjnym i domowym posiadały zdolność masowego rozsyłania się.

Szybsze rozprzestrzenianie się zagrożeń oraz ich większy zasięg były możliwe dzięki połączeniu kilku innych rozwiązań.

Po pierwsze, coraz więcej zagrożeń wykorzystuje obecnie programy typu exploit, które umożliwiają im przedostanie się do sieci korporacyjnej i szybsze rozprzestrzenianie. Wcześniej, takie metody ataków kojarzone były z działalnością hakerów, a nie twórców wirusów. Stanowi to dość duże odejście od starszej generacji wirusów. Dawniej autorzy wirusów potrzebowali do rozprzestrzeniania tylko własnego kodu, a całą resztę pozostawiali niczego niepodejrzewającym użytkownikom. Stopniowo zaczęli wykorzystywać "pomocną dłoń" w postaci luk w popularnych aplikacjach i systemach operacyjnych. Wirus Melissa był pierwszym zagrożeniem, wykorzystującym lukę w aplikacji - w jego przypadku był to Microsoft Outlook. Jednak dopiero pojawienie się w 2001 r. wirusów CodeRed i Nimda zapoczątkowało powszechne wykorzystywanie luk przez wirusy i robaki. CodeRed, który pojawił się w lipcu 2001 roku, był robakiem bezplikowym. Działanie robaka odbiegało całkowicie od ustalonych praktyk: istniał tylko w pamięci i nie próbował infekować plików znajdujących się na zainfekowanym komputerze. W celu zaatakowania serwerów Windows 2000, CodeRed wykorzystywał lukę w serwerze Microsoft IIS. Robak rozprzestrzeniał się przez TCP/IP na porcie 80 i uruchamiał się w pamięci przez przepełnienie bufora. Następnie w ten sam sposób przesyłał się do innych serwerów posiadających luki. Niedługo potem, we wrześniu 2001 r., pojawił się szkodnik Nimda. Wirus ten infekował pliki, ale w przeciwieństwie do wcześniejszych masowo rozsyłanych zagrożeń, nie wymagał, aby użytkownik kliknął załączony do wiadomości zainfekowany plik EXE. Zamiast tego, do uruchomienia się na systemach wykorzystywał luki w przeglądarce Internet Explorer. Chociaż luka ta znana była od sześciu miesięcy, wiele systemów nie posiadało łaty i w związku z tym były one podatne na atak. Dzięki wykorzystaniu luki wirus Nimda zdołał zainfekować systemy na całym świecie w ciągu zaledwie kilku godzin.

Stosowanie programów typu exploit stało się obecnie bardzo powszechne. Niektóre zagrożenia nie stosują w ogóle tradycyjnych technik rozprzestrzeniania. Lovesan, Welchia i niedawno wykryty Sasser są przykładami czystych i prostych robaków internetowych. Nie są masowo rozsyłane, a użytkownik nie musi uruchamiać zainfekowanego programu. Zamiast tego, zagrożenia te rozprzestrzeniają się bezpośrednio w Internecie, z komputera na komputer, wykorzystując różne luki w systemie. Lovesan wykorzystał lukę MS03-026. Welchia wykorzystywał tę samą lukę i jeszcze dodatkowo MS03-007. Sasser, natomiast, wykorzystywał lukę MS04-011.

Inne zagrożenia wykorzystywały zarówno programy typu exploit, jak i przeróżne metody infekcji. Wirus Nimda, na przykład, posiadał kilka mechanizmów ataku. Oprócz aspektu masowego rozsyłania, o którym była mowa wcześniej, wirus załączał kod exploita (w postaci zainfekowanego kodu Java) do plików w HTML. Jeżeli zainfekowany komputer był serwerem, wirus infekował użytkowników poprzez sieć, gdy otwierali zainfekowane strony. W próbach rozprzestrzenienia się w sieciach korporacyjnych wirus Nimda posuwał się jeszcze dalej: skanował sieć w poszukiwaniu dostępnych zasobów, po czym wysyłał swoje kopie, tak aby mogły być uruchamiane przez niczego niepodejrzewających użytkowników. Wirus zmieniał lokalne dyski w otwarte zasoby współdzielone. W ten sposób, osoba posiadająca złe intencje mogła uzyskać zdalny dostęp. Wirus Nimda wykorzystywał również exploit MS00-078 w Microsoft IIS do infekowania serwerów posiadających luki. Dokonywał tego poprzez ściąganie własnej kopii z zainfekowanych wcześniej komputerów w sieci. Wielo-frontowa strategia ataku wirusa Nimda, w połączeniu z wykorzystaniem przez niego luk w systemie, skłoniła wielu specjalistów do określenia tego zagrożenia mianem "złożonego".

Trend ten był kontynuowany. Wiele ze skutecznych obecnie zagrożeń (oczywiście skutecznych z punktu widzenia ich autorów) wykorzystuje różnorodne mechanizmy ataku oraz luki w systemie, aby obejść udział użytkownika i automatycznie uruchomić kod. Powoduje to dramatyczne zmniejszenie czasu, po jakim nowe zagrożenie osiąga rozmiary epidemii. Nie ma wątpliwości, że dzisiejsze zagrożenia są szybsze niż kiedykolwiek. Podczas gdy dawniej do rozprzestrzenienia się wirusa potrzebne były tygodnie, lub nawet miesiące, obecnie zagrożenia obiegają cały świat w ciągu zaledwie kilku godzin. Wykorzystują do tego powszechnie stosowaną w biznesie infrastrukturę poczty elektronicznej oraz zwiększającą się liczbę luk w systemach. Stanowią one dla nich swoistą trampolinę, za pomocą której przedostają się do firmy.

Nie wszystkie skuteczne zagrożenia wykorzystują luki w systemie. Technika masowego rozsyłania zapoczątkowana w 1999 r. przez wirusa Melissa jest skuteczna do tej pory, szczególnie gdy w celu ukrycia zawartego w wiadomości e-mail wirusa czy robaka wykorzystywana jest socjotechnika. Socjotechnika odnosi się do nietechnicznego złamania zabezpieczeń, polegającego w dużej mierze na interakcji ludzkiej, sprytnego nakłaniania ludzi do złamania zwykłych środków bezpieczeństwa. W kontekście wirusów i robaków oznacza to każdy chwyt, zastosowany do oszukania naiwnych użytkowników, w wyniku czego uruchamiają oni złośliwy kod, zazwyczaj przez kliknięcie załączonego pliku. Autor wirusów może osiągnąć w ten sposób bardzo dobre wyniki. Robak Swen (pojawił się we wrześniu 2003 r.) został wypuszczony pod pozorem specjalnej łaty wydanej przez Microsoft, przeznaczonej do usunięcia wszystkich znanych luk w systemach operacyjnych. Swen był bardzo przekonujący, nie tylko dlatego, że wykorzystywał realistyczne okna dialogowe, ale również dlatego, że stąpał po piętach robaków Lovesan i Welchia. Poza tym, pojawił się w okresie, gdy szeroko nagłośniono zjawisko łatania systemów posiadających luki. Mimail.i (listopad 2003) łączył socjotechnikę z oszustwem typu "phishig" i próbował wyłudzić od użytkowników informacje o karcie kredytowej PayPal, które następnie przesyłał swojemu autorowi. W ostatnich miesiącach oszustwa typu "phishing" stały się coraz popularniejsze.

Liczba nowych zagrożeń stale wzrasta - codziennie pojawia się ich kilkaset. Jak wspomnieliśmy wcześniej, większość dzisiejszych zagrożeń jest "złożonym kłębkiem" wykorzystującym wiele metod. Twórcy złośliwego kodu mają do swojej dyspozycji szerokie "menu" złośliwych programów. Poza "tradycyjnymi" zagrożeniami ze strony wirusów istnieją obecnie robaki pocztowe i internetowe, trojany i wiele innych rodzajów zagrożeń. Często wirus lub robak instaluje w zainfekowanym systemie backdoora. Dzięki temu, autor wirusa lub robaka, czy też jakakolwiek osoba, może uzyskać zdalny dostęp do komputera w celu rozsyłania spamu lub innych szkodliwych celów. Nie ma wątpliwości, że kolejne warianty robaków Sobig, Mydoom i NetSky użyto do "zasiania komputerów", aby mogły zostać wykorzystane w przyszłości. Kod może zawierać również trojana typu Trojan-Downloader, który służy do ściągania złośliwego kodu ze zdalnych stron - może to być aktualizacja wirusa lub robaka. Poza tym, złośliwy kod może przeprowadzać atak DoS na poszczególne strony WWW, tak jak w przypadku robaków CodeRed, Mydoom i Zafi.b.

Wzrastające tempo ataków zmusiło twórców programów antywirusowych do szybszej reakcji na nowe zagrożenia. W przywoływanych wcześniej "starych, dobrych czasach" aktualizacja kwartalna w zupełności wystarczyła dla większości klientów. Później standardem stały się aktualizacje publikowane co miesiąc. Po ataku robaków Melissa i LoveLetter, większość producentów oprogramowania antywirusowego przeszła na aktualizowanie sygnatur co tydzień. Obecnie, kilka z nich oferuje aktualizacje codzienne. (Jeden producent, Kaspersky Lab, oferuje aktualizację definicji wirusów co godzinę). Szybkość reakcji została nawet uwzględniona w kilku przeprowadzonych niedawno niezależnych testach programów antywirusowych (organizacje AV-Test.org oraz GEGA IT-Solutions GbR kilka razy w 2004 r. oceniały szybkość reakcji). Mimo to, chociaż definicje wirusów dostępne są szybciej niż kiedykolwiek, wciąż istnieje "poślizg" między pojawieniem się nowego zagrożenia a opracowaniem sposobu zablokowania go. W tym czasie wirusy lub robaki rozprzestrzeniają się niepowstrzymane. Powróćmy jednak do pytań postawionych na początku. Czy produkty antywirusowe mogą poradzić sobie z obecnymi i przyszłymi zagrożeniami? Czy skaner oparty na sygnaturach jest już przestarzały? Czy przyszłość należy do analizy behawioralnej lub innych technologii? Aby odpowiedzieć na te pytania, musimy przyjrzeć się zaproponowanym alternatywom.

Jedną z technologii uznawanych często za następczynię skanowania opartego na sygnaturach jest blokowanie zachowań. Nie jest to nowe zjawisko. Niektórzy producenci przyjęli to podejście we wczesnych latach 90. w odpowiedzi na gwałtowny wzrost liczby wirusów, który, ich zdaniem, mógł przytłoczyć specjalistów z branży antywirusowej.

Tradycyjne skanery antywirusowe przechowują sygnatury złośliwego kodu w bazie danych i używają jej do porównywania podczas procesu skanowania. Mechanizmy blokowania zachowań, natomiast, określają, czy dana aplikacja jest złośliwa, czy nie, na podstawie jej zachowania. Jeśli aplikacja wykona coś, co nie mieści się w obszarze dozwolonych czynności, jej działanie jest ograniczane. Na przykład, jako zagrożenie można zdefiniować próbę pisania do pewnych części rejestru systemowego lub predefiniowanych folderów. Czynność ta może zostać zablokowana lub można poinformować o niej użytkowników. Ta nieskomplikowana metoda może zostać dopracowana. Można, na przykład, ograniczyć dostęp dla jednej aplikacji (przykładowo, można zezwolić przeglądarce Internet Explorer na dostęp jedynie do odczytu do ograniczonych partii rejestru systemowego), jednocześnie dając pełny dostęp innym aplikacje.

Alternatywną metoda behawioralną jest "zapuszkowanie" ściągniętej aplikacji i ograniczenie jej działania jedynie do systemu lokalnego - w celu ograniczenia czynności do predefiniowanej polityki aplikacja działa w wydzielonej "paskownicy" ("sandbox", "playground" lub "secure cache"). W zależności od ustalonych reguł, czynności programu mogą być uznawane jako naruszenie polityki bezpieczeństwa. Wówczas niepożądana czynność jest blokowana.

Główną korzyścią mechanizmu blokowania zachowań jest według jego zwolenników możliwość rozróżniania "dobrych" i "złych" programów bez konieczności analizowania kodu przez profesjonalnego analityka wirusów. Ponieważ nie ma potrzeby bieżącej analizy każdego przypadku zagrożenia, nie jest również konieczna aktualizacja sygnatur wirusów. Dlatego, użytkownicy są chronieni przed nowymi zagrożeniami, jeszcze zanim się pojawią, i nie trzeba dokonywać tradycyjnej aktualizacji.

Jednak, zawsze istniały potencjalne wady analizy behawioralnej. Jeden z głównych problemów polega na tym, że istnieje "szara strefa" między czynnościami, które są zdecydowanie "złe", a takimi, które są legalne. To, co jest złe we wrogim programie, może być dobre w legalnym programie. Na przykład, zapis na dysku na niskim poziomie dokonywany przez wirusa, robaka lub trojana, na przykład w celu usunięcia danych z dysku twardego, przeprowadzany jest również legalnie przez system operacyjny. W jaki sposób mechanizm blokowania zachowań znajdujący się na serwerze plików może rozpoznać, czy modyfikacja (lub usunięcie) dokumentu jest przeprowadzana legalnie przez użytkownika, czy też jest wynikiem wrogiego programu umieszczonego na zainfekowanym komputerze użytkownika? Przecież wirus. czy robak jest jedynie programem, który tworzy własne kopie. Poza tym, może on robić to, co robi każdy normalny program. W rezultacie, zdefiniowanie reguł na określenie czegoś jako "złe" może okazać się bardzo trudne. Istnieje oczywiście ryzyko fałszywych alarmów, flagowania aplikacji lub procesu jako "złych", gdy w rzeczywistości są legalne. Ryzyko zwiększa się ze wzrostem liczby programów typu spyware, adware, dialer i innych "niechcianych", ale nie będących wirusami programów.

Istnieje jeszcze inny potencjalny problem. Jeśli zainstalowany jest mechanizm blokowania zachowań, użytkownik może decydować, czy uruchomiony alarm jest istotny, czy nie. Jednak, wielu użytkowników nie posiada odpowiedniej wiedzy, aby zdecydować, czy program może kontynuować działanie. Mogą oni nawet nie zrozumieć alarmu. Istnieją w tym przypadku dwie możliwości. Pierwsza: użytkownik, który nie potrafi rozróżnić legalnego działania od niebezpiecznej operacji wciska po prostu "OK" - i robi to później za każdym razem. Gdy alarm wskaże na rzeczywistego wirusa, użytkownik również wciśnie "OK" ... i wirus prześlizgnie się przez sieć! Druga możliwość: wydział IT firmy nękany nieustannymi pytaniami użytkowników, wyłącza w końcu mechanizm blokowania zachowań.

Jednym ze sposobów na całkowite obejście tego problemu jest zastosowanie analizy behawioralnej w bramie internetowej, zamiast na stacji roboczej. Dzięki temu, to dział IT firmy, a nie zdezorientowani użytkownicy nierozważni użytkownicy końcowi, będzie decydował, co jest podejrzane. Należy jednak zauważyć, że podczas gdy wiadomości e-mail są powszechnym źródłem infekcji (88% respondentów w przeprowadzonym w 2003 r. sondażu ICSA Computer Virus Prevalence Survey zgłosiło infekcję przez wiadomość e-mail), nie jest to jedyne źródło. Poza tym, nie wszystkie zagrożenia przenikają przez bramę internetową.

Systemy zapobiegające włamaniom (IPS) można uznać za następców technik analizy behawioralnej, które zostały omówione wcześniej. Jednak, niektóre z tych systemów oferują również wykrywanie oparte na sygnaturach.

Systemy IPS przeznaczone do ochrony pulpitów i serwerów, zwykle stosują do wykrywania złośliwego kodu analizę behawioralną. Dokonują tego przez monitorowanie wszystkich wywołań systemu i dopasowanie ich do polityki opartej na "normalnym" zachowaniu. Polityka ta może być bardzo szczegółowa i zachowanie może być stosowane do określonych aplikacji. W ten sposób, takie czynności jak otwieranie portów w systemie, skanowanie portu, próby zwiększenia uprawnień w systemie oraz umieszczenie kodu do bieżących procesów, mogą być zablokowane jako anormalne zachowanie. Niektóre systemy IPS uzupełniają analizę behawioralną o wykorzystanie sygnatur znanych wrogich kodów.

Systemy IPS oparte na sieciach filtrują pakiety w poszukiwaniu złośliwego kodu, poszukując zastosowania anormalnej szerokości pasma lub niestandardowego ruchu (np. niewłaściwe pakiety). System IPS oparty na sieci jest szczególnie użyteczny w wychwytywaniu ataków DoS lub ruchu wygenerowanego przez robaki sieciowe.

Producenci systemów IPS twierdzą, że technologie te oferują skuteczną ochronę przed tak zwanymi atakami 'zero-day' wykorzystującymi luki, które są nieznane lub, na które nie istnieje żadna łata. W przeciwieństwie do systemów wykrywania włamań (IDS), które powiadamiają o anormalnej czynności, system IPS potrafi blokować złośliwy kod. Oznacza to, że niewielu producentów systemów IPS twierdziłoby, że oferują produkt zastępujący tradycyjną ochronę antywirusową. Określają raczej swój produkt jako rozwiązanie uzupełniające.

Jednym z kluczowych problemów z systemami IPS, podobnie jak w przypadku starszych systemów analizy behawioralnej, jest ryzyko fałszywych alarmów. Aby zminimalizować ryzyko, większość z nich wyposaża produkt w tryb uczenia się, który pozwala na stworzenie obrazu "normalnego" zachowania w określonym środowisku. Wadą tego podejścia jest konieczność precyzyjnego dostrojenia, co pociąga za sobą znacznie większe obciążenie administracyjne niż w przypadku tradycyjnej ochrony antywirusowej.

Poza tym, podobnie jak tradycyjny skaner oparty na sygnaturach, system IPS wymaga periodycznej aktualizacji. Należy pamiętać, że systemy IPS obsługują one określone typy zagrożeń. Ponieważ ciągle pojawiają się nowe rodzaje zagrożeń, mechanizm blokowania zachowań nie będzie w stanie wykryć wrogiego programu, który stosuje nową metodę ataku, dopóki nie zostanie uaktualniony.

Osobista zapora ogniowa stanowi kolejny sposób monitorowania i blokowania niechcianego ruchu. Osobista zapora ogniowa, jak sugeruje nazwa (w przeciwieństwie do tradycyjnej zapory ogniowej) instalowana jest na stacji roboczej lub serwerze. Działa jak typowy "nadzorca ruchu" kontrolując ruch wejściowy lub wyjściowy na komputerze, zezwalając na połączenia lub blokując je na podstawie predefiniowanych reguł. Osobiste zapory ogniowe pełnią dwie funkcje. Z jednej strony, zapewniają filtrowanie aplikacji. Oznacza to, że umożliwiają ustalenie reguł dla powszechnie używanych aplikacji, takich jak przeglądarki, komunikatory internetowe i inne. Osobiste zapory ogniowe zapewniają również filtrowanie pakietów. Analizują transfery danych (nagłówki, zastosowany protokół, porty, adresy IP itd.) i filtrują pakiety na podstawie ustalonych reguł.

Podobnie jak w przypadku systemów IPS, zadaniem osobistych zapór ogniowych jest ochrona przed atakami mającymi na celu kradzież poufnych informacji, robakami sieciowymi i złośliwym kodem, który próbuje zamienić komputer ofiary w "maszynę zombie" i wykorzystać go do ataków spamerskich lub dystrybucji szkodliwego kodu.

Zaletą osobistej zapory ogniowej jest to, że nie wykorzystuje ona wyłącznie sygnatur znanych zagrożeń, ale oferuje ochronę przed atakami nieznanego złośliwego kodu. Jej wadą jest konieczność dokładnego dostrojenia, tak aby mogła "nauczyć się", co jest "normale" lub "dopuszczalne" dla określonego środowiska.

Jak dotąd przyjrzeliśmy się zmieniającym się zagrożeniom i niektórym technologiom postrzeganym jako alternatywy tradycyjnych skanerów opartych na sygnaturach. Jednak, należy pamiętać, że każda następna generacja złośliwego kodu zmieniała krajobraz i programy antywirusowe ciągle ewoluowały, aby móc sprostać nowym typom zagrożeń. W tym sensie, nie istnieje coś takiego jak "tradycyjna" ochrona antywirusowa.

Na początek należy zaznaczyć, że programy antywirusowe nigdy nie były "całkowicie" oparte na sygnaturach. Na początku, gdy wirusy można było policzyć w dziesiątkach, a nie dziesiątkach tysięcy, techniki generowania sum kontrolnych stanowiły podstawowy element obrony. Wykrywanie wirusów polimorficznych zawsze wymagało użycia dodatkowych technik, włącznie z analizą kodu i emulacją procesora.

Od ponad dziesięciu lat do wykrywania nowych, nieznanych zagrożeń stosowana jest analiza heurystyczna. Polega ona na sprawdzaniu kodu w pliku (lub innym obiekcie), aby ustalić, czy nie zawiera on instrukcji przypominających wirusy. Jeśli liczba instrukcji przypominających wirusy przekracza predefiniowany próg, obiekt określany jest jako potencjalne zagrożenie, a program sugeruje przesłanie go do dalszej analizy. Analiza heurystyczna została dopracowana w ciągu lat i daje pozytywne wyniki w wykrywaniu nowych zagrożeń. Oczywiście, jeśli heurystyka nie jest dobrze dostrojona, istnieje ryzyko fałszywych alarmów. Dlatego, producenci oprogramowania antywirusowego, którzy wykorzystują w swoich produktach heurystykę, w celu zminimalizowania ryzyka fałszywych alarmów zmniejszają jej czułość. Wielu producentów w domyśle wyłącza heurystykę. Inną wadą heurystyki jest to, że można ją zastosować jedynie do wykrywania zagrożeń. Aby móc je usunąć, trzeba wiedzieć, w jaki sposób dany wirus, robak, czy trojan zmienił zainfekowany obiekt.

W ciągu ostatnich lat kilku producentów oprogramowania antywirusowego stworzyło metody generyczne służące do wykrywania i usuwania nieznanych zagrożeń. Punktem wyjścia jest fakt, że "skuteczne" zagrożenia (oczywiście z perspektywy twórców złośliwych programów) często kopiowane są przez innych, lub dopracowywane przez samych autorów. W rezultacie, powstaje cała masa wirusów, robaków, czy trojanów - każdy z nich jest oddzielnym tworem, ale wspólnie tworzą jedną rodzinę. W wielu przypadkach, liczba wariantów może być rzędu dziesiątek, a nawet setek. Wykrywanie generyczne polega na stworzeniu definicji wirusa, która pozwala na identyfikację wszystkich zagrożeń należących do tej samej rodziny. Tak więc, gdy pojawi się NowyWirus, definicja stworzona do jego wykrycia będzie mogła być z powodzeniem wykorzystywana do wykrywania innych wirusów, takich jak NowyWirus.b, NowyWirus.c, NowyWirus.d itd. Techniki te można rozszerzyć na wykrywanie kodu exploita wykorzystywanego przez wirusa lub robaka. Oczywiście, wykrywanie generyczne nie gwarantuje znalezienia wszystkich wariantów należących do rodziny. Mimo to, wielu producentów oprogramowania antywirusowego uzyskało dzięki niemu bardzo dobre rezultaty.

Ostatnio, producenci oprogramowania antywirusowego zaczęli poszukiwać dodatkowych technologii mających na celu zwiększenie wykrywalności nowych, nieznanych zagrożeń. Należą do nich analiza behawioralna, systemy IPS i osobiste zapory ogniowe. W niektórych przypadkach, producenci nabywają technologie opracowywane przez firmy trzecie. Inni sami tworzą nowe technologie. Obecnie, większość producentów sprzedaje technologie niezależnie, chociaż integracja tych wszystkich, różnych metod została już zapoczątkowana i trend ten będzie kontynuowany. Prawie na pewno producenci oprogramowania antywirusowego będą oferować pojedyncze produkty zawierające uzupełniające się technologie przeznaczone do walki z nowymi zagrożeniami, które nie wymagają konkretnych sygnatur. Technologie takie jak analiza behawioralna, systemy IPS i osobista zapora ogniowa nie wyczerpują możliwości. W ramach "holistycznego" rozwiązania coraz więcej producentów oprogramowania antywirusowego wyposaża swoje produkty w blokowanie spamu i innego rodzaju niepożądanych wiadomości oraz wykrywanie "niechcianych" programów (typu spyware, adware, dialer). To połączenie technologii w celu zablokowania złośliwego kodu odzwierciedla nowy trend widoczny w przypadku złośliwego kodu - swoisty "tygiel" wirusów, robaków i innego rodzaju złośliwego kodu. Jedna rzecz pozostaje bezsprzeczna. Wykrywanie oparte na sygnaturach będzie nadal stanowiło element ogólnego rozwiązania chroniącego przed atakami złośliwego kodu.