Dlaczego antywirus nie jest lekiem na całe komputerowe zło?

9 minut

Mam Avasta / Nortona / Eseta / Pandę / Bitdefendera / [tu wstaw nazwę dowolnego antywirusa], a więc mój komputer jest bezpieczny i nie mam się czego obawiać. Nic więcej nie jest mi potrzebne.

Czy aby na pewno?🤔

A co jeśli Twój program antywirusowy nie będzie wiedział czy dany plik jest szkodliwy dla Twojego komputera?

Tym razem postaram się Ci przedstawić dwa zasadnicze problemy jakie są związane z wirusami i antywirusami.

Dobra, to na początek dwa pytania, na które spróbujemy sobie odpowiedzieć w tym wpisie:

  • Jakie działają antywirusy?
  • Czy antywirusy chronią przed wszystkimi zagrożeniami?

Wzorem innych wpisów, będą dwa rodzaje odpowiedzi:

  • krótkie i bezpośrednie
  • dłuższe dla nerd-… *ekhem* bardziej zainteresowanych. Te standardowo będą oznaczone symbolem 🤓 

Baza wirusów programu Avast została zaktualizowana…

Pamiętasz ten tekst, który można było słyszeć, gdy korzysta się właśnie z programu Avast? Zastanawiałeś się kiedyś czym jest baza wirusów i dlaczego została zaktualizowana? To jest właśnie jeden z dwóch sposobów działania programów antywirusowych, który opiera się na korzystaniu z bazy sygnatur stworzonych dla wirusów, które krążą sobie po internetach. 

Wtedy, antywirus skanuje pliki na Twoim komputerze i porównuje je ze swoją bazą. Dzięki temu sprawdza, czy plik jest wirusem i trzeba go zablokować, czy jest tylko zwykłym, niegroźnym plikiem, który można zignorować.

Co jakiś czas antywirus łączy się ze swoim serwerem i sprawdza, czy baza wirusów, którą posiada, jest taka sama, jak baza wirusów znajdująca się na serwerze. Innymi słowy, jeśli pomiędzy ostatnim takim zapytaniem pojawiły się nowe sygnatury wirusów, to żeby antywirus mógł je wykryć na Twoim komputerze, musi się o nich w jakiś sposób dowiedzieć – zaktualizować swoję bazę wirusów.

PS To, że antywirus aktualizuje bazę wirusów, nie oznacza, że przechowuje te wszystkie wirusy na Twoim komputerze. 😉

## 🤓Ok, dobra, ale co to jest ta cała baza wirusów? Czym są sygnatury? Jak to działa? ##

Twórcy programów antywirusowych zajmują się wykrywaniem wirusów jakie krążą w sieci (lub jakie mogą krążyć, ale o tym więcej kiedy indziej), a następnie korzystają z funkcji skrótu aby utworzyć hash takiego pliku, który jest wirusem. Pamiętasz czym jest hash? Jeśli nie, to szerszą definicję znajdziesz w Cybersłowniku, o tu → Hash / funkcja skrótu

W skrócie (he he, widzisz to? w skrócie o funkcji skrótu he he), jeśli jakiś plik jest złośliwym oprogramowaniem, to twórcy antywirusa tworzą skrót takiego pliku i dodają go do bazy wirusów. To właśnie sygnatura wirusa.

Jaki to ma związek ze skanowaniem przez antywirusa Twojego komputera? Otóż taki, że w trakcie skanowania, program antywirusowy porównuje hash każdego z plików znajdujących się na Twoim komputerze, z wbudowaną listą hash’y wirusów. Dzięki temu, może bardzo szybko wykryć jakiekolwiek zagrożenie, jakie znajduje się na Twoim komputerze. W trakcie skanowania antywirus nie musi zatem otwierać i zamykać każdego pliku na Twoim komputerze, bo jeśli by tak zrobił, to prawdopodobnie nie mógłbyś używać swojego komputera ze względu na zużycie zasobów (chociaż nie do końca, bo o tym za chwilę).

## Koniec części technicznej🤓 ##

W ten sposób działa większość współczesnych programów antywirusowych, a w szczególności tych bezpłatnych. Z jednej strony, mamy szybkość działania, a z drugiej strony pewien poziom ochrony.

Pamiętasz pewnie (a jeśli nie, to ponownie odsyłam do Cybersłownika i sekcji o funkcji skrótu), że podstawową cechą funkcji skrótu jest to, że dla TAKICH samych danych wejściowych, kreuje indywidualny ciąg znaków. Co oznacza, że najdorobniejsza zmiana w danych wejściowych, spowoduje zmianę hash’a. Ok, ale jaki to ma związek z wirusami? Odpowiedzi są logiczne, spójrz:

  • jeśli jako twórca wirusa minimalnie zmienię to, w jaki on działa, to wtedy antywirus opierający się na bazie wirusów go nie wychwyci podczas skanu, bo będzie miał inną sygnaturę
  • jeśli wirus nie będzie plikiem, to antywirus nie będzie w stanie porównać jego skrótu.

