4. ZŁOŚLIWE OPROGRAMOWANIE I ANTYWIRUS

4.6. Jak działa program antywirusowy

Oczywiście pierwszym krokiem będzie instalacja, ale oprócz tego i po zainstalowaniu, program antywirusowy zaczyna od sprawdzenia komputera lub serwera, na którym jest zainstalowane, pod kątem programów i plików względem bazy danych znanych typów malwares. Ponieważ codziennie powstają nowe wirusy i zawsze są rozpowszechniane przez hakerów, narzędzie antywirusowe skanuje również urządzenie pod kątem możliwości wystąpienia nowych lub nieznanych zagrożeń i infekcji.

Zazwyczaj większość programów pracuje na trzech różnych trybach wykrywania, z których pierwszy to wykrywanie specyficzne, gdzie identyfikuje znane złośliwe oprogramowanie; drugi to wykrywanie ogólne, które szuka znanych części lub typów złośliwego oprogramowania lub wzorców, które pokazują związek przez wspólną bazę kodową; a trzeci skupia się na wykrywaniu heurystycznym, skanując w poszukiwaniu nieznanych wirusów i infekcji poprzez identyfikację znanych podejrzanych struktur plików. Gdy program znajdzie plik zawierający wirusa, zwykle umieszcza go w kwarantannie i oznacza do usunięcia. W procesie kwarantanny możliwa jest ocena zachowania pliku i określenie, czy należy go usunąć z urządzenia.

Ważne jest jednak, aby zrozumieć, że nawet program antywirusowy jest w stanie chronić system lub sieć, w której jest zainstalowany, nie jest w stanie chronić go przed wszystkimi rodzajami złośliwego oprogramowania. Aby lepiej to zrozumieć, należy zdać sobie sprawę, że istnieją dwa różne sposoby identyfikacji złośliwego oprogramowania przez oprogramowanie antywirusowe: wykrywanie sygnatur i wykrywanie zachowań. Podobnie jak systemy IDS i IPS, również narzędzia antywirusowe skupiają się na dwóch różnych podejściach, wykorzystując znane podatności oraz sygnatury i zachowania infekcji.

Jeśli chodzi o wykrywanie sygnatur, można je postrzegać, po raz kolejny, jak układ odpornościowy człowieka, gdzie skanuje on ciało (komputer) w poszukiwaniu specjalnych cech lub sygnatur programów, o których wiadomo, że są związane ze złośliwym kodem, infekcjami lub zagrożeniami. Robi to odwołując się do słownika znanych złośliwych programów, opracowanego na podstawie znanych sygnatur. Jeśli coś w systemie pasuje do wzorca obecnego w bazie, program próbuje to zneutralizować, poddając kwarantannie lub po prostu usuwając. Co więcej, i znów nawiązując do ludzkiego układu odpornościowego, słownik czy baza danych wymaga aktualizacji. Tak jak w zdrowiu ludzkim szczepimy się lub bierzemy tabletki z lekami, tak w komputerach aktualizacje są kluczowe dla utrzymania odpowiedniego poziomu ochrony. Dzięki tym aktualizacjom narzędzia antywirusowe rozpoznają nowe i dotąd nieznane złośliwe oprogramowanie, zagrożenia i luki.

Oprogramowanie antywirusowe może jedynie chronić system przed tym, co uznaje za szkodliwe, problem w tym, że cyberataki stale rosną i są przeprowadzane w bardziej wyrafinowany sposób każdego dnia. Ewolucja nowych exploitów i ataków jest tak duża, że producenci oprogramowania antywirusowego muszą uciekać przed czasem, aby móc nadążyć za ciągłym zapotrzebowaniem na ochronę. W rezultacie, bez względu na to, jak niedawno program antywirusowy został zaktualizowany, zawsze pojawia się jakieś nowe złośliwe oprogramowanie, które może ewentualnie obejść oprogramowanie antywirusowe i narzędzia antymalware.

Skupiając się na wykrywaniu zachowań, antywirus nie próbuje zidentyfikować znanego złośliwego oprogramowania, tak jak robi to w przypadku podejścia opartego na wykrywaniu sygnatur. Zamiast tego monitoruje zachowanie oprogramowania zainstalowanego na maszynie, którą antywirus chroni. Aby prawidłowo wytrenować narzędzie antywirusowe, konieczne jest, aby oprogramowanie posiadało wiedzę na temat tego, jak wygląda normalne zachowanie monitorowanego przez nie oprogramowania. Następnie, gdy program zachowuje się w podejrzany sposób, np. próbuje uzyskać dostęp do chronionego pliku lub modyfikuje inny program, antywirus oparty na zachowaniu dostrzeże podejrzaną aktywność i ostrzeże o niej użytkownika, umożliwiając mu podjęcie odpowiednich działań w obliczu zagrożenia. Takie podejście jest szczególnie skuteczne w ochronie systemu przed nowymi rodzajami złośliwego oprogramowania, które nie istnieją jeszcze w słownikach czy bazach danych i których sygnatury nie zostały jeszcze odkryte ani udokumentowane. Problemem jest jednak to, że takie podejście może zwiększyć liczbę fałszywych ostrzeżeń. Jako użytkownik komputera może nie mieć pewności co do właściwego działania w przypadku takich fałszywych alarmów, co umożliwia nieprawidłowe zezwolenie na działania. Ponadto w przypadku dużej liczby ostrzeżeń użytkownik może ulec pokusie zezwolenia na wszystkie, pozostawiając komputer otwarty na ataki i infekcje. Ponadto, do czasu wykrycia zachowania, również złośliwe oprogramowanie najprawdopodobniej zostało już uruchomione w systemie, co sprawia, że użytkownik nie ma pewności co do działań, jakie podjęło złośliwe oprogramowanie, zanim zostało ono zidentyfikowane przez oprogramowanie antywirusowe.

Antywirus jest ważnym elementem zabezpieczenia komputera, systemu, sieci lub urządzenia mobilnego i jest zalecany przez większość naukowców i badaczy tej dziedziny. Kluczową kwestią jest jednak to, że niezależnie od rodzaju i marki oprogramowania antywirusowego, nie jest ono w stanie ochronić systemu przed wszystkimi rodzajami złośliwego oprogramowania.