Wirusy komputerowe to plaga dzisiejszego zinformatyzowanego społeczeństwa. Na dźwięk ich nazw nie tylko zwykli użytkownicy, ale przede wszystkim właściciele ogromnych instytucji czują ciarki chodzące po plecach. Niestety, popularność Internetu jest rajem dla hakerów zajmujących się pisaniem wirusów komputerowych. Zaryzykuję stwierdzenie, że każdy lub prawie każdy użytkownik komputera przyłączonego do Internetu miał styczność z wirusem w swoim własnym systemie. Niestety, chociaż wiemy, że wirusy są niebezpieczne, nadal nie znamy dokładnej zasady działania tych mini programów komputerowych. Nie mamy dostępu do rzetelnych informacji, które uświadomiłyby w sposób przystępny czym tak naprawdę są wirusy komputerowe i jaka jest ich klasyfikacja. Dlatego chcę w tej pracy podnieść nieco świadomość Czytelników co do tego jakże ważnego dla naszych komputerów tematu.
Czym tak naprawdę jest wirus?
Wirusy komputerowe to tak naprawdę świetnie napisane małe programy komputerowe. Charakteryzują się tym, że wykonują się zwykle bez wiedzy użytkownika systemu i "zarażają" go, czyniąc niezdatnym do użycia, lub wyrządzają inne krzywdy użytkownikom komputerów. Najczęściej łupem wirusa stają się pliki wykonywalne, jednostki alokacji plików a także sektor startowy. Obecnie nawet dokumenty pakietów biurowych nie są wolne od wirusów.
Ogólnie wyróżnia się cztery zasadnicze typy wirusów:
- Wirusy, nazwijmy je "ogólne", czyli małe programy wykonywane razem z zainfekowanym plikiem.
- Konie trojańskie, które zwykle są ukryte wewnątrz innych programów, najczęściej bardzo pożytecznych. Zdarza się, że konie trojańskie siedzą nawet wewnątrz kodu programów antywirusowych. Kiedy odpalimy program, który przyniósł ze sobą konia trojańskiego, wykonywany jest także kod konia, który można porównać tylko do podstępnego ataku Greków na Troję, stąd nazwa tego typu wirusa.
- Bomby logiczne są wirusami, które często długi czas pozostają w stanie uśpienia czy letargu. Kiedy zajdzie odpowiedni warunek, bomba logiczna uaktywnia się, dokonując spustoszenia w systemie. Zapalnikiem takiej bomby może być na przykład dostatecznie długi okres "zimowania" w systemie, określona data, a także jakieś działanie podjęte przez użytkownika, na przykład próba otworzenia konkretnego katalogu, czy usunięcie konkretnego pliku.
- Robaki (z angielskiego "worms") to najbardziej niebezpieczne z wirusów, ponieważ nie potrzebują nosiciela, zatem nie infekują konkretnych plików, z którymi się roznoszą, ale podlegają ciągłej replikacji. Kod robaka rozprzestrzenia się w systemie bardzo szybko, niszcząc system od podstaw jak szarańcza. Oprócz tego niebezpieczeństwem jest także przyłączenie zainfekowanego robakiem komputera do sieci komputerowej, gdyż program robaka z łatwością paraliżuje pracę całej sieci.
Klasyfikacja wirusów i szczegóły ich działania
Najstarszym i jednocześnie najbardziej znanym typem wirusa jest tak zwany wirus plikowy. Wirus taki do rozmnożenia i przeniesienia się w inne miejsce potrzebuje nosiciela, jakim jest plik. Zwykle ataki tego typu wirusa są przeprowadzane na pliki wykonywalne o rozszerzeniach "exe' lub "com", a także pliki wsadowe, z rozszerzeniem "bat". W ostatnich latach technika pisania tego typu wirusów została poszerzona i na ataki mogą być także narażone pliki z fragmentami kodu, na przykład z rozszerzeniem "obj", pliki biblioteczne o rozszerzeniu "dll", czy też sterowniki urządzeń peryferyjnych, takich jak karty graficzne czy drukarki.
Zwykle wirusy plikowe dokonują replikacji poprzez dopisanie do kodu programu - żywiciela własnej sekwencji, wykonywanej razem z działaniem programu. Starsze wirusy plikowe dopisywały swoją sekwencję wykonywalną na końcu kodu programu, jednak przez to łatwiej było je wykrywać. Obecnie hakerzy doskonalą technologię tworzenia wirusów plikowych i umożliwiają im dopisywanie swoich sekwencji także na początku lub w środku programu. Kiedy uruchamiany jest plik zainfekowany, równocześnie uaktywniany jest kod wirusa, który zaczyna rozprzestrzeniać się w systemie.
Innym rodzajem wirusa jest tak zwany wirus sektora startowego dysku. W wypadku takiego wirusa zarażony jest sektor startowy pewnego nośnika danych, może to być twardy dysk, a także dyskietka zapisywalna. Na tego typu wirusy trzeba bardzo uważać. Niebezpieczeństwo polega na tym, że sektor startowy jest tym elementem dysku, gdzie załadowane są najważniejsze pliki związane ze startem systemu operacyjnego. Kiedy system jest uruchamiany, właśnie z sektora startowego pobierane są informacje o nim. Wirusy tego typu często uniemożliwiają w ogóle dostęp do dysku, ponieważ niszczą sektor startowy, w którym zapisane są informacje o alokacji plików na dysku. Ponieważ zawsze najpierw odpalany jest kod sektorów startowych, wirusy tego typu potrafią zacząć działanie jeszcze przed rozpoczęciem działania jakiegokolwiek oprogramowania antywirusowego, przez co tak łatwo jest im przejąć kontrolę nad systemem. Aby się uchronić przed takim wirusem nie należy nigdy odpalać systemu z niezbadanych dyskietek czy dysków.
Kolejnym typem wirusa jest wirus tablicy alokacji plików. Takie wirusy do rozprzestrzeniania się wykorzystują tablice alokacji danych na dysku. System operacyjny działający z tablicą FAT szuka w tablicy numeru pierwszej jednostki alokacji pliku a następnie wczytuje do pamięci całość, zgodnie z rozmiarem pliku. Wirus aby zostać zalokowanym do pamięci oszukuje tablicę alokacji plików i wstawia w kilku miejscach numer jednostki dyskowej, na której sam rezyduje. W ten sposób system szuka pliku, a wczytuje do pamięci wirusa. Często taki wirus odpala potem właściwy plik, tak by użytkownik nie zorientował się, że coś jest nie tak i że w jego pamięci operacyjnej zagościł wirus.
Bardzo młodą gałęzią rozwoju wirusów są tak zwane makrowirusy. Makro (lub makropolecenie) to zestaw rozkazów realizujący algorytm komputerowy przeznaczony do wykonywania przez określoną aplikację (edytor, arkusz kalkulacyjny, program graficzny) zwykle w celu automatyzacji pewnych czynności lub dokonania zmian w dokumentach bez interakcji z użytkownikiem. Makra pisane są zwykle w skryptowych językach programowania wykonywanych przez interpreter wbudowany w aplikacje, w których są uruchamiane. Takie makro to raj dla wirusów, które chętnie zagnieżdżają się właśnie w takich niewielkich fragmentach kodu. Zwłaszcza program Microsoft Word jest szczególnie narażony na ataki makrowirusów.
Skutki zainfekowania wirusami
Różne wirusy mają różne skutki swojego działania. Istnieją wirusy, które tylko "psocą": wysuwają CD-ROM, albo wypisują coś na ekranie. Inne wirusy, takie jak robaki, mogą w systemie wyrządzić bardzo dużo szkód. Robaki zjadają zasoby systemowe, często doprowadzając do zawieszenia się systemu. Najbardziej niebezpieczne są wirusy, które blokują dostęp do dysków, niszczą dane, a nawet są w stanie fizycznie uszkodzić karty rozszerzeń, procesor lub płytę główną.
Inną sprawą są teoretycznie nieszkodliwe wirusy, napisane przez domorosłych hakerów, którzy popełniają błędy w kodzie źródłowym. Jak każdy źle napisany program taki wirus może wyrządzić sporo szkód.
Metody obrony
Nie ma innego sposobu obrony przed wirusami jak zainstalowanie i codzienna aktualizacja dobrego pakietu programów antywirusowych. Niestety, w dzisiejszej różnorodności wirusów zwykle pojedynczy program nie wystarcza, jednak większość znanych programów antywirusowych składa się przede wszystkim z takich elementów, jak:
- Skaner antywirusowy, tak zwany "ręczny". Dzięki temu komponentowi możliwe jest skanowanie i sprawdzanie każdego pliku w momencie, który użytkownik uzna za stosowne.
- Skaner rezydentny, czyli skaner, który przez cały czas działa w systemie i monitoruje wszelkie nowo przybyłe pliki. Taki skaner powinien wykryć wirusa już w momencie skopiowania na dysk zainfekowanego pliku. Skaner ten również monitoruje pocztę internetową oraz cały ruch plików z Internetu do komputera, na którym pracuje.
- Harmonogram działania. Dzięki niemu można zaplanować skanowanie całego systemu tak, by nie przeszkadzało to w pracy. Taki harmonogram może się wykonywać na przykład nocą, a w niektórych programach po jego zakończeniu program grzecznie wyłączy komputer.
- Moduł do aktualizacji automatycznej, dzięki któremu program jest zawsze "na czasie" jeśli chodzi o najnowsze zagrożenia i definicje wirusów.
Obecnie poza skanerem, monitorem i modułem do aktualizacji sieciowej pakiet antywirusowy zawiera często także zaporę sieciową, moduły kontroli przesyłek poczty elektronicznej i plików pobieranych z sieci, a poza wirusami chroni też ogólnie przed różnego rodzaju szkodliwym oprogramowaniem, oraz dba o ochronę prywatności danych użytkownika. Nieraz zawiera też narzędzia ułatwiające administrację większej ilości stanowisk (np. zdalna aktualizacja czy zgłaszanie zagrożeń administratorowi sieci), co przydaje się w zarządzaniu lokalnymi sieciami firm i organizacji. Dobry "antywirus" powinien wykrywać nie mniej niż 90-95 procent istniejących wirusów. Stale pojawiają się nowe, dlatego ważna jest możliwość szybkiej i częstej aktualizacji programu antywirusowego. Dobrze jest sprawdzić, jak często udostępniane są nowe bazy wirusów. Jeżeli jest to więcej niż dwa tygodnie, warto zainteresować się nowym programem. Dobrze jest też sprawdzić, czy działający stale w tle program (monitor) nie spowolni działania komputera. Jest to szczególnie ważne dla osób, które korzystają z nieco starszych urządzeń.
Mity na temat wirusów, czyli co jest bezpieczne
Wiemy już, na co trzeba uważać, jednak wielu użytkowników nadal posiada zbyt "ostrożne" podejście do wirusów. Przede wszystkim należy pamiętać, ze nie można się zainfekować czytając pocztę elektroniczną. Dopiero załączniki do poczty mogą zawierać wirusy. Tak samo przeglądanie stron internetowych jest bezpieczne, ponieważ do dziś nie ma możliwości, by zainfekować komputer poprzez cookies, czyli jedyne pliki, które mogą być zapisane na dysku przy przeglądaniu stron. Bezpieczne są także aplety Javy, ponieważ uruchamiane są one w bezpiecznym "opakowaniu" zwanym maszyną wirtualną. Natomiast bardzo należy uważać na formanty ActiveX, które stanowią sporą furtkę dla wirusów i ich twórców.
Podsumowanie
Wirusy to zagrożenie, którego nie wolno lekceważyć. Jednak przesadne wpadanie w panikę na wieść o każdym nowym wirusem jest reakcją jak najbardziej przesadzoną. Należy oddzielać od siebie prawdziwe zagrożenia od plotek. Nie wierzmy w stwierdzenie, żeby nie otwierać emaili zatytułowanych "Blablabla", bo mogą one zniszczyć system. Maile nie niszczą systemu, dopiero otwarcie załącznika może tego dokonać. Należy jak najczęściej poszerzać swą wiedzę na temat wszelkich zagrożeń komputerowych, ponieważ im więcej wiemy o naszym wrogu, tym mniej groźny się wydaje.