Dlatego, jeśli masz zainstalowanego antywirusa, który korzysta z bazy sygnatur, to super-ekstra istotne jest żeby ta baza była cały czas aktualizowana. Najlepiej jak najczęściej, dlatego że twórcy wirusów nie śpią.

I tutaj przechodzimy do drugiego typu antywirusów, czyli…

Powiedz mi co robisz, a powiem Ci jakie masz intencje…

Drugi rodzaj antywirusów opiera się na bieżącej analizie jak działa jakiś program i ocenie, czy jest on złośliwy czy nie. As simple as that. Innymi słowy, tego rodzaju antywirusy “uruchamiają” każdy z plików / programów na Twoim komputerze w odseparowanym środowisku i sprawdzają jak on działa. Następnie korzystając ze sztucznej inteligencji – a ściślej, z uczenia maszynowego – oceniają czy jest to zagrożenie dla komputera. 

W ten sposób, antywirus jest w stanie nie tylko ustalić czy jakiś program ma złośliwy charakter, ale także będzie “pamiętał”, że to, co robi ten program jest niebezpieczne. Jeśli zatem w przyszłości pojawi się inny program, który częściowo chociażby będzie podobnie zbudowany, to antywirus go wykryje i zablokuje. Sprytnie prawda? 

Taki sposób ochrony komputera przed wirusami jest niestety wolniejszy ze względu na to, że analizuje każdy z plików i sprawdza jego działanie. Mamy zatem większy poziom ochrony, ale mniejszą przepustowość.

Jakie jest zatem idealne rozwiązanie? Nie ma. Serio, nie ma idealnego rozwiązania na walkę z wirusami. Są po prostu mniej lub bardziej efektywne, mniej lub bardziej zasobożerne. Jednak powiem tak – jeśli masz możliwość żeby Twój program antywirusowy działał w obu trybach, które tutaj opisałem to… JUST DO IT. Wtedy ochrona będzie o wiele wydajniejsza i pełniejsza niż tylko, gdy będziesz korzystał z jednego trybu.

Jest jeszcze jedna, drobna, mała, tyci-tyci rzecz, która jednak powoduje, że ANTYWIRUSY SĄ BEZUŻYTECZNE……. Wspomniałem to dyskretnie trochę wcześniej. A mianowicie jeśli wirus nie jest wirusem. 

Złap mnie jeśli potrafisz!

Otóż to, a co jeśli zagrożenie dla komputera nie jest wirusem? Co jeśli zagrożenie podszywa się pod istniejący program? Co jeśli niebezpieczny plik, nie jest plikiem?

I tooooo jest temat rzeka, któremu będę chciał poświęcić inny artykuł (albo pewnie nawet więcej niż jeden), ale tutaj spróbuję chociaż zarysować problem.

Wirusy komputerowe, są trochę jak wirusy w ciele człowieka (czy innego organizmu). Są pewnym tworem, który ma określone zadanie – przeżyć. Wirus komputerowy też ma przeżyć, ale przede wszystkim ma zrobić coś jeszcze. Czasami będzie to kradzież danych, czasami zaszyfrowanie danych, czasami ich usunięcie, a jeszcze innym razem wyświetlanie Tobie większej ilości reklam żeby ich twórca mógł na tym zarabiać.

Jaka jest jeszcze cecha podobna pomiędzy wirusem komputerowym a wirusem w organizmie? Jedno i drugie mutuje, adaptuje się z czasem do środowiska w którym żyje. Co prawda “klasyczny” wirus komputerowy tego nie robi sam z siebie, bo robi to twórca tego wirusa ulepszając go co jakiś czas.

Dobrze, ale czym w takim razie jest “klasyczny” wirus? 

Jest niczym innym jak programem (kodem, instrukcją dla komputera co zrobić) tak jak program do pisania czy odczytywania dokumentów, tak jak program do słuchania muzyki, tak jak program do przeglądania internetów. To oznacza, że jest on względnie “stały” dopóki go się nie zaktualizuje, tak jak każdego innego programu.

I tutaj właśnie wchodzi ta kwestia, którą zarysowałem na początku tej sekcji – co jeśli wirus nie będzie “klasycznym” wirusem? Co jeśli będzie sam “mutował”? Co jeśli zagrożeniem nie jest w ogóle wirus?

Są bowiem takie wirusy, które nazywają się wirusami polimorficznymi, które posiadają zdolność samoczynnego “przepisywania” swojego kodu.

🦝 Ciekawostka od Szopa! 🦝

ChatGPT był w stanie ostatnio napisać wirusa polimorficznego. Sztuczna Inteligencja pisze swoje własne wirusy!*

*Oczywiście nie napisał tego “sam” z siebie, tylko nakłonili go do tego programiści.

Innymi słowy, nadal będzie robił “to samo”, czyli infekował Twój komputer, ale będzie robił to za każdym razem inaczej. I tutaj pojawia się problem antywirusów bazujących na sygnaturach – jeśli bowiem wirus zmienia swój kod, to zmienia swoją sygnaturę, a więc… Antywirus go nie wykryje.

Dodatkową cechą wirusów polimorficznych jest to, że często ich kod jest zaciemniony lub nawet zaszyfrowany. Uuu, zaciemniony. 💀💀💀 Brzmi tajemniczo, prawda? 

Zaciemniony, to nic innego jak zmiana semantyki kodu, przy jednoczesnym pozostawieniu jego sensu. Nie jest to potrzebne do zrozumienia jego sposobu działania, ale jeśli Cię to interesuje, odsyłam do tego artykułu na Wikipedii.

Wirusy, te żywe, też mutują. Wszyscy jeszcze pamiętamy mutację SARS-CoV-2, który każdego miesiąca miał nowe odmiany. Te komputerowe też tak robią, nie są wyjątkiem.

Poza tym, mamy też zagrożenia, które nie są ściśle związane z wirusami, tylko z innymi formami zainfekowania naszego urządzenia, np. konie trojańskie (czyli programy, które “podłączają” się pod prawdziwy program i kradną dane. Patrzę na Ciebie RemoteAccess Troian). Chociaż z tymi akurat wszystkie antywirusy sobie radzą nawet-nawet.

Mamy też rootkit’y, czyli programy, które zagnieżdżają się głęboko w naszym komputerze i są praktycznie niewykrywalne przez antywirusy, bo ich zakres działania tam nie sięga. 

Mamy też takie zagrożenia jak… phishing. Większość antywirusów nie wykryje maila, który spróbuje wyłudzić od Ciebie dane. 

Jak widzisz, tych zagrożeń jest wiele. Ale właśnie od tego jest ten blog, żebyś mógł znaleźć podstawowe informacje na ich temat i dowiedzieć się na co zwracać uwagę.

Jakie leki zatem powinniśmy brać żeby chronić się przed tymi innymi zagrożeniami? Tymi innymi wirusami? 

Odpowiedzi jest wiele i będziesz je stopniowo znajdować na tym blogu, ale w tym miejscu, skoro jest to wpis o antywirusach to na pewno lekiem jest:

korzystanie z antywirusa

Ale jakiego? – zapytasz

Adekwatnego. – odpowiem.

A tak na serio, już jakikolwiek antywirus jest wartością dodaną. Najlepiej jednak korzystać z takiego, który jest kombinacją klasycznego antywirusa bazującego na sygnaturach, ale także potrafiącego analizować kod w czasie rzeczywistym. Takie antywirusy o wielu funkcjach najczęściej nazywane są “antywirusami następnej generacji” (z ang. next-gen antivirus).

Czy czegoś jeszcze powinniśmy zatem używać? – ponownie zapytasz.

Tak. – ponownie odpowiem.

Dla bezpieczeństwa warto korzystać z wtyczek do przeglądarek blokujących reklamy (bo one mogą prowadzić do stron pobierających wirusy). Przy czym – z punktu widzenia prywatności tego typu wtyczki są wątpliwe, dlatego że gdy z niej korzystasz, to dajesz jej (a właściwie jej twórcy) dostęp do odczytywania stron (WSZYSTKICH STRON) na które wchodzisz. I to jest miejsce w którym trzeba sobie zadać pytanie: prywatność, czy bezpieczeństwo? (Psst, będzie osobny wpis o wtyczkach. Kiedyś…Jeszcze nie wiem kiedy… Ale będzie!).

Do tego, żeby być bezpieczniejszym można dodać pewne strony do zablokowanych z poziomu protokołu DNS (o tym, czym jest DNS, możesz przeczytać w moim Cybersłowniku o TUUUU).

Dodatkowo, powinniśmy instalować programy TYLKO z legalnych i pewnych źródeł, najlepiej prosto od producenta. Aczkolwiek z tym jest ostatnio problem i pojawia się masa ataków podszywających się pod twórców różnych programów i np. jeśli chcesz znaleźć konkretny program w wyszukiwarce to… najpierw mogą wyświetlić Ci się podstawione reklamy, a nie te prawdziwe. Przerażające, prawda? Możesz o tym poczytać na Sekurak’u tutaj i tutaj.

To tylko część sposobów na to, jak zachować kontrolę nad swoimi danymi i chronić się przed zagrożeniami. W miarę rozwoju tej strony, będziesz mógł znaleźć dużo więcej porad i sugestii. Postaram się też żeby w każdym przypadku poinformować Cię jaki wpływ na Twoją prywatność ma korzystanie z danego narzędzia.

PS Pamiętaj, że smartfon / tablet to taki mniejszy komputer, wiesz co to oznacza, prawda? Tak, to oznacza, że warto na nim również mieć antywirusa